Linux Exploits & Mitigation: Memory and Pointer Vulnerabilities


Overview/Description
Expected Duration
Lesson Objectives
Course Number
Expertise Level



Overview/Description
Memory and pointer vulnerabilities come from a number of common programmer mistakes. Being able to recognize, debug, and fix unsafe memory allocation and access errors is essential to avoiding vulnerabilities. In this course, you'll explore how memory and pointer vulnerabilities arise and how they lead to program errors and exploits. You'll look at how memory is allocated and accessed in a typical C program. You'll investigate what causes heap and stack overflows, use-after-free (UAF) vulnerabilities, and out-of-bounds access errors. In addition, you'll recognize dangling pointers, NULL dereferences, and off-by-one loops. Finally, you'll delve into how coding errors lead to corrupted memory and arbitrary code execution.

Expected Duration (hours)
1.2

Lesson Objectives

Linux Exploits & Mitigation: Memory and Pointer Vulnerabilities

  • discover the key concepts covered in this course
  • describe methods and goals for allocating memory
  • investigate what it means to overflow the heap
  • recognize and avoid dangling pointers in a C program
  • recognize and avoid null dereferences in a C program
  • investigate what it means to exploit the heap
  • illustrate use-after-free (UAF) vulnerabilities
  • recognize and avoid stack buffer overflows
  • describe the nature of out-of-bounds write vulnerabilities and their impact
  • recognize and avoid looping off-by-one in a C program
  • describe how coding errors and vulnerabilities lead to corrupting memory
  • illustrate how to execute arbitrary code introduced by coding errors
  • illustrate how out-of-bounds errors are exploited
  • summarize the key concepts covered in this course
  • Course Number:
    it_cylxexdj_04_enus

    Expertise Level
    Expert