Qualcomm-apparaten hebben een EDL-modus, die naar het schijnt misbruikt kan worden als je over de juiste tools beschikt die door de OEM's zijn vrijgegeven.
Apparaten met Qualcomm-chipsets hebben een Prandachtig BOetloader (PBL) die doorgaans het Android-systeem opstart, maar ook een alternatieve opstartmodus bevat die bekend staat als EDL-modus. De EDL-modus is die van Qualcomm Eurgentie Deigen lading Mode en staat een toe Oorigineel Euitrusting Mfabrikant (OEM) om flash-software op een apparaat te forceren. Deze kan niet worden gewijzigd (alleen-lezen-modus) en heeft volledige controle over de opslag van het apparaat. Veel OEM's, waaronder OnePlus en Xiaomi, hebben tools uitgebracht (ook wel programmeurs genoemd) die gebruik maken van de EDL-modus en een protocol dat bekend staat als Firehose om een apparaat te ontkoppelen, terwijl andere tools van bedrijven zoals Nokia zijn gelekt. Firehose kan een aantal opdrachten gebruiken om apparaten te flashen, samen met de mogelijkheid om de gegevens in het geheugen van een apparaat te onderzoeken. Beveiligingsonderzoekers
Roe Hay (@roeehay) En Noam Hadad van Aleph-onderzoek hebben kritieke kwetsbaarheden in apparaten ontdekt met behulp van deze modus, waardoor een aanvaller effectief toegang krijgt volledige toegang tot het apparaat.Het is belangrijk om dat op te merken Deze exploit vereist fysieke toegang tot het apparaat, maar is nog steeds ongelooflijk gevaarlijk en kan waarschijnlijk niet worden gepatcht. De aanvallers gebruikten het toegangsniveau dat aan de EDL-modus was verleend om het veilig opstarten van een Nokia 6 te omzeilen. vertrouwensketen en het verkrijgen van volledige code-uitvoering in elk deel van de opstartvolgorde, inclusief het Android-besturingssysteem zelf. Er wordt aangenomen dat het op andere apparaten op dezelfde manier werkt, en de onderzoekers zijn er ook in geslaagd om meerdere Xiaomi-apparaten te ontgrendelen en te rooten zonder enig gegevensverlies.
Welke apparaten worden getroffen door deze exploit?
Ten eerste de apparaten die getroffen zijn.
Lijst met getroffen apparaten.
- LG G4
- Nokia 6 (d1c)
- Nokia-5
- Nexus 6 (shamu)
- Nexus 6P (visser)
- Moto G4Plus
- OnePlus 5 (cheeseburger)
- OnePlus 3T
- OnePlus 3
- OnePlus 2
- OnePlus X
- Een plus een
- ZTE Axon 7
- ZUK Z1
- ZUK Z2
- Xiaomi Note 5A (ugglite)
- Xiaomi Note 5 Prime (ugg)
- Xiaomi Opmerking 4 (mido)
- Xiaomi Opmerking 3 (Jason)
- Xiaomi Note 2 (schorpioen)
- Xiaomi-mix (lithium)
- Xiaomi Mix 2 (chiron)
- Xiaomi Mi 6 (sagit)
- Xiaomi Mi 5s (Steenbok)
- Xiaomi Mi 5s Plus (natrium)
- Xiaomi Mi 5x (tiffany)
- Xiaomi Mi 5 (Tweeling)
- Xiaomi Mi 3 (cancro)
- Xiaomi Mi A1 (tissot)
- Xiaomi Mi Max2 (zuurstof)
- Xiaomi Redmi Note 3 (kenzo)
- Xiaomi Redmi 5A (riva)
- Xiaomi Redmi 4A (roze)
Lees verder
Een Android-telefoon exploiteren
De opstartvolgorde van een typische Android Qualcomm-telefoon
Het is belangrijk om eerst de opstartvolgorde van een typisch Android-apparaat te begrijpen voordat u uitlegt hoe het kan worden misbruikt. De Svaak BOetloader (SBL) is een digitaal ondertekende bootloader die op authenticiteit wordt gecontroleerd voordat deze in imem wordt geladen. imem is een fast-on-chip-geheugen dat wordt gebruikt voor foutopsporing en DMA (Ddirect Memorie Access)-transacties en is eigendom van Qualcomm-chipsets.
Sommige apparaten hebben een eXspanbaar BOetloader (XBL) in plaats van een SBL, maar het opstartproces is vrijwel hetzelfde. De SBL of XBL start vervolgens ABOOT, dat fastboot implementeert. Hierna wordt ook TrustZone (op hardware gebaseerde beveiliging) geladen. TrustZone controleert de authenticiteit van ABOOT door middel van een op hardware gebaseerd rootcertificaat. De SBL (of in sommige gevallen XBL) is ontworpen om een onjuist ondertekende (of niet-ondertekende) ABOOT te weigeren.
Eenmaal geauthenticeerd controleert ABOOT vervolgens /boot en /recovery op authenticiteit voordat de Linux-kernel wordt gestart. Er zijn enkele systeemvoorbereidingen gedaan en vervolgens wordt de uitvoering van de code overgebracht naar de kernel. ABOOT is algemeen bekend als de "Android Bootloader", en wanneer we de bootloader van een apparaat ontgrendelen, schakelen we deze authenticiteitscontrole uit in ABOOT.
Toegang tot de EDL-modus
Hoewel sommige apparaten een eenvoudige hardwarecombinatie hebben (of erger nog, een eenvoudig eigen fastboot-commando dat in veel apparaten aanwezig is). Xiaomi-apparaten), andere, zoals Nokia-apparaten, moeten pinnen kortsluiten die bekend staan als "testpunten" op de hoofdaansluiting van het apparaat. bord. Vóór de beveiligingspatch van december 2017 was het ook mogelijk om eenvoudig "adb reboot edl" uit te voeren op veel apparaten (waaronder de Nexus 6 en 6P) en naar de EDL-modus te gaan. Dit is inmiddels opgelost.
Andere apparaten kunnen ook een zogenaamde "deep flash"-kabel gebruiken, een speciale kabel waarvan bepaalde pinnen zijn kortgesloten om het systeem te vertellen in plaats daarvan in de EDL-modus op te starten. Oude Xiaomi-apparaten kunnen deze methode gebruiken, samen met de Nokia 5 en Nokia 6. Andere apparaten starten ook op in de EDL-modus als ze de SBL niet kunnen verifiëren.
Gebruik de EDL-modus om volledige toegang te krijgen op een OnePlus 3/3T
De EDL-modus kan op een aantal manieren op een apparaat worden gebruikt, meestal om apparaten te ontkoppelen door ze geforceerd te laten knipperen. Zoals hierboven uitgelegd zou het theoretisch voor iedereen veilig moeten zijn om toegang te krijgen tot deze modus, aangezien het ergste scenario is dat ABOOT software zal afwijzen die niet officieel door de fabrikant is ondertekend. Hoewel dit waar is, is het feitelijk mogelijk om volledige controle te krijgen over een OnePlus 3 of 3T en zijn bestanden in een proof of concept-exploit die door de onderzoekers wordt getoond.
Dit zal gebeuren via twee zeer gevaarlijke opdrachten die OnePlus toegankelijk heeft gelaten in een oudere versie van ABOOT (de Android bootloader), om de bootloader van het apparaat te ontgrendelen (zonder dat er een waarschuwing wordt getoond aan de gebruiker bij het opstarten) en uit te schakelen dm_verity. dm_verity staat ook bekend als geverifieerd opstarten en maakt deel uit van een veilige opstartprocedure op een Android-apparaat. De twee opdrachten zijn als volgt.
fastboot oem disable_dm_verity
fastboot oem 4F500301/2
Volg het eenvoudige, vierstapsproces hieronder, waarbij gebruik wordt gemaakt van het Firehose-protocol.
- Start het apparaat eerst op in de EDL-modus. Dit kan worden gedaan via adb op OxygenOS 5.0 of lager of door een eenvoudige hardwaretoetsencombinatie te gebruiken.
- Download een oude systeemimage van onderstaande OxygenOS 4.0.2.
- Flash aboot.bin via firehose (onthoud dat aboot.bin fastboot implementeert, zoals we eerder vermeldden)
- U kunt nu beveiligd opstarten uitschakelen en de bootloader ontgrendelen zonder het apparaat af te vegen eenvoudigweg door de twee fastboot-opdrachten hierboven te gebruiken.
Weet je nog, OnePlus bleek bijna een jaar geleden twee gevaarlijke fastboot-opdrachten te hebben achtergelaten, één die de bootloader ontgrendelde en één die veilig opstarten uitschakelde. Hoewel het waar is dat het een aanvaller is kan geen schadelijke software op het apparaat installeren, ze kunnen het apparaat downgraden hebben ouder, kwetsbaar voor aanvalssoftware. Door simpelweg de bovenstaande fastboot-opdrachten uit te voeren, kan een aanvaller dit doen volledige toegang naar het apparaat.
En dat is alles, de bootloader is ontgrendeld, veilig opstarten is uitgeschakeld en er is absoluut geen gegevensverlies. Als een aanvaller nog een stap verder zou willen gaan, zou hij of zij een kwaadaardige aangepaste kernel kunnen flashen die root-toegang tot het apparaat mogelijk maakt, waar de gebruiker nooit van op de hoogte zou zijn.
Firehose werkt via het Qualcomm Sahara-protocol, dat een door OEM ondertekende programmeur accepteert en is de manier waarop de bovenstaande aanval zou worden uitgevoerd. Wanneer aangesloten op een apparaat, fungeert het als een SBL via USB. De meeste programmeurs gebruiken Brandslang om te communiceren met een telefoon in de EDL-modus, wat de onderzoekers hebben uitgebuit om volledige controle over het apparaat te krijgen. De onderzoekers maakten hier ook gebruik van ontgrendel een Xiaomi-apparaat eenvoudig door een gewijzigde afbeelding te laten knipperen waarmee de bootloader werd ontgrendeld. Vervolgens flashten ze een aangepaste kernel die root-toegang gaf en lanceerden SELinux in permissieve modus en haalden ook de gecodeerde gebruikersdata-afbeelding uit het apparaat.
Conclusie
Het is onbekend waarom OEM's deze programmeurs van Qualcomm vrijgeven. De programmeurs van Nokia, LG, Motorola en Google lekten in plaats van vrijgegeven te worden, maar de onderzoekers zijn er toch in geslaagd doorbreek de hele vertrouwensketen op de Nokia 6 en krijg volledige apparaattoegang via vergelijkbare methoden exploitatie. Ze zijn ervan overtuigd dat de aanval kan worden overgedragen naar elk apparaat dat deze programmeurs ondersteunt. Indien mogelijk moeten OEM's gebruik maken van hardware-qFuses die het terugdraaien van software voorkomen, door te springen wanneer de hardware van het apparaat wordt teruggedraaid en een gebruiker kunnen waarschuwen dat dit heeft plaatsgevonden. Geïnteresseerden kunnen het volledige onderzoekspaper hieronder bekijken en ook de volledige exploitatie van Nokia lezen.
Bron: Aleph Onderzoek