36C3 - KTRW: The journey to build a debuggable iPhone
- Title:
- 36C3 - KTRW: The journey to build a debuggable iPhone
- Description:
-
more » « less
https://media.ccc.de/v/36c3-10806-ktrw_the_journey_to_build_a_debuggable_iphone
Development-fused iPhones with hardware debugging features like JTAG are out of reach for many security researchers. This talk takes you along my journey to create a similar capability using off-the-shelf iPhones. We'll look at a way to break KTRR, a custom hardware mitigation Apple developed to prevent kernel patches, and use this capability to load a kernel extension that enables full-featured, single-step kernel debugging with LLDB on production iPhones.
This talk walks through the discovery of hardware debug registers on the iPhone X that enable low-level debugging of a CPU core at any time during its operation. By single-stepping execution of the reset vector, we can modify register state at key points to disable KTRR and remap the kernel as writable. I'll then describe how I used this capability to develop an iOS kext loader and a kernel extension called KTRW that can be used to debug the kernel with LLDB over USB.
Brandon Azad
https://fahrplan.events.ccc.de/congress/2019/Fahrplan/events/10806.html
- Video Language:
- English
- Duration:
- 54:52
C3Subtitles edited English subtitles for 36C3 - KTRW: The journey to build a debuggable iPhone | ||
C3Subtitles added new URL for 36C3 - KTRW: The journey to build a debuggable iPhone | ||
C3Subtitles added new URL for 36C3 - KTRW: The journey to build a debuggable iPhone | ||
C3Subtitles added a video: 36C3 - KTRW: The journey to build a debuggable iPhone |