36C3: Zero-Click-Exploit in Apples iMessage

Ein Sicherheitsforscher von Googles Project Zero hat Einblicke in iPhone-Angriffe gegeben, über die sich ein Gerät ohne Nutzerinteraktion beherrschen lässt.

In Pocket speichern vorlesen Druckansicht 29 Kommentare lesen
36C3: Zero-Click-Exploit in Apples iMessage

Samule Groß von Googles Project Zero zeigte live einen Hack auf einem iPhone XS.

(Bild: CC by 4.0 36C3 media.ccc.de)

Lesezeit: 4 Min.
Inhaltsverzeichnis

Ende Juli hatten Mitglieder des Project Zero von Google für Schlagzeilen gesorgt mit dem Verweis auf eine gute Handvoll schwerer Sicherheitslücken in der Chat-App iMessage in Apples mobilem Betriebssystem iOS. Insider hatten den Wert der Schwachstellen mit zugehörigem Zero-Click-Exploit, der seine Wirkung ohne Zutun und Wissen des Nutzers entfaltet, auf mehrere Millionen US-Dollar geschätzt. Das Google-Team erhielt aus dem Bug-Bounty-Programm des Konkurrenten aber keinen Cent.

"Wir haben nicht nach einer Belohnung gefragt", erklärte Project-Zero-Mitstreiter Samuel Groß am Freitag auf dem 36. Chaos Communication Congress (36C3) in Leipzig. Er und seine Kollegin Natalie Silvanovich hätten auch kein neues iPhone erhalten. Für eine Live-Demo des Hacks reichte sein XS-Gerät aus, das bei dem Vortrag nicht die aktuellsten Sicherheitsflicken enthielt. Groß führte damit vor, wie er als Angreifer das Smartphone in weniger als zehn Minuten komplett kompromittieren und etwa eine Aktion auf dem integrierten Taschenrechner ohne jegliches Zutun des Betroffenen ausführen konnte.

Über Apples Bug-Bounty-Initiative war es ausgewählten Sicherheitsforscher seit 2016 zunächst grundsätzlich möglich, maximal bis zu 200.000 US-Dollar als Belohnung zu bekommen. Anfang August weiteten die Kalifornier das Programm deutlich aus auf Fangbeuten von bis zu einer Million US-Dollar. Schier am gleichen Tag schickten die Google-Sicherheitsforscher nach eigenen Angaben den eigentlichen Exploit an Apple.

Um die Bugs und die Angriffsoberfläche zu finden, verlegte sich das Team Groß zufolge zunächst auf Reverse Engineering. Das Auseinanderlegen des iMessage-Diensts sei am schwierigsten und mit rund drei Monaten Dauer auch am langwierigsten gewesen. Das Schreiben des Exploits habe dann nur noch eine oder zwei Wochen in Anspruch genommen.

Auf der Suche nach Schwachstellen seien die Forscher auf eine iMessage-Bibliothek mit zugehörigen Subroutinen gestoßen, führte Groß aus. Bei den Botschaften an sich habe es sich um PList-Dateien gehandelt, die sich als recht komplex herausgestellt hätten, da sie ein ganzes Begriffsverzeichnis mit versandten. Auch Daten für ein Entpackungsmodul mit dem Titel "NSKeyedUnarchiver" habe sich gefunden, über das man sogar Unterklassen habe decodieren können. Der Chat-Service habe sich damit von sieben auf 50 Klassen aufgebläht, die nicht alle vor Initialisierungsproblemen gefeit gewesen seien.

Über einen Schlüsselvergleich konnten die Sicherheitsexperten feststellen, dass dabei kontrollierte Objekte aufgerufen werden. Es lag nahe, ein solches zu fälschen, mit einem neuen Verweis zu versehen und die ganze Datenstruktur zu "faken". Damit konnten die Forscher eigenen Code ausführen und das Sicherheitssystem überwinden.

Auf dem Weg dorthin galt es noch die Address Space Layout Randomization (ASLR) etwa durch die gängige Methode des "Heap-Spraying" auf größere, besonders auffällig erscheinende Speicherbereiche auszutricksen. Dabei half ein Gedankenspiel mit einer Art Orakel, um vorauszusagen, welche Nutzdaten durchkommen oder geblockt werden. Unter anderem eine Seitenkanalattacke, ein nicht per Sandbox abgetrennter Bereich für den Versand von Hinweisen an den Nutzer, ein wenig JavaScript sowie eine Speicherbeschädigung halfen, die implementierten Schutzmechanismen auszutricksen.

Der Angreifer bediente auf dem betroffenen Smartphone den Taschenrechner ohne Zutun des Nutzers.

(Bild: CC by 4.0 36C3 media.ccc.de)

Auch eine Kernelattacke sei letztlich möglich gewesen, führte Groß aus. Apple habe die Sicherheitslücken mit dem Update iOS 12.4.1 am 26. August weitgehend abgemildert und mit Version 13.2 Ende Oktober vollständig gestopft. Leicht verändert könne die Attacke gegebenenfalls auf macOS ausgeführt werden. Ein Teil der ausgemachten Probleme im Boot-Bereich bestehe zudem etwa auch bei Windows oder Android. Diese ließen sich nur schwer abstellen, da "zu viel daran hänge". Der Seitenkanalangriff zum Aushebeln der Ende-zu-Ende-Verschlüsselung und das ASLR-Umgehen dürften ferner prinzipiell auch bei anderen Messengern funktionieren.

Mehr Entropie und abgesicherte Sandkästen können Groß zufolge helfen, einschlägige Schwachstellen zu vermeiden. Threema biete eine Funktion, Nachrichten von unbekannten Absendern zu blockieren, was einschlägige Angriffe zusätzlich erschwere. Den Code für das gesamte Rahmenwerk für die Zero-Click-Attacke werde Google vorläufig nicht als Open Source veröffentlichen, aber vielleicht "eines Tages". (akr)