Overview
Syllabus
Intro
NeXT, Apple, Weblogic, BEA Systems, Azul Systems
1 Introduce/Review Memory Corruption Bugs 2 A Post Fuzz Run Workflow 3 Real World Examples
Invalid Reads/Writes
Stack vs Heap Corruption
Use After Free
Other Memory Bugs
b: What is Exploitability?
Re-programming with input data- not code
Does "exploitability" matter?
Google Project Zero
Many modern exploits are bug chains
Surprisingly Exploitable
C-Ares / Chrome OS Remote Code Execution
Section 1c: Memory Corruption Mitigations
ASLR Address Space Layout Randomization
DEP Data Execution Prevention
Minimize the Corpus of Crashes
b: Memory Corruption Analysis Tools
Valgrind (memcheck)
Section 2c: Determine Exploitability / Find the Root Cause
Disable ASLR
Identify critical memory locations
PHP: Low invalid read
Netflix Dynomite: Invalid Write
Taught by
Linux Foundation