Kasutage sihtmärke Qualcommi EDL-režiimi, mõjutab mõnda Xiaomit, OnePlusi, Nokiat ja muid seadmeid

Qualcommi seadmetel on EDL-režiim, mis näib olevat kasutatav, kui teil on originaalseadmete tootjate välja antud õiged tööriistad.

Qualcommi kiibistikuga seadmetel on a Primaarne Bootloader (PBL), mis tavaliselt käivitab Androidi süsteemi, kuid sisaldab ka alternatiivset alglaadimisrežiimi, mida nimetatakse EDL-režiimiks. EDL-režiim on Qualcommi oma Eühinemine Denda laadimine Mode ja lubab an Ooriginaal Evarustus Mtootja (OEM), et sundida seadmesse välklambi tarkvara. Seda ei saa muuta (kirjutuskaitstud režiim) ja sellel on täielik kontroll seadme salvestusruumi üle. Paljud originaalseadmete tootjad, sealhulgas OnePlus ja Xiaomi, on välja andnud tööriistad (tuntud kui programmeerijad), mis kasutavad EDL-režiimi ja Protokoll, mida tuntakse Firehose'ina, et seade lahti ühendada, samas kui teised ettevõtted, nagu Nokia, on lekkinud. Firehose saab seadmete välgutamiseks kasutada mitmeid käske ning võimalust uurida seadme mälus olevaid andmeid. Turvauurijad Roee Hay (@roeehay) ja Noam Hadad alates

Alephi uurimine on seda režiimi kasutades avastanud seadme kriitilisi turvaauke, mis annab ründajale tõhusa võimaluse täielik juurdepääs seadmele.

Oluline on seda tähele panna see ärakasutamine nõuab füüsilist juurdepääsu seadmele, kuid see on siiski uskumatult ohtlik ja tõenäoliselt ei saa seda parandada. Ründajad kasutasid EDL-režiimile antud juurdepääsutaset, et Nokia 6 turvalisest alglaadimisest mööda minna, alistades usaldusahela ja täieliku koodi täitmise saavutamine alglaadimisjärjestuse igas osas, sealhulgas Android OS-is ise. Teoreetiliselt töötab see samamoodi ka teistes seadmetes ning teadlastel õnnestus ka mitu Xiaomi seadet avada ja juurutada ilma andmete kadumiseta.

Milliseid seadmeid see ärakasutamine mõjutab?

Esiteks seadmed, mida see mõjutab.

Mõjutatud seadmete loend.

  • LG G4
  • Nokia 6 (d1c)
  • Nokia 5
  • Nexus 6 (shamu)
  • Nexus 6P (õngitseja)
  • Moto G4 Plus
  • OnePlus 5 (juustuburger)
  • OnePlus 3T
  • OnePlus 3
  • OnePlus 2
  • OnePlus X
  • OnePlus One
  • ZTE Axon 7
  • ZUK Z1
  • ZUK Z2
  • Xiaomi Note 5A (uglite)
  • Xiaomi Note 5 Prime (ugg)
  • Xiaomi Note 4 (mido)
  • Xiaomi Note 3 (Jason)
  • Xiaomi Note 2 (skorpion)
  • Xiaomi Mix (liitium)
  • Xiaomi Mix 2 (Chiron)
  • Xiaomi Mi 6 (sagit)
  • Xiaomi Mi 5s (kaljukits)
  • Xiaomi Mi 5s Plus (natrium)
  • Xiaomi Mi 5x (tiffany)
  • Xiaomi Mi 5 (gemini)
  • Xiaomi Mi 3 (Cancro)
  • Xiaomi Mi A1 (tissot)
  • Xiaomi Mi Max2 (hapnik)
  • Xiaomi Redmi Note 3 (kenzo)
  • Xiaomi Redmi 5A (riva)
  • Xiaomi Redmi 4A (roosiline)

Loe rohkem

Android-telefoni kasutamine

Tavalise Android Qualcommi telefoni alglaadimisjärjestus

Enne selle ärakasutamise selgitamist on oluline kõigepealt mõista tüüpilise Android-seadme alglaadimisjärjestust. The Spõhivara Bootloader (SBL) on digitaalselt allkirjastatud alglaadur, mille autentsust kontrollitakse enne imemi laadimist. imem on kiire kiipmälu, mida kasutatakse silumiseks ja DMA (directed mmälu access) tehinguid ja see kuulub Qualcommi kiibistikule.

Mõnel seadmel on eXpingeline Bootloader (XBL), mitte SBL, kuid alglaadimisprotsess on peaaegu sama. Seejärel käivitab SBL või XBL ABOOT, mis rakendab kiirkäivitust. Pärast seda laaditakse ka TrustZone (riistvarapõhine turvalisus). TrustZone kontrollib ABOOTi autentsust riistvarapõhise juursertifikaadi abil. SBL (või mõnel juhul XBL) on loodud valesti allkirjastatud (või allkirjastamata) ABOOT-i tagasilükkamiseks.

Pärast autentimist kontrollib ABOOT enne Linuxi kerneli käivitamist /boot ja /recovery autentsust. Mõned süsteemi ettevalmistused on tehtud ja seejärel kantakse koodi täitmine üle kernelile. ABOOT on üldtuntud kui "Android Bootloader" ja kui me seadme alglaaduri avame, keelame selle autentsuse kontrolli rakenduses ABOOT.

Tavalise Android-seadme alglaadimisjärjestus visualiseeritud. // Allikas: Alephi uurimine

Juurdepääs EDL-režiimile

