Exploit zielt auf den EDL-Modus von Qualcomm ab und betrifft einige Geräte von Xiaomi, OnePlus, Nokia und anderen

Qualcomm-Geräte verfügen über einen EDL-Modus, der offenbar ausgenutzt werden kann, wenn Sie über die richtigen von den OEMs veröffentlichten Tools verfügen.

Geräte mit Qualcomm-Chipsätzen verfügen über eine Primary Bootloader (PBL), der normalerweise das Android-System startet, aber auch einen alternativen Startmodus namens EDL-Modus enthält. Der EDL-Modus stammt von Qualcomm EVerschmelzung Deigene Ladung MOde und erlaubt eine Öursprünglich EAusrüstung MHersteller (OEM), Flash-Software auf einem Gerät zu erzwingen. Dieser kann nicht geändert werden (schreibgeschützter Modus) und hat die volle Kontrolle über den Speicher des Geräts. Viele OEMs, darunter OnePlus und Xiaomi, haben Tools (sogenannte Programmierer) veröffentlicht, die den EDL-Modus nutzen ein Protokoll namens Firehose zum Entblocken eines Geräts, während andere Tools von Unternehmen wie Nokia durchgesickert sind. Firehose kann eine Reihe von Befehlen zum Flashen von Geräten verwenden und außerdem die Daten im Speicher eines Geräts untersuchen. Sicherheitsforscher

Roee Hay (@roeehay) Und Noam Hadad aus Aleph-Forschung haben mit diesem Modus kritische Geräteschwachstellen entdeckt, die einem Angreifer effektiv Schutz bieten voller Gerätezugriff.

Es ist wichtig, das zu beachten Dieser Exploit erfordert physischen Zugriff auf das Gerät, ist aber dennoch äußerst gefährlich und kann wahrscheinlich nicht gepatcht werden. Die Angreifer nutzten die Zugriffsebene, die dem EDL-Modus gewährt wurde, um Secure-Boot auf einem Nokia 6 zu umgehen und das zu umgehen Vertrauenskette und vollständige Codeausführung in jedem Teil der Startsequenz, einschließlich des Android-Betriebssystems selbst. Es wird angenommen, dass es auf anderen Geräten genauso funktioniert, und den Forschern ist es auch gelungen, mehrere Xiaomi-Geräte ohne Datenverlust zu entsperren und zu rooten.

Welche Geräte sind von diesem Exploit betroffen?

Erstens, welche Geräte betroffen sind.

Liste der betroffenen Geräte.

  • LG G4
  • Nokia 6 (d1c)
  • Nokia 5
  • Nexus 6 (Shamu)
  • Nexus 6P (Angler)
  • Moto G4 Plus
  • OnePlus 5 (Cheeseburger)
  • OnePlus 3T
  • OnePlus 3
  • OnePlus 2
  • OnePlus X
  • Eins plus eins
  • ZTE Axon 7
  • ZUK Z1
  • ZUK Z2
  • Xiaomi Note 5A (ugglite)
  • Xiaomi Note 5 Prime (ugg)
  • Xiaomi Note 4 (Mido)
  • Xiaomi Note 3 (Jason)
  • Xiaomi Note 2 (Skorpion)
  • Xiaomi Mix (Lithium)
  • Xiaomi Mix 2 (Chiron)
  • Xiaomi Mi 6 (Sagit)
  • Xiaomi Mi 5s (Steinbock)
  • Xiaomi Mi 5s Plus (Natrium)
  • Xiaomi Mi 5x (Tiffany)
  • Xiaomi Mi 5 (Zwillinge)
  • Xiaomi Mi 3 (cancro)
  • Xiaomi Mi A1 (Tissot)
  • Xiaomi Mi Max2 (Sauerstoff)
  • Xiaomi Redmi Note 3 (Kenzo)
  • Xiaomi Redmi 5A (riva)
  • Xiaomi Redmi 4A (rosig)

mehr lesen

Ausnutzung eines Android-Telefons

Die Startsequenz eines typischen Android-Qualcomm-Telefons

Es ist wichtig, zunächst die Startsequenz eines typischen Android-Geräts zu verstehen, bevor erklärt wird, wie es ausgenutzt werden kann. Der Software Bootloader (SBL) ist ein digital signierter Bootloader, der vor dem Laden in imem auf Authentizität überprüft wird. imem ist ein Fast-on-Chip-Speicher, der für Debugging und DMA verwendet wird (Ddirekt MErinnerung Access)-Transaktionen und ist Eigentum von Qualcomm-Chipsätzen.

Einige Geräte verfügen über einen eXhaltbar Bootloader (XBL) anstelle eines SBL, aber der Startvorgang ist ziemlich gleich. Der SBL oder XBL startet dann ABOOT, das Fastboot implementiert. Anschließend wird auch TrustZone (hardwarebasierte Sicherheit) geladen. TrustZone prüft die Authentizität von ABOOT anhand eines hardwarebasierten Root-Zertifikats. Die SBL (oder in einigen Fällen XBL) ist darauf ausgelegt, einen falsch signierten (oder nicht signierten) ABOOT abzulehnen.

Nach der Authentifizierung überprüft ABOOT dann /boot und /recovery auf Authentizität, bevor der Linux-Kernel gestartet wird. Einige Systemvorbereitungen werden durchgeführt und anschließend wird die Codeausführung an den Kernel übertragen. ABOOT ist allgemein als „Android Bootloader“ bekannt. Wenn wir den Bootloader eines Geräts entsperren, deaktivieren wir diese Authentizitätsprüfung in ABOOT.

Boot-Sequenz eines Standard-Android-Geräts visualisiert. // Quelle: Aleph-Forschung

Zugriff auf den EDL-Modus

Während einige Geräte über eine einfache Hardwarekombination verfügen (oder, schlimmer noch, über einen einfachen proprietären Fastboot-Befehl, der in vielen Geräten vorhanden ist). Xiaomi-Geräte), andere, wie z. B. Nokia-Geräte, müssen Pins, sogenannte „Testpunkte“, auf der Hauptplatine des Geräts kurzschließen Planke. Vor dem Sicherheitspatch vom Dezember 2017 war es auch möglich, auf vielen Geräten (einschließlich Nexus 6 und 6P) einfach „adb reboot edl“ auszuführen und in den EDL-Modus zu wechseln. Dies wurde inzwischen behoben.

Testpunkte werden in einem aufgezogenen gelben Kästchen unten auf dem Mainboard des Geräts angezeigt. // Quelle: Aleph-Forschung

Andere Geräte können auch ein sogenanntes „Deep Flash“-Kabel verwenden, bei dem es sich um ein spezielles Kabel handelt, bei dem bestimmte Pins kurzgeschlossen sind, um das System anzuweisen, stattdessen im EDL-Modus zu starten. Alte Xiaomi-Geräte können diese Methode nutzen, ebenso wie das Nokia 5 und das Nokia 6. Andere Geräte starten ebenfalls im EDL-Modus, wenn sie die SBL nicht überprüfen können.

Ein Deep-Flash-Kabel

Nutzen Sie den EDL-Modus, um vollen Zugriff auf ein OnePlus 3/3T zu erhalten

Der EDL-Modus kann auf einem Gerät auf unterschiedliche Weise genutzt werden, vor allem um das Bricken von Geräten durch erzwungenes Flashen aufzuheben. Wie oben erläutert, sollte es theoretisch für jedermann sicher sein, auf diesen Modus zuzugreifen, da ABOOT im schlimmsten Fall Software ablehnt, die nicht offiziell vom Hersteller signiert ist. Obwohl dies wahr ist, ist es tatsächlich möglich, in einem von den Forschern gezeigten Proof-of-Concept-Exploit die vollständige Kontrolle über ein OnePlus 3 oder 3T und seine Dateien zu erlangen.

Dies geschieht über zwei sehr gefährliche Befehle, die OnePlus in einer älteren Version von ABOOT (Android) zugänglich gemacht hat Bootloader), um den Bootloader des Geräts zu entsperren (ohne dass dem Benutzer beim Booten eine Warnung angezeigt wird) und zu deaktivieren dm_verity. dm_verity wird auch als verifizierter Start bezeichnet und ist Teil einer sicheren Startsequenz auf einem Android-Gerät. Die beiden Befehle lauten wie folgt.

fastboot oem disable_dm_verity
fastboot oem 4F500301/2

Beobachten Sie den einfachen, vierstufigen Prozess unten, der das Firehose-Protokoll verwendet.

  1. Starten Sie das Gerät zunächst im EDL-Modus. Dies kann entweder über adb unter OxygenOS 5.0 oder niedriger oder durch die Verwendung einer einfachen Hardware-Tastenkombination erfolgen.
  2. Laden Sie ein altes Systemabbild von OxygenOS 4.0.2 herunter.
  3. Flashen Sie aboot.bin über Firehose (denken Sie daran, dass aboot.bin Fastboot implementiert, wie bereits erwähnt)
  4. Sie können nun den sicheren Start deaktivieren und den Bootloader entsperren ohne das Gerät abzuwischen Verwenden Sie einfach die beiden oben genannten Fastboot-Befehle.

Wenn Sie sich erinnern, wurde festgestellt, dass OnePlus vor fast einem Jahr zwei gefährliche Fastboot-Befehle hinterlassen hat, einen, der den Bootloader entsperrte, und einen, der den sicheren Start deaktivierte. Es stimmt zwar, dass es sich um einen Angreifer handelt Es kann keine schädliche Software auf dem Gerät installiert werden, Sie können Downgrade des Geräts durchführen haben ältere, anfällig für Angriffssoftware. Durch einfaches Ausführen der oben genannten Fastboot-Befehle kann ein Angreifer Zugriff haben voller Zugriff zum Gerät.

Und fertig, der Bootloader ist entsperrt, Secure Boot ist ausgeschaltet und es gibt absolut keinen Datenverlust. Wenn ein Angreifer noch einen Schritt weiter gehen möchte, könnte er einen bösartigen benutzerdefinierten Kernel flashen, der Root-Zugriff auf das Gerät ermöglicht, von dem der Benutzer nie etwas erfahren würde.

Firehose funktioniert über das Qualcomm Sahara-Protokoll, das einen OEM-signierten Programmierer akzeptiert und den oben genannten Angriff ermöglicht. Wenn es an ein Gerät angeschlossen ist, fungiert es als SBL über USB. Die meisten Programmierer verwenden Feuerwehrschlauch um im EDL-Modus mit einem Telefon zu kommunizieren, was die Forscher ausnutzten, um die vollständige Kontrolle über das Gerät zu erlangen. Dies nutzten die Forscher auch aus Entsperren Sie ein Xiaomi-Gerät, indem Sie einfach ein geändertes Bild flashen wodurch der Bootloader entsperrt wurde. Anschließend haben sie einen benutzerdefinierten Kernel geflasht, der Root-Zugriff gewährte, SELinux freizügig startete und auch das verschlüsselte Benutzerdaten-Image vom Gerät extrahierte.

Abschluss

Es ist nicht bekannt, warum OEMs diese Programmierer von Qualcomm veröffentlichen. Die Programmierer von Nokia, LG, Motorola und Google wurden nicht veröffentlicht, sondern durchgesickert, doch den Forschern gelang es Durchbrechen Sie die gesamte Vertrauenskette auf dem Nokia 6 und erhalten Sie mit ähnlichen Methoden vollen Zugriff auf das Gerät Ausbeutung. Sie sind zuversichtlich, dass der Angriff auf jedes Gerät übertragen werden kann, das diese Programmierer unterstützt. Wenn möglich, sollten OEMs Hardware-qFuses verwenden, die Software-Rollbacks verhindern, indem sie durchbrennen, wenn die Gerätehardware zurückgesetzt wird, und einen Benutzer warnen können, dass ein Rollback stattgefunden hat. Interessierte können sich unten das vollständige Forschungspapier ansehen und auch die vollständige Nokia-Exploitung lesen.


Quelle: Aleph Research