Finding and Fixing Security Bugs in Flash
summary
Work over a year reduces Flash bug density from roughly one bug per day down to 1 bug per week by code review, IDA reverse engineering and mutation fuzzing (scan-and-mut8ate SWFs, add AC-filled frees to expose UAFs). Key mitigations actually implemented: vector checksum mitigation then iso-heap partitioning plus JIT-spray hardening and zero‑freeing; some exploit kits fail, others adapt using bytearray/bitmap or complex multi-stage payloads. Concrete examples: convolution-filter use-after-free, AVM serialization type confusion, movie-clip UAFs and a stack-uninitialized "park" bug; several mitigations stop some but not all real-world zero-days.
AI-written summary · about
chapters (54)
- 0:00Introduction
- 0:37Who am I
- 1:37Whats the problem
- 2:15The landscape
- 2:43The technical problem
- 3:50Todays topics
- 4:11Flash overview
- 4:55The problem
- 6:08Swift
- 7:21Actionscript
- 9:09Actionscript III
- 10:49Anticorpus
- 11:03Flash vulnerabilities
- 12:16My goal
- 12:35My current priority
- 13:51Exploit bugs
- 14:17How to find Flash bugs
- 14:29Code Review
- 14:52Convolution Filter
- 17:22Array Overflow
- 18:22Serialization
- 20:51Exception Bugs
- 22:47Type Confusion Bug
- 23:28Use After Free Bug
- 24:23Reverse Engineering
- 25:08After Freeze
- 27:06Early Conversion Example
- 27:45Fuzzing
- 29:53The Park Bug
- 30:40Generic Exploit Techniques
- 31:49Flash Exploits
- 32:42The Vector Class
- 33:28Use After Free
- 33:50Vector Mitigation
- 35:58ISO Heap
- 37:26OneDay
- 38:25Heap Overflow
- 39:16IO Heap 2
- 40:17Mitigations
- 40:33Unwatched bug
- 40:53String conversion
- 41:41ASLR
- 44:40Exception Handling
- 45:46contiguous buffer
- 46:26determine preferred locales
- 47:29palettemap
- 48:16second buffer
- 48:26trigger the bug
- 49:48virtual call
- 50:16zero day
- 51:36more complex exploits
- 53:15more difficult to find bugs
- 54:49Thank you Adobe
- 55:03Questions
related talks
40mThe Year in Flash
47mThe Art of Reverse Engineering Flash Exploits
51mWindows 10 Mitigation Improvements
17mNew Tool For Discovering Flash player 0-Day Attacks in the Wild from Various Channels
39mSoftware Security Engineering (Learnings from the past to fix ...)
50mFix The Damned Software
35m0-day In-the-Wild Exploitation in 2022...so far.
39mA landscape of unintended consequences
