Jailbreak Legacy

Low-Level Exploits: Anatomie eines Hacks

Von Userland-Bugs bis hin zu unpatchbaren BootROM-Glitches.

Ein Jailbreak ist nicht einfach ein Download. Er ist eine Kette (Exploit Chain) von Schwachstellen. In der Security-Research-Szene unterscheidet man streng zwischen der Tiefe des Exploits. Je tiefer der Hack greift, desto mächtiger ist er, und desto schwieriger ist es für Apple, ihn zu blockieren.

1. Userland Exploits & WebKit

Diese Exploits laufen auf der obersten Ebene (User-Space). Oft beginnen sie im Safari-Browser (WebKit). Ein Angreifer präpariert eine Website, die einen Heap-Overflow oder eine Type-Confusion im Browser-Speicher auslöst. Dadurch kann er beliebigen Code ausführen (Arbitrary Code Execution). Um jedoch das Gerät zu jailbreaken, muss er aus der "Sandbox" (dem Käfig der App) ausbrechen und eine Lücke im Kernel finden. Apple kann Userland-Exploits mit einem simplen iOS-Over-The-Air-Update sofort zerstören.

2. Kernel Exploits & KPP

Der Kernel ist der Kern des Betriebssystems. Hat man einen Kernel Exploit, kann man Lese- und Schreibrechte auf das gesamte System erlangen (tfp0 - task_for_pid(0)). Ab iOS 9 führte Apple jedoch KPP (Kernel Patch Protection) ein. KPP war ein Hardware-gestützter Wachhund, der ständig prüfte, ob der Kernel modifiziert wurde. Wenn ein Jailbreak den Kernel änderte, löste KPP eine Kernel-Panic aus und das Gerät startete neu (Reboot). Hacker mussten Techniken erfinden, um diesen Wachhund zu blenden oder im RAM schneller zu sein als die KPP-Prüfung.

3. Der Heilige Gral: BootROM Exploits

Der BootROM (Boot Read-Only Memory) ist der allererste Code, der ausgeführt wird, wenn der A-Chip des iPhones Strom bekommt. Dieser Code ist in das Silizium des Chips eingebrannt. Er ist unveränderbar. Finde eine Lücke hier, und Apple kann sie niemals per Software-Update schließen. Das Gerät ist für immer "pwned".

  • limera1n (GeoHot, 2010): Ein Exploit im USB-Control-Transfer des BootROMs. Betraf das iPhone 4 und iPod Touch 4G. Solange man einen PC anschloss, konnte man das Gerät immer jailbreaken.
  • checkm8 (axi0mX, 2019): Einer der größten Leaks der Apple-Geschichte. Ein Use-After-Free Exploit im DFU-USB-Stack des BootROMs. Dieser Exploit betraf hunderte Millionen Geräte von A5 bis A11 Chips (iPhone 4s bis iPhone X). Er ermöglichte den checkra1n Jailbreak. Egal welche iOS-Version Apple herausbrachte, das iPhone X war und bleibt auf ewig jailbreakbar. Ein absoluter Albtraum für Tim Cook.