Overview
Syllabus
Intro
Constructing Primitives
Reality ...
Physical Heap Layout Optimisation (HLO)
Problem Setting & Restrictions
To Solve
Challenges
Heap Allocation Mechanisms and Policies
An Algorithmic Approach
Design Considerations
Experimental Setup
Noise
Experiments
Experimental Summary
Automatic HLO for Real Programs
Why a 'Skeleton'?
Identifying Available Interaction Sequences
Synthesising PHP Fragments
Fuzzing for Allocator Interactions
Fragmentation
Black Box Random Search for PHP
Finding Interesting Corruption Targets
Vulnerability Templates
Architecture
Vulnerability - Targeted Corruption
Evaluation
Takeaways
Taught by
Black Hat