34C3: Schwachstellen in Googles "Sicherheitsnetz" für Android

Der Mobilgeräte-Sicherheitsforscher Collin Mulliner hat einen Angriff auf das "SafetyNet" für Android-Smartphones publik gemacht, mit dem er etwa Apps kompromittieren kann. Voraussetzung ist ein Gerät mit Dirty-Cow-Lücke.

In Pocket speichern vorlesen Druckansicht 24 Kommentare lesen
Blinder Passagier
Lesezeit: 4 Min.

Google beurteilt Mobilgeräte, die auf den Play Store zugreifen, seit einiger Zeit anhand ihres "SafetyNet"-Status. Dabei wird geprüft, ob sich ein Android-System oder eine Apps an die Zertifizierungsregeln hält. Denen widerspricht beispielsweise ein Root-Zugang mit vollen Administratorrechten oder ein offener Bootloader, mit dem sich ein Gerät initialisieren oder starten lässt. Prinzipiell sei dies eine löbliche Entwicklung, befand der Sicherheitsforscher Collin Mulliner am Donnerstag auf dem 34. Chaos Communication Congress (34C3) in Leipzig. Das "Sicherheitsnetz" habe aber noch einige Macken und lasse sich auf Smartphones oder Tablets, die nicht die aktuellsten Android-Versionen nutzen, recht einfach aushebeln.

Dr.-Ing. Collin Mulliner beschäftigt sich schwerpunktmäßig mit Sicherheitsaspekten mobiler Geräte.

(Bild: ISTI, TU Berlin / Collin Mulliner)

Mulliner hat selbst ein kleines Programm für einen "Odex Code Modification"-Angriff auf Github gestellt, mit dem sich SafetyNet-Funktionen außer Gefecht setzen, Apps kompromittieren und eigene Code-Komponenten auf einschlägigen Geräten ausführen lassen. Auf der Hackerkonferenz führte er vor, wie man damit ohne Root-Zugang und ohne das Modifizieren von Anwendungen sämtliche Checks des Sicherheitsnetzes für den Play Store inklusive des Zertifizierungssystems überwinden und Odex-Dateien überschreiben kann. Bei letzteren handelt es sich um "optimierte" ausführbare Dateien für Android, die in etwa mit Exe-Dateien unter Windows vergleichbar sind.

Bei einer Live-Demonstration gelang es Mulliner im zweiten Anlauf nach hektischem Agieren auf der Kommandozeile so, ein "Hello 34C3" auf den Bildschirm eines Mobiltelefons zu zaubern. Die Auswirkungen der Attacke seien zwar begrenzt, räumte der Hacker ein. Sie funktioniere nämlich nur auf älteren Geräten mit Android 6, bei denen die Dirty-Cow-Lücke (CVE-2016-5195) im Linux-Kernel noch nicht geschlossen sei. Über eine Rechteausweitung können Angreifer damit Dateien schreiben, für die sie eigentlich nur Leserechte haben.

"Hello 34C3!" grüßt das eingeschleuste Pop-up.

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

Mulliner zufolge dürfte die Zahl solcher Mobiltelefone, die sich noch im Umlauf befinden, durchaus noch ziemlich hoch sein. Der Angriff unterlaufe darauf auch die sogenannte SafetyNet Attestation – diese Prüfung fertigt ein Profil des jeweiligen Endgeräts an, um dessen Integrität abzuschätzen. Er habe Google schon vor rund einem Jahr über die Attacke informiert, aber nur die allgemeine Antwort erhalten, dass derlei Angriffsmöglichkeiten dem Konzern bereits prinzipiell bekannt seien.

Auch die Hürde der "SafetyNet Attestation" hindert im Zweifelsfall ein Android-6-Gerät mit einem "Odex Code Modification"-Programm nicht daran, Apps im Google Play Store zu kompromittieren.

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

Zur Sprache kamen auch andere Aussetzer bei dem Sicherheitstestat für Play Services. Diese beruhten vor allem auf fehlerhaften Daten des Kompatibilitätstests über die "Compatibility Test Suite" (CTS), mit der Google einschlägige Daten aus dem Mobilgerät sammle und mit den korrespondierenden Herstellerangaben vergleiche. Dabei würden etwa Zeitstempel oder Hinweise auf einen erlangten Root-Zugang berücksichtigt.

Mulliner berichtete, dass er eine eigene Demo-App gebaut habe, um diesen Integritätscheck nachvollziehen zu können. Oft funktioniere der Abgleich mit den Herstellerdaten nicht aufgrund fehlender oder mangelhafter Angaben, sodass ein Gerät als modifiziert eingeschätzt werde. Häufig produziere das Sicherheitssystem auch mehr oder weniger zufällige Fehlermeldungen, die nur der App-Entwickler sehe.

Mulliners Demo-App überprüft den Integritätscheck des Play Store.

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

Andererseits könne Google aber auch die ausgestellten "Zeugnisse" im Handumdrehen ändern und auf Ungereimtheiten reagieren, erläuterte der Mobilsystem-Kenner. Wer sich unter Android Root-Zugang verschaffen wolle, sei nach wie vor mit "Magisk" gut bedient: Das Werkzeug unterlaufe noch immer das SafetyNet. Unter Android 4 reiche es dafür gar, einzelne Dateien wie "su" umzubenennen und an einem anderen Ort zu speichern. Generell gebe es bis Version 4.4 keine Secure-Boot-Funktion, sodass die Play Services nicht so einfach auf einen Stand gebracht werden könnten, in dem sie die zusätzlichen Sicherheitsmechanismen Googles unterstützten.

Insgesamt ermunterte Mulliner App-Entwickler, auf SafetyNet zu setzen, da es damit insgesamt deutlich schwieriger werde, über neu verpackte Apps Malware in den Play Store zu schmuggeln. So könne man ganz gut verhindern, dass eigene Produkte Opfer dieser Masche würden. Der Großteil der Anwendungen profitiere von diesem kostenlosen Sicherheitscheck, dessen Dokumentation Google mit der Zeit schrittweise etwas verbessert habe. Es gebe mittlerweile auch zumindest eine Mailingliste, über die Abonnenten halbwegs frühzeitig über neue SafetyNet-Funktionen informiert würden.

(psz)