Fried apples: Jailbreak DIY
Category: Vulnerability Research
Summary: In this talk we focus on challenges that Fried Apple team solved in a process of making untethered 9.0-9.3.x jailbreak. We will reveal the internal structure of modern jailbreaks, including low level details such as achieving jailbreak persistence, creating a patchfinder to support all device types and finally bypassing kernel patch protection.
We will cover a sequence of vulnerabilities and exploitation details that were used for initial arbitrary code execution, sandbox bypassing, kernel address leaking, arbitrary code execution in the kernel and finally persistent code signing bypass.
Current talk also covers various tools and techniques used in a process of making a jailbreak. This includes finding ROP gadgets, kernel patch lookup tools (patchfinders), kernel analyzers etc.
Another topic is how to build a jailbreak chain. In other words - how to put everything together to get final, simple to use jailbreak utility.
Finally we show a new exploit mitigations and security enhancements that Apple added in iOS 10, like KPP hardening, including hardware based patch protection in iPhone 7 and 7+, sandbox enhancements and a new heap management techniques.