Mit Janus Exploit können Angreifer Apps modifizieren, ohne die Signaturen zu beeinträchtigen

Die Janus-Schwachstelle ermöglicht es Angreifern, Apps zu ändern, ohne deren Signaturen zu beeinträchtigen. Es wurde von GuardSquare entdeckt und von Google behoben.

Android ist auf einer großen Anzahl von Geräten installiert und daher ein Ziel für böswillige Angreifer. Es werden weiterhin jeden Monat Sicherheitslücken im mobilen Betriebssystem von Google entdeckt, aber die gute Nachricht ist, dass Google ist in der Regel gewissenhaft dabei, sie in regelmäßigen Sicherheitspatches zu beheben, die dann den OEMs angeboten werden, die sie dann an sie versenden Geräte.

Kürzlich haben Sicherheitsforscher eine Schwachstelle aufgedeckt Dadurch wurden Benutzer dazu verleitet, Angreifern zu gestatten, den Bildschirm ihres Geräts aufzuzeichnen. Dieser spezielle Exploit wurde in Android Oreo behoben, aber Analysten bei GuardSquare hat kürzlich über eine weitere schwerwiegende Sicherheitslücke berichtet, die Android-Apps betrifft, die mit einem älteren Signaturschema signiert sind.

GuardSquareIm Bericht heißt es, dass die

JanusVerletzlichkeit (CVE-2017-13156) in Android ermöglicht es Angreifern, den Code in Anwendungen zu ändern, ohne deren Signaturen zu beeinträchtigen. Der Bericht führt weiter aus, dass die Ursache der Schwachstelle darin liegt, dass eine Datei gleichzeitig eine gültige APK-Datei und eine gültige DEX-Datei sein kann.

Janus macht sich die Tatsache zunutze, dass zusätzliche Bytes in APK-Dateien und DEX-Dateien unbemerkt bleiben. Der GuardSquare Bericht erklärt, dass eine APK-Datei ein ZIP-Archiv ist, das am Anfang, vor und zwischen seinen ZIP-Einträgen beliebige Bytes enthalten kann. Das JAR-Signaturschema berücksichtigt nur die ZIP-Einträge und ignoriert alle zusätzlichen Bytes bei der Berechnung oder Überprüfung der Signatur der Anwendung.

Weiter wird erläutert, dass eine DEX-Datei hingegen am Ende beliebige Bytes enthalten kann – nach den regulären Abschnitten von Strings, Klassen, Methodendefinitionen usw. Daher kann eine Datei gleichzeitig eine gültige APK-Datei und eine gültige DEX-Datei sein.

GuardSquare erwähnt auch, dass ein Schlüsselelement der Sicherheitslücke eine „harmlose“ Funktion der virtuellen Maschine Dalvik/ART ist. Der Bericht besagt, dass die Android-Laufzeitumgebung theoretisch die APK-Datei lädt, ihre DEX-Datei extrahiert und dann ihren Code ausführt. In der Praxis kann die virtuelle Maschine (VM) jedoch sowohl APK-Dateien als auch DEX-Dateien laden und ausführen. Das Problem besteht darin, dass die VM, wenn sie eine APK-Datei erhält, immer noch die magischen Bytes im Header prüft, um zu entscheiden, um welchen Dateityp es sich handelt: DEX oder APK. Wenn ein DEX-Header gefunden wird, wird die Datei als DEX-Datei geladen. Wenn kein Header gefunden wird, lädt es die Datei als APK-Datei, die einen ZIP-Eintrag mit einer DEX-Datei enthält. Daher kann es zu einer Fehlinterpretation dualer DEX/APK-Dateien kommen.

GuardSquare besagt, dass ein Angreifer diese Dualitätsfunktion der VM nutzen kann, um eine schädliche DEX-Datei zu einer normalen APK-Datei hinzuzufügen, ohne deren Signatur zu beeinträchtigen. Die Android-Laufzeitumgebung akzeptiert die APK-Datei als gültiges Update einer legitimen früheren App-Version, aber die Dalvik-VM lädt den Code aus der DEX-Datei, in die Schadcode eingeschleust wurde.

Wenn ein Benutzer eine aktualisierte Version einer App installiert, wird normalerweise die Signatur der App von der Android-Laufzeitumgebung überprüft, um sicherzustellen, dass sie mit der älteren Version übereinstimmt. Wenn die Überprüfung positiv ausfällt, erhält die aktualisierte Anwendung die Berechtigungen, die der ursprünglichen Anwendung gewährt wurden. Auf diese Weise können Angreifer die Janus-Schwachstelle ausnutzen, um den Prozess der Signaturüberprüfung zu umgehen und ungeprüften Code auf den Geräten ahnungsloser Benutzer zu installieren.

Was noch schlimmer ist, ist, dass dieser nicht verifizierte Code möglicherweise Zugriff auf leistungsstarke Berechtigungen erhält. Daraus ergeben sich einige schwerwiegende Möglichkeiten. GuardSquare Zustände:

„Ein Angreifer kann eine vertrauenswürdige Anwendung mit hohen Privilegien (z. B. eine System-App) durch ein modifiziertes Update ersetzen, um deren Berechtigungen zu missbrauchen. Abhängig von der Zielanwendung kann der Hacker so auf die auf dem Gerät gespeicherten sensiblen Informationen zugreifen oder das Gerät sogar vollständig übernehmen. Alternativ kann ein Angreifer einen modifizierten Klon einer sensiblen Anwendung als legitimes Update weitergeben, [das] wie die ursprüngliche Anwendung aussehen und sich so verhalten kann, aber bösartiges Verhalten einschleust.“

Das Unternehmen fügte hinzu, dass es bisher keine Anwendungen gesehen habe, die Janus in freier Wildbahn ausnutzten. Die andere gute Nachricht ist, dass die Sicherheitslücke einen Benutzer dazu zwingt, ein bösartiges Update von einer Quelle außerhalb des Google Play Store zu installieren. Daher sind Benutzer geschützt, die App-Installationen auf den Play Store beschränken.

Die Janus-Sicherheitslücke betrifft Geräte mit Android 5.0+. Betroffen sind Anwendungen, die mit dem APK-Signaturschema v1 signiert wurden. Mit dem Signaturschema v2 signierte APKs sind vor der Sicherheitslücke geschützt. Dies setzt voraus, dass die APKs auf Geräten laufen, die das neueste Signaturschema unterstützen (Android 7.0 und neuer). Schema v2 ist geschützt, da es im Gegensatz zu Schema v1 alle Bytes in der APK-Datei berücksichtigt.

„Ältere Versionen von Anwendungen und neuere Anwendungen, die auf älteren Geräten ausgeführt werden, bleiben anfällig. „Entwickler sollten zumindest immer das Signaturschema v2 anwenden“, GuardSquare Zustände.

GuardSquare hat dieses Problem am 31. Juli 2017 an Google gemeldet und am selben Tag eine Bestätigung erhalten. Dem Bericht des Unternehmens zufolge hat Google im November einen Patch für seine Partner veröffentlicht und den Fehler (CVE-2017-13156) am 4. Dezember 2017 im Android Security Bulletin veröffentlicht. Die Sicherheitslücke besteht wurde im Android-Sicherheitspatch vom Dezember 2017 behoben. Unabhängig davon wurde bestätigt, dass F-Droid-Anwendungen aus ihrem offiziellen Repository sicher sind. Schließlich wurde bestätigt, dass die Schwachstelle behoben wurde APKMirror.


Quelle: GuardSquare