Über Zero-Click Chains und das Security Modell von Mobilgeräten

In letzter Zeit machen regelmäßig Security-Meldungen über Schwachstellen in Messengern die Runde. Erst kürzlich berichtete Heise von Zero-Click-Angriffen auf Apple-Geräte via WhatsApp. Warum die vermehrten Berichte und Panik verbreitenden LinkedIn-Posts einen weiterhin ruhig schlafen lassen sollten, versuche ich in diesem Blogpost zu erklären.

Mobilgeräte haben im Allgemeinen ein vergleichsweise hohes Sicherheitsniveau. Insbesondere im Vergleich mit klassischen Desktop-Systemen und Servern bietet das Security-Modell eine Vielzahl an tiefgreifenden Schutzmaßnahmen.

In diesem Security Modell befinden sich Anwendungen grundsätzlich immer in einer isolierten Umgebung, der sogenannten Sandbox. Viele kritische Berechtigungen können nicht zur Laufzeit vergeben werden, ohne dass diese zur Kompilation, also der Erstellung des Pakets, deklariert wurden. Eine kompromittierte Anwendung, wie beispielsweise ein Messenger, darf nicht einfach alles auf dem Smartphone tun; denn ein Angreifer unterliegt weiterhin den Beschränkungen des Berechtigungsmodells.

Auch die klassische Persistenz bei Desktop-Systemen gibt es nicht, da eine Veränderung des Betriebssystems zu einer Verweigerung des Starts führt.

Ein Angreifer muss also fast immer eine App kompromittieren oder eine Eigene installiert bekommen (das ist dann aber kein Zero-Click mehr). Anschließend muss dieser mit einer weiteren Schwachstelle aus der Sandbox ausbrechen oder nur die bestehenden Berechtigungen der App nutzen.

Selbst nach einer erfolgreichen Codeausführung im Kontext einer Anwendung sind viele Systemdienste und Bibliotheken nochmal isoliert. Man benötigt also meistens eine ziemlich lange Kette an Schwachstellen, die ineinander greifen um einen vergleichbaren Kompromittierungsgrad wie auf einem typischen Windows Desktopsystem hinzubekommen.

Erlangt ein Angreifer Codeausführung in einer Applikation unter Windows kann dieser im Allgemeinen frei mit den Nutzerrechten agieren und besitzt bereits genug Rechte um die Daten des Nutzers zu verschlüsseln oder auszuleiten, Mikrofone und Kameras zu aktivieren und Tastatureingaben aufzuzeichnen.

Auf Mobilgeräten ist das nicht ohne Weiteres möglich. Der Ausbruch aus der Sandbox unter Android und iOS funktioniert im Regelfall so, dass sich ein Angreifer eine Systemschnittstelle oder Komponente sucht, mit der man ohne besondere Privilegien interagieren kann, aber dessen Komponente mit Systemrechten oder außerhalb der Sandbox läuft. Schafft es der Angreifer, seine Code Execution auf die Komponente auszuweiten, agiert dieser mit den Berechtigungen der Komponente.

Historisch sind die kritischen Schwachstellen bei iOS und Android in Parsern, das sind kleine Programme, die Daten einlesen und in eine Datenstruktur bringen; sowie Media-Frameworks bzw. Bibliotheken. Diese werden bspw. für das Abspielen, Lesen, Speichern und interagieren mit Metadaten von Videos und Fotos verwendet.

In dem aktuellen Fall bei WhatsApp nutzten Angreifer eine Schwachstelle in der iOS Systembibliothek Image I/O aus.

Der offensichtliche Weg für einen Zero-Click Angriff ist also jemandem eine Nachricht über einen Messenger zu schicken, welche ein präpariertes Bild oder einen Text enthält. Diese Nachricht ist so konstruiert, dass eine Schwachstelle in einem Parser (z.B. für Benachrichtigungen) oder einem Media-Framework, z.B. Image I/O, ausgenutzt wird.

Bei iOS ist historisch oft der Parser für die Notifications verwundbar gewesen. Einige dieser Schnittstellen haben eine Zwischenspeicherung und ermöglichen so reexploitation, also das erneute Ausnutzen der Schwachstelle, indem Benachrichtigungen bei jedem Reboot neu eingelesen werden.

Bei Android ist in der Vergangenheit oft das Media-Framework betroffen gewesen. Diese ist seit längerer Zeit stark isoliert und daher relativ gut geschützt, da der Angreifer sich dann in der nächsten Sandbox befindet.

Grundsätzlich ist jeder Messenger für solche Angriffe ein lohnenswertes Ziel, da diese oft eine Vielzahl an Berechtigungen und Funktionalitäten besitzen. Diesen Umstand findet man auch in den Preislisten von Exploit-Brokern, also Zwischenhändlern, die das Wissen um Schwachstellen verkaufen, wieder.

Die sind allerdings nur ein Baustein in der Kette an benötigten Schwachstellen, der sogenannten Exploit-Chain. Es lohnt daher immer auch ein Blick auf die „Zero-Click Fullchain“ Preise. Je nach Quelle variieren sie zwischen 515 Millionen USD.

Am Ende sollten wir also nicht in Panik verfallen, sondern uns die Frage stellen ob unser Schutzziel eine solche Summe Geld auf Seiten der Angreifer rechtfertigt und ob der Erkenntnisgewinn des Angreifers nicht auch günstiger zu erlangen ist.

Das Security Modell von Mobilgeräten ist den Desktop Systemen weit voraus und für die Meisten der vermutlich sicherste Computer im alltäglichen Gebrauch. Schwachstellen dieser Art werden im Regelfall nicht in der Breite eingesetzt, sondern gezielt gegen Einzelpersonen (bspw. von Diktaturen gegen Aktivisten und Journalisten) oder lohnenswerte Spionage- und Sabotageziele.

Autor