Overview
Syllabus
Intro
Outline
Motivation
Runtime Attacks
Return-Oriented Programming (ROP) - Basic Idea
ROP Adversary Model/Assumptions
ROP Attack Technique: Overview
ROP Attack History - Selected
CFI Implementation based on Labels
Original CFI Proposal: Cons & Pros
Solution Proposals: "Coarse-Grained CFI" Making of practical for real-world deployment
General Idea
Heuristics: Reducing False Negatives
"Coarse-Grained" CFI Proposals
Policy 1: Call-Preceded Return Address
Policy 2: Chain of Short Sequences
Contribution
Taking the Most Restrictive Setting in Coarse Grained CFI
Our Methodology and Workflow
Turing-Complete Gadget Set in kernel32.dll
Turing-Complete Gadget Set (contd.)
Long NOP Gadget
EMET'S ROP Mitigations
Related Attacks
Real-World Exploitation
Conclusion and Future Work
Taught by
Black Hat