Capturing 0Day Exploits With Perfectly Placed Hardware Traps
summary
Prototype enforces runtime CFI by using PMU+LBR traps to break on mispredicted indirect calls, reading LBR to get the true target, and consulting an on-load whitelist built from relocations, exports and callbacks in kernel ISR. Works on Linux and Windows after solving PatchGuard-safe interrupt registration and an APC-based thread tracking trick; hypervisors often lack required LBR events. Tests see 13–14M mispredicts on older cores (far fewer on Haswell/Skylake), ~10% typical overhead, and ~95% ROP detection (37/48) plus 100% for one flash technique.
AI-written summary · about
chapters (45)
- 0:00Intro
- 1:47Exploit Research
- 3:07Exploit Phases
- 5:28Hardware Assistance
- 5:59Performance Monitoring Unit
- 7:40Branch Prediction Unit
- 8:56Branch Prediction Logic
- 9:44Control Flow Integrity
- 10:59Control Flow Guard
- 12:47RealWorld Verification
- 13:28CFI
- 13:42Research Approach
- 15:55Comparison
- 16:43PMU
- 17:12Intel Manual
- 17:58The Problem
- 21:39Cyber Grand Challenge
- 22:24RealWorld Data
- 24:30Plotting Data
- 26:04Whitelisting
- 26:19Waitlist Generation
- 28:14Callback Registration
- 28:35Clearing Interrupts
- 29:02XC PIC vs X2 PIC
- 29:50Call Registry
- 30:08Thread Tracking
- 30:37Window Monitoring
- 31:10Synchronous Procedure Calls
- 32:08The Final Solution
- 32:44The Diagram
- 33:12Linux
- 33:35Results
- 35:45Performance
- 36:11Metasploit
- 36:48VirusTotal
- 37:08Analysis
- 38:35Case Studies
- 39:19Double Free Jscript
- 40:56Flash
- 41:48Hijack
- 42:41Future work
- 43:46Exploit defenses
- 46:05False positives
- 46:54Microcontroller architectures
- 47:17ARM
related talks
41mUsing Microarchitectural Design to Break KASLR and More
15mMemoryTrap: Booby Trapping Memory to Counter Memory Disclosure Attacks with...
42mCPU Fuzzing: Automatic Discovery of...
14mBranch Privilege Injection: Compromising Spectre v2 Hardware Mitigations by...
51mExploiting Hardware Glitches And Side Channels In Perfect Software
49mBypassing KPTI Using the Speculative Behavior of the SWAPGS Instruction
13mExploiting Inaccurate Branch History in Side-Channel Attacks
36mLost Control-Breaking Hardware-Assisted Kernel Control-Flow Integrity with Page-Oriented Programming
