Zuhause Sicherheitsuhr Black Hat: Mehrere Hauptschlüssel-Schwachstellen betreffen Android

Black Hat: Mehrere Hauptschlüssel-Schwachstellen betreffen Android

Video: Simple Spyware: Androids Invisible Foreground Services and How to (Ab)use Them (Kann 2024)

Video: Simple Spyware: Androids Invisible Foreground Services and How to (Ab)use Them (Kann 2024)
Anonim

Alles begann als Streich, erklärte Jeff Forristal von Bluebox Security. Das Bluebox-Team wollte eine gehackte Version der FourSquare-App erstellen, die den Anschein erweckt, als wären Sie an einem seltsamen Ort wie der Antarktis. Leider hat Google Maps Anfragen von der optimierten App abgelehnt. Die Umgehung dieses Problems führte das Team zu der Schwäche, die es "Master Key" nannte. "Dieses Thema wurde bereits behandelt", sagte Forristall. "Es ist durchgesickert. Es ist seit ein paar Wochen draußen. Aber tatsächlich gibt es mehr als einen Hauptschlüssel, und so wuchs dieses Gerede von einem Fehler auf vier."

Forristal erklärte, dass sie durch Zerlegen, Ändern und erneutes Zusammenbauen der App die Entwicklersignatur geändert hätten. Die neue Signatur war nicht für die Verwendung von Google Maps lizenziert und wurde daher abgelehnt. Ihre neue Suche; Ändern Sie den Code, ohne die Signatur zu ändern.

Forristal ging die detaillierte Reihe von Ereignissen durch, die auftreten, wenn Android eine signierte App überprüft. Jede Ebene überprüft die vorherige, wobei zunächst überprüft wird, ob die Codemodelle manipuliert wurden, und anschließend eine digitale Signatur des gesamten Pakets erstellt wird. Er versuchte, das System in jeder Phase anzugreifen, meist ohne Glück.

"Die Formate APK, JAR und ZIP sind im Grunde genommen gleich", bemerkte Forristal. "JAR und APK haben nur zusätzliche Komponenten." Sein letzter Erfolg war die Nutzung des ZIP-Formats. Wenn er eine "böse" Datei mit demselben Namen wie eine vorhandene gültige Datei einfügt, hat der Prüfer die gültige Datei abgemeldet, aber die "böse" Datei wurde gestartet.

Warum? Denn Android verwendet im Verifier und im eigentlichen Installer einen anderen ZIP-Dateiverwaltungscode. "Eine Diskrepanz beim Parsen von ZIP-Dateien ist die Ursache für diesen Fehler", erklärte Forristal. "Tatsächlich gibt es in der Android-Codebasis acht separate Parsing-Implementierungen für ZIP-Dateien."

Aus dem Sandkasten

"Ich habe diesen Trick für immer benutzt", sagte Forristal. "Jetzt lass es uns großartig machen." Wie iOS führt Android jede App in einer eigenen Sandbox aus, sodass eine App nicht auf Ressourcen zugreifen kann, die zu einer anderen App gehören. "Der einzige Weg in die Sandbox besteht darin, vom selben Entwickler signiert zu werden", erklärte er. "Das macht Updates möglich."

"Das System als Ganzes schließt sich demselben Gedanken an", fuhr er fort. "Die Systemsandbox erzwingt alle anderen Sandboxen. Sie steuert alle Ihre Einstellungen. Sie ist kein Root-Benutzer, verfügt jedoch über alle Daten, Apps, Kennwörter und Einstellungen. Was bleibt übrig? Das System ist ziemlich leistungsfähig." Apps, die auf die Systemsandbox zugreifen, werden normalerweise vom Plattformhersteller signiert. "Ich musste nur eine von der Plattform signierte App besorgen und meinen kleinen Trick machen, und ich sollte Zugriff auf Systemebene haben. Das ist cooler als FourSquare-Karten", schloss er.

Es stellt sich heraus, dass VPNs von Drittanbietern plattformsigniert sein müssen, und als Bonus fordern sie bereits den Zugriff auf die Systemsandbox an. Forristal zeigte die drei einfachen Befehle an, mit denen er seinen "bösen" Code in ein VPN eines Drittanbieters einfügte und scherzte über "über Hacking-Tools". Das Ergebnis? Ein Trojaner mit vollem Zugriff auf Systemebene.

Einfache Ausbeutung

Der Sicherheitsingenieur Saurik (Jay Freeman) brachte das Konzept auf die nächste Ebene, erklärte Forristal. Sein Cydia Impactor-Tool läuft unter OSX und Windows und automatisiert den Exploit. "Schließen Sie ein Gerät an", sagte Forristal, "es findet die richtige App, erstellt sie, fügt den entsprechenden Hack hinzu, um Root-Zugriff zu erhalten, und stellt sie bereit. Ich wollte ein paar kitschige Proof-of-Concept-Apps herausbringen, aber das ist großartig.""

Forristal stellte fest, dass der Prozessortyp des Geräts keine Rolle spielt. Der Angriff wird nicht durch ASLR (Address System Layout Randomization) oder DEP (Data Execution Prevention) beeinflusst. Er hat eine Version erstellt, die auf vier Generationen von Android funktioniert, und die einzige wirklich erforderliche Fähigkeit sind Java-Kenntnisse. "Ich habe dies für Black Hat eingereicht, weil es leicht zu verstehen und auszunutzen ist", sagte Forristal.

Weitere Hauptschlüssel

Forristal hat eine Reihe anderer kürzlich entdeckter Fehler gefunden, die als "Hauptschlüssel" gelten könnten. Als Bluebox-Forscher den Code für eine Funktion namens Authentifizierte Attribute durchgingen, fanden sie eine auskommentierte Zeile mit der Bezeichnung "TODO". Aufgrund des fehlenden Codes besteht die Überprüfung unabhängig von den Änderungen, die Sie an der Datei vornehmen. Nicht viele Dateien verwenden diese Funktion, wie Forristal bemerkte. "Wenn Sie eine finden, können Sie die Zertifikatdatei kopieren und einfügen und die Identität des Entwicklers annehmen. Wenn Sie eine App mit authentifizierten Attributen signiert haben, haben Sie Ihre Identität verraten." Da dieser Fehler behoben wurde, bevor Bluebox ihn meldete, wird kein Kredit aufgenommen.

Der von einem chinesischen Forscher gemeldete "Hidden Trojan" -Angriff ist nur eine von mehreren Möglichkeiten, um die zahlreichen ZIP-Datei-Parser von Android auszunutzen. Diese Angriffe machen sich die Tatsache zunutze, dass ein Parser-Benutzer signierte Ganzzahlen und der andere nicht signierte Ganzzahlen verwendet.

"Es geht nicht einmal darum, eine Datei zu ersetzen", schwärmte Forristal. "Mit diesem Trick können Sie eine völlig andere ZIP-Datei einspeisen. Die eine wird überprüft, die andere wird ausgeführt. Ein paar Tricks und Leckerbissen in diesem Bereich könnten diesem Ansatz noch mehr Kraft verleihen."

Obwohl Malware, die diese Technik verwendet, bereits in der Natur verbreitet ist, sollte es nicht möglich sein, eine trojanisierte Datei wie die hier beschriebenen in Google Play zu übertragen. Sie werden wahrscheinlich sicher sein, wenn Sie immer und nur Apps installieren, die die offizielle Prüfung bestanden haben. Aus Sicherheitsgründen sollten Sie jedoch alle verfügbaren Android-Updates sofort installieren.

Black Hat: Mehrere Hauptschlüssel-Schwachstellen betreffen Android