Išnaudoti taikinius „Qualcomm“ EDL režimas, veikia kai kuriuos „Xiaomi“, „OnePlus“, „Nokia“ ir kitus įrenginius

„Qualcomm“ įrenginiai turi EDL režimą, kurį, kaip paaiškėjo, galima išnaudoti, jei turite tinkamus įrankius, kuriuos išleido originalios įrangos gamintojai.

Įrenginiai su Qualcomm mikroschemų rinkiniais turi a Primary Bootloader (PBL), kuris paprastai paleidžia „Android“ sistemą, bet taip pat turi alternatyvų įkrovos režimą, žinomą kaip EDL režimas. EDL režimas yra Qualcomm Esusiliejimas Dnuosavas krūvis Mode ir leidžia an Ooriginalus Eįranga Mgamintojas (OĮG), kad priverstų įrenginyje naudoti „flash“ programinę įrangą. Tai negali būti pakeista (tik skaitymo režimas) ir gali visiškai valdyti įrenginio saugyklą. Daugelis originalios įrangos gamintojų, įskaitant „OnePlus“ ir „Xiaomi“, išleido įrankius (žinomus kaip programuotojai), kurie naudoja EDL režimą ir protokolas, žinomas kaip „Firehose“, skirtas įrenginio atblokavimui, o kiti įrankiai iš įmonių, tokių kaip „Nokia“, nutekėjo. „Firehose“ gali naudoti daugybę komandų, skirtų „flash“ įrenginiams, kartu su galimybe ištirti įrenginio atmintyje esančius duomenis. Saugumo tyrinėtojai

Roee Hay (@roeehay) ir Noamas HadadasAleph tyrimai Naudodami šį režimą, kuris veiksmingai suteikia užpuolikui, aptiko kritinių įrenginio spragų visa prieiga prie įrenginio.

Svarbu tai pastebėti šiam išnaudojimui reikalinga fizinė prieiga prie įrenginio, tačiau jis vis tiek yra nepaprastai pavojingas ir greičiausiai jo negalima pataisyti. Užpuolikai pasinaudojo EDL režimui suteiktu prieigos lygiu, kad apeitų saugų „Nokia 6“ įkrovimą, nugalėdami pasitikėjimo grandinėje ir visiško kodo vykdymo visose įkrovos sekos dalyse, įskaitant „Android“ OS pats. Teoriškai manoma, kad jis taip pat veiks ir kituose įrenginiuose, o mokslininkams taip pat pavyko atrakinti ir išjungti kelis „Xiaomi“ įrenginius neprarandant duomenų.

Kokius įrenginius paveikė šis išnaudojimas?

Pirma, įrenginiai, kurie yra paveikti.

Paveiktų įrenginių sąrašas.

  • LG G4
  • Nokia 6 (d1c)
  • Nokia 5
  • „Nexus 6“ (shamu)
  • „Nexus 6P“ (meškeriotojas)
  • Moto G4 Plus
  • „OnePlus 5“ (sūrio mėsainis)
  • „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“ (skorpionas)
  • „Xiaomi Mix“ (ličio)
  • „Xiaomi Mix 2“ („Chiron“)
  • „Xiaomi Mi 6“ (sagit)
  • „Xiaomi Mi 5s“ (ožiaragis)
  • „Xiaomi Mi 5s Plus“ (natrio)
  • „Xiaomi Mi 5x“ („Tiffany“)
  • „Xiaomi Mi 5“ (gemini)
  • „Xiaomi Mi 3“ („Cancro“)
  • Xiaomi Mi A1 (tissot)
  • „Xiaomi Mi Max2“ (deguonis)
  • „Xiaomi Redmi Note 3“ („kenzo“)
  • „Xiaomi Redmi 5A“ („riva“)
  • „Xiaomi Redmi 4A“ (rožinis)

Skaityti daugiau

Android telefono naudojimas

Įprasto „Android Qualcomm“ telefono įkrovos seka

Prieš paaiškindami, kaip jį galima išnaudoti, pirmiausia svarbu suprasti įprasto „Android“ įrenginio įkrovos seką. The Sįranga Bootloader (SBL) yra skaitmeniniu parašu pasirašyta įkrovos programa, kurios autentiškumas patikrinamas prieš įkeliant į imem. imem yra sparčiai veikianti atmintis, naudojama derinimui ir DMA (dnetiesioginis matmintis access) sandorius ir priklauso Qualcomm mikroschemų rinkiniams.

Kai kurie įrenginiai turi elXtempiamas Bootloader (XBL), o ne SBL, tačiau įkrovos procesas yra beveik tas pats. Tada SBL arba XBL paleidžia ABOOT, kuris įgyvendina greitą įkrovą. Po to taip pat įkeliama „TrustZone“ (aparatinės įrangos apsauga). „TrustZone“ patikrina ABOOT autentiškumą naudodama aparatinės įrangos pagrindinį šakninį sertifikatą. SBL (arba XBL, kai kuriais atvejais) yra skirtas atmesti neteisingai pasirašytą (arba nepasirašytą) ABOOT.

Kai autentifikuotas, ABOOT patikrina /boot ir /recovery autentiškumą prieš paleisdamas Linux branduolį. Kai kurie sistemos parengiamieji darbai atliekami, o tada kodo vykdymas perkeliamas į branduolį. ABOOT paprastai žinomas kaip „Android Bootloader“, o kai atrakiname įrenginio įkrovos įkroviklį, išjungiame šį autentiškumo tikrinimą ABOOT.

Vaizduojama standartinio „Android“ įrenginio įkrovos seka. // Šaltinis: Aleph tyrimai

Prieiga prie EDL režimo

Nors kai kuriuose įrenginiuose yra paprastas aparatinės įrangos derinys (arba dar blogiau, paprasta patentuota greitojo įkrovimo komanda, kuri yra daugelyje „Xiaomi“ įrenginiai), kiti, pavyzdžiui, „Nokia“ įrenginiai, turi sutrumpinti kaiščius, vadinamus „bandymo taškais“, esančius pagrindiniame įrenginio ekrane. lenta. Be to, prieš 2017 m. gruodžio mėn. saugos pataisą buvo galima tiesiog paleisti „adb reboot edl“ daugelyje įrenginių (įskaitant „Nexus 6“ ir „Nexus 6P“) ir įjungti EDL režimą. Nuo to laiko tai buvo ištaisyta.

Bandymo taškai rodomi nupieštame geltoname langelyje įrenginio pagrindinės plokštės apačioje. // Šaltinis: Aleph tyrimai

Kiti įrenginiai taip pat gali naudoti vadinamąjį „giliosios blykstės“ kabelį, kuris yra specialus kabelis su tam tikrais kaiščiais, trumpais, kad sistema būtų įjungta į EDL režimą. Seni Xiaomi įrenginiai gali naudoti šį metodą kartu su „Nokia 5“ ir „Nokia 6“. Kiti įrenginiai taip pat paleidžiami į EDL režimą, kai jiems nepavyks patvirtinti SBL.

Gilus blykstės laidas

EDL režimo naudojimas norint gauti visą prieigą prie „OnePlus 3/3T“.

EDL režimą įrenginyje galima naudoti įvairiais būdais, dažniausiai norint panaikinti įrenginių blokavimą juos mirksinant jėga. Kaip paaiškinta aukščiau, teoriškai visiems turėtų būti saugu pasiekti šį režimą, nes blogiausiu atveju ABOOT atmes programinę įrangą, kuri nėra oficialiai gamintojo pasirašyta. Nors tai tiesa, iš tikrųjų įmanoma visiškai valdyti „OnePlus 3“ arba „3T“ ir jo failus, tyrėjų parodytu koncepcijos išnaudojimo įrodymu.

Tai bus daroma naudojant dvi labai pavojingas komandas, kurias OnePlus paliko pasiekiamas senesnėje ABOOT versijoje (Android įkrovos įkroviklis), kad būtų atrakinta įrenginio įkrovos programa (nerodoma vartotojui perspėjimo įkrovos metu) ir išjungti dm_verity. dm_verity taip pat žinomas kaip patikrintas įkrovimas ir yra saugios įkrovos sekos Android įrenginyje dalis. Dvi komandos yra tokios.

fastboot oem disable_dm_verity
fastboot oem 4F500301/2

Stebėkite toliau pateiktą paprastą 4 žingsnių procesą, kuriame naudojamas Firehose protokolas.

  1. Pirmiausia paleiskite įrenginį į EDL režimą. Tai galima padaryti naudojant adb naudojant OxygenOS 5.0 arba senesnę versiją arba naudojant paprastą aparatinės įrangos klavišų kombinaciją.
  2. Atsisiųskite seną sistemos atvaizdą žemiau esančioje OxygenOS 4.0.2 versijoje.
  3. Flash aboot.bin per firehose (atminkite, kad aboot.bin įgyvendina greitą įkrovą, kaip minėjome anksčiau)
  4. Dabar galėsite išjungti saugų įkrovą ir atrakinti įkrovos įkroviklį nenuvalydami prietaiso tiesiog naudodami dvi aukščiau pateiktas greitosios įkrovos komandas.

Jei prisimenate, anksčiau buvo nustatyta, kad „OnePlus“ beveik prieš metus paliko dvi pavojingas greitojo įkrovimo komandas, vieną, kuri atrakino įkrovos įkroviklį, o kitą išjungė saugų įkrovą. Nors tiesa, kad užpuolikas negali įrenginyje įdiegti kenkėjiškos programinės įrangos, jie gali sumažinti įrenginio versiją turėti senesnės, pažeidžiamos atakų programinės įrangos. Paprasčiausiai vykdydamas aukščiau pateiktas greitosios įkrovos komandas, užpuolikas gali turėti pilna prieiga prie įrenginio.

Ir viskas, įkrovos įkroviklis atrakintas, saugus įkrovimas išjungtas ir duomenų neprarandama visiškai. Jei užpuolikas norėtų žengti dar vieną žingsnį, jis galėtų įjungti kenkėjišką tinkintą branduolį, kuris įgalina root prieigą prie įrenginio, apie kurį vartotojas niekada nežinos.

Firehose veikia per Qualcomm Sahara protokolą, kuris priima OĮG pasirašytą programuotoją ir taip būtų vykdoma aukščiau nurodyta ataka. Prijungtas prie įrenginio, jis veikia kaip SBL per USB. Dauguma programuotojų naudoja Priešgaisrinės žarnos bendrauti su telefonu EDL režimu, kurį tyrėjai išnaudojo siekdami visiškai valdyti įrenginį. Tyrėjai taip pat naudojo tai atrakinkite „Xiaomi“ įrenginį tiesiog mirktelėdami pakeistą vaizdą kuris atrakino įkrovos tvarkyklę. Tada jie įdiegė pasirinktinį branduolį, kuris suteikė root prieigą ir paleido SELinux leistinuoju režimu, taip pat iš įrenginio ištraukė užšifruotą vartotojo duomenų vaizdą.

Išvada

Nežinoma, kodėl originalios įrangos gamintojai išleidžia šiuos programuotojus iš „Qualcomm“. „Nokia“, LG, „Motorola“ ir „Google“ programuotojai nutekėjo, o ne buvo išleisti, tačiau mokslininkams tai pavyko nutraukti visą „Nokia 6“ pasitikėjimo grandinę ir gauti visišką prieigą prie įrenginio panašiais būdais išnaudojimą. Jie įsitikinę, kad ataka gali būti perkelta į bet kurį įrenginį, kuris palaiko šiuos programuotojus. Jei įmanoma, originalios įrangos gamintojai turėtų naudoti aparatūros q saugiklius, kurie apsaugo nuo programinės įrangos atšaukimo, pučiant, kai įrenginio aparatinė įranga atsukama atgal, ir gali įspėti vartotoją, kad tai įvyko. Tie, kurie domisi, gali pažvelgti į visą toliau pateiktą tyrimo dokumentą ir perskaityti visą „Nokia“ naudojimą.


Šaltinis: Aleph Research