Kuigi mõnel seadmel on lihtne riistvarakombinatsioon (või veelgi hullem, paljudes on olemas lihtne patenteeritud kiirkäivituskäsk Xiaomi seadmed), teised, näiteks Nokia seadmed, peavad lühendama tihvtid, mida nimetatakse "testipunktideks", mis asuvad seadme põhipaneelil. juhatus. Samuti oli enne 2017. aasta detsembri turvaparandust võimalik paljudes seadmetes (sh Nexus 6 ja 6P) lihtsalt käivitada "adb reboot edl" ja siseneda EDL-režiimi. Sellest ajast saadik on see parandatud.

Testimispunktid on näidatud joonistatud kollases kastis seadme emaplaadi allosas. // Allikas: Alephi uurimine

Teised seadmed võivad kasutada ka nn sügava välgu kaablit, mis on spetsiaalne kaabel, mille teatud kontaktid on lühistatud, et anda süsteemile EDL-režiimi käivitamine. Vanad Xiaomi seadmed saavad seda meetodit kasutada koos Nokia 5 ja Nokia 6-ga. Teised seadmed käivituvad samuti EDL-režiimi, kui nad ei suuda SBL-i kontrollida.

Sügav välgukaabel

EDL-režiimi kasutamine OnePlus 3/3T-le täieliku juurdepääsu saamiseks

EDL-režiimi saab seadmes kasutada mitmel erineval viisil, peamiselt seadmete blokeeringu eemaldamiseks nende sundvilgutamise teel. Nagu ülalpool selgitatud, peaks teoreetiliselt olema kõigile sellele režiimile juurdepääsetav turvaline, sest halvimal juhul lükkab ABOOT tagasi tarkvara, mis pole tootja poolt ametlikult allkirjastatud. Kuigi see on tõsi, on tegelikult võimalik saavutada täielik kontroll OnePlus 3 või 3T ja selle failide üle teadlaste näidatud kontseptsiooni ärakasutamise tõendis.

Seda tehakse kahe väga ohtliku käsu kaudu, mis OnePlus jättis ABOOTi vanemas versioonis (Android) juurdepääsetavaks alglaadur), et avada seadme alglaadur (ilma kasutajale alglaadimisel hoiatust näitamata) ja keelata dm_verity. dm_verity on tuntud ka kui kinnitatud alglaadimine ja see on osa Android-seadme turvalisest algkäivitusjärjestusest. Need kaks käsku on järgmised.

fastboot oem disable_dm_verity
fastboot oem 4F500301/2

Järgige lihtsat neljaastmelist protsessi, mis kasutab Firehose'i protokolli.

  1. Esiteks käivitage seade EDL-režiimi. Seda saab teha kas adb kaudu OxygenOS 5.0 või vanemas versioonis või kasutades lihtsat riistvaraklahvide kombinatsiooni.
  2. Laadige alla OxygenOS 4.0.2 vana süsteemipilt.
  3. Flash aboot.bin läbi firehose (pidage meeles, et aboot.bin rakendab kiiret alglaadimist, nagu me varem mainisime)
  4. Nüüd saate turvalise alglaadimise keelata ja alglaaduri avada seadet pühkimata lihtsalt kasutades kahte ülaltoodud kiirkäivituskäsku.

Kui mäletate, leiti, et OnePlus jättis peaaegu aasta tagasi kaks ohtlikku kiirkäivituskäsku, millest üks avas alglaaduri ja teine ​​keelas turvalise alglaadimise. Kuigi see on tõsi, et ründaja ei saa seadmesse pahatahtlikku tarkvara installida, nad saavad seade alandada omama vanem, ründetarkvara suhtes haavatav. Lihtsalt ülaltoodud kiirkäivituskäskude käivitamine võib ründajal olla täielik juurdepääs seadmele.

Ja ongi kõik, alglaadur on lukustamata, turvaline alglaadimine välja lülitatud ja andmete kadu pole absoluutselt. Kui ründaja sooviks seda sammu edasi teha, võib ta vilkuda pahatahtliku kohandatud kerneliga, mis võimaldab seadmele juurjuurdepääsu, millest kasutaja kunagi teada ei saaks.

Firehose töötab Qualcomm Sahara protokolli kaudu, mis aktsepteerib OEM-i allkirjastatud programmeerijat ja nii viiakse läbi ülaltoodud rünnak. Seadmega ühendatuna toimib see USB kaudu SBL-na. Enamik programmeerijaid kasutab Tuletõrjevoolik suhelda telefoniga EDL-režiimis, mida teadlased kasutasid seadme täieliku juhtimise saavutamiseks. Teadlased kasutasid seda ka avage Xiaomi seade lihtsalt muudetud pildi vilkumisega mis avas alglaaduri. Seejärel käivitasid nad kohandatud kerneli, mis andis juurjuurdepääsu ja käivitas SELinuxi lubavas vormis ning ekstraheeris seadmest ka krüptitud kasutajaandmete pildi.

Järeldus

Pole teada, miks originaalseadmete tootjad need programmeerijad Qualcommist välja lasevad. Nokia, LG, Motorola ja Google'i programmeerijad pigem lekkisid, mitte ei vabastatud, kuid teadlastel õnnestus see murda kogu Nokia 6 usaldusahel ja saada täielikku juurdepääsu seadmele sarnaste meetodite abil ärakasutamine. Nad on kindlad, et rünnaku saab teisaldada mis tahes seadmesse, mis neid programmeerijaid toetab. Võimaluse korral peaksid originaalseadmete tootjad kasutama riistvara qfuse, mis takistavad tarkvara tagasipööramist, puhudes seadme riistvara tagasi kerimisel ja hoiatavad kasutajat, et see on toimunud. Huvilised saavad vaadata allolevat täielikku uurimistööd ja lugeda ka Nokia täielikku kasutust.


Allikas: Aleph Research