Exploit cilja Qualcommov EDL način rada, utječe na neke Xiaomi, OnePlus, Nokia i druge uređaje

Qualcomm uređaji imaju EDL način rada, koji se, kako se pokazalo, može iskoristiti ako imate prave alate koje su izdali OEM-ovi.

Uređaji s Qualcomm čipsetovima imaju a Primarni Bootloader (PBL) koji obično pokreće Android sustav, ali sadrži i alternativni način pokretanja poznat kao EDL način. EDL mod je Qualcommov Emergencija Dvlastito opterećenje Mode i dopušta an Ooriginalan Eoprema Mproizvođača (OEM) za prisilno instaliranje flash softvera na uređaju. Ovo se ne može mijenjati (način samo za čitanje) i ima punu kontrolu nad pohranom uređaja. Mnogi proizvođači originalne opreme, uključujući OnePlus i Xiaomi, objavili su alate (poznate kao programeri) koji koriste EDL način i protokol poznat kao Firehose za unbrick uređaj, dok su drugi alati tvrtki poput Nokie procurili. Firehose može koristiti brojne naredbe za flash uređaje, zajedno s mogućnošću ispitivanja podataka unutar memorije uređaja. Istraživači sigurnosti Roee Hay (@roeehay) i Noam Hadad iz Aleph istraživanje su otkrili kritične ranjivosti uređaja koristeći ovaj način, koji napadaču učinkovito dopušta puni pristup uređaju.

Važno je napomenuti da ovaj exploit zahtijeva fizički pristup uređaju, ali je i dalje nevjerojatno opasan i vjerojatno se ne može zakrpati. Napadači su iskoristili razinu pristupa dodijeljenu EDL modu za zaobilaženje sigurnog pokretanja na Nokiji 6, porazivši lanac povjerenja i postizanje potpunog izvršenja koda u svakom dijelu slijeda pokretanja, uključujući OS Android sebe. Teoretizira se da radi na isti način na drugim uređajima, a istraživači su također uspjeli otključati i rootati više Xiaomi uređaja bez gubitka podataka.

Na koje uređaje utječe ovo iskorištavanje?

Prvo, uređaji koji su pogođeni.

Popis pogođenih uređaja.

  • LG G4
  • Nokia 6 (d1c)
  • Nokia 5
  • Nexus 6 (shamu)
  • Nexus 6P (ribolov)
  • Moto G4 Plus
  • OnePlus 5 (čizburger)
  • OnePlus 3T
  • OnePlus 3
  • OnePlus 2
  • OnePlus X
  • OnePlus One
  • 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 (škorpion)
  • Xiaomi Mix (litij)
  • Xiaomi Mix 2 (chiron)
  • Xiaomi Mi 6 (sagit)
  • Xiaomi Mi 5s (jarac)
  • Xiaomi Mi 5s Plus (natrij)
  • Xiaomi Mi 5x (tiffany)
  • Xiaomi Mi 5 (blizanac)
  • Xiaomi Mi 3 (cancro)
  • Xiaomi Mi A1 (tissot)
  • Xiaomi Mi Max2 (kisik)
  • Xiaomi Redmi Note 3 (kenzo)
  • Xiaomi Redmi 5A (riva)
  • Xiaomi Redmi 4A (ružičasti)

Čitaj više

Iskorištavanje Android telefona

Redoslijed pokretanja tipičnog Android Qualcomm telefona

Važno je najprije razumjeti redoslijed pokretanja tipičnog Android uređaja prije objašnjenja kako ga se može iskoristiti. The Software Bootloader (SBL) je digitalno potpisan bootloader čija se autentičnost provjerava prije učitavanja u imem. imem je brza memorija na čipu koja se koristi za otklanjanje pogrešaka i DMA (dizravni memory access) transakcije i vlasništvo je Qualcomm čipseta.

Neki uređaji imaju exrastezljiv Bootloader (XBL) umjesto SBL-a, ali postupak dizanja je gotovo isti. SBL ili XBL zatim pokreće ABOOT, koji implementira brzo pokretanje. Nakon toga se također učitava TrustZone (sigurnost temeljena na hardveru). TrustZone provjerava autentičnost ABOOT-a putem hardverski temeljenog korijenskog certifikata. SBL (ili XBL, u nekim slučajevima) dizajniran je za odbijanje netočno potpisanog (ili nepotpisanog) ABOOT-a.

Nakon provjere autentičnosti, ABOOT provjerava autentičnost /boot i /recovery prije pokretanja Linux kernela. Izvršene su neke pripreme sustava, a zatim se izvršenje koda prenosi na kernel. ABOOT je općenito poznat kao "Android Bootloader", a kada otključamo bootloader uređaja, onemogućujemo ovu provjeru autentičnosti u ABOOT-u.

Vizualiziran redoslijed pokretanja standardnog Android uređaja. // Izvor: Aleph istraživanje

Pristup EDL modu

Dok neki uređaji imaju jednostavnu kombinaciju hardvera (ili još gore, jednostavnu vlasničku naredbu za brzo pokretanje prisutnu u mnogima Xiaomi uređaji), drugi, kao što su Nokia uređaji, trebaju skratiti igle poznate kao "testne točke" koje se nalaze na glavnom uređaju uređaja odbor. Također je prije sigurnosne zakrpe iz prosinca 2017. bilo moguće jednostavno pokrenuti "adb reboot edl" na mnogim uređajima (uključujući Nexus 6 i 6P) i ući u EDL mod. To je u međuvremenu popravljeno.

Ispitne točke prikazane su u nacrtanom žutom okviru na dnu matične ploče uređaja. // Izvor: Aleph istraživanje

Drugi uređaji također mogu koristiti ono što je poznato kao "deep flash" kabel, što je poseban kabel s određenim kontaktima kratko spojenim kako bi se sustavu umjesto toga podiglo u EDL modu. Stari Xiaomi uređaji mogu koristiti ovu metodu, kao i Nokia 5 i Nokia 6. Drugi uređaji će se također pokrenuti u EDL modu kada ne uspiju provjeriti SBL.

Kabel duboke bljeskalice

Korištenje EDL načina za dobivanje punog pristupa na OnePlus 3/3T

EDL način rada može se koristiti na više načina na uređaju, uglavnom za uklanjanje uređaja prisilnim bljeskanjem. Kao što je gore objašnjeno, teoretski bi trebalo biti sigurno za bilo koga da pristupi ovom načinu rada, jer je u gorem slučaju scenarij da će ABOOT odbiti softver koji nije službeno potpisan od strane proizvođača. Iako je to točno, zapravo je moguće dobiti potpunu kontrolu nad OnePlus 3 ili 3T i njegovim datotekama u dokazu koncepta koji su pokazali istraživači.

To će se učiniti kroz dvije vrlo opasne naredbe koje je OnePlus ostavio dostupnima u starijoj verziji ABOOT-a (Android bootloader), kako biste otključali bootloader uređaja (bez upozorenja koje se prikazuje korisniku pri pokretanju) i onemogućili dm_vjernost. dm_verity je također poznat kao verified boot i dio je sigurnog slijeda pokretanja na Android uređaju. Dvije naredbe su sljedeće.

fastboot oem disable_dm_verity
fastboot oem 4F500301/2

Promatrajte jednostavan postupak u 4 koraka u nastavku koji koristi Firehose protokol.

  1. Prvo pokrenite uređaj u EDL način rada. To se može učiniti putem adb-a na OxygenOS 5.0 ili nižoj verziji ili pomoću jednostavne hardverske kombinacije tipki.
  2. Preuzmite staru sliku sustava ispod OxygenOS 4.0.2.
  3. Flash aboot.bin kroz firehose (zapamtite da aboot.bin implementira fastboot, kao što smo ranije spomenuli)
  4. Sada ćete moći onemogućiti sigurno pokretanje i otključati bootloader bez brisanja uređaja jednostavno korištenjem dvije gornje naredbe za brzo pokretanje.

Ako se sjećate, ranije je otkriveno da je OnePlus ostavio dvije opasne naredbe za brzo pokretanje prije gotovo godinu dana, jednu koja je otključala bootloader i jednu koja je onemogućila sigurno pokretanje. Iako je istina da napadač ne može instalirati zlonamjerni softver na uređaj, oni mogu smanjite uređaj imati stariji, ranjivi na softver za napade. Jednostavnim pokretanjem gore navedenih naredbi za brzo pokretanje, napadač može imati puni pristup na uređaj.

I to je to, bootloader je otključan, sigurno pokretanje je isključeno i nema apsolutno nikakvog gubitka podataka. Ako bi napadač želio napraviti korak dalje, mogao bi flashati malicioznu prilagođenu jezgru koja omogućuje root pristup uređaju za koji korisnik nikad ne bi znao.

Firehose radi preko protokola Qualcomm Sahara, koji prihvaća programator s potpisom OEM-a i tako bi se izvršio gornji napad. Kada je spojen na uređaj, ponaša se kao SBL preko USB-a. Većina programera koristi Vatrogasna cijev za komunikaciju s telefonom u EDL modu, što su istraživači iskoristili za postizanje potpune kontrole uređaja. Istraživači su to također iskoristili za otključajte Xiaomi uređaj jednostavnim treptanjem modificirane slike koji je otključao bootloader. Zatim su pokrenuli prilagođenu jezgru koja je dala root pristup i pokrenuli SELinux u dopuštenom stanju te također izvukli šifriranu sliku korisničkih podataka s uređaja.

Zaključak

Nepoznato je zašto proizvođači originalne opreme puštaju te programere iz Qualcomma. Programeri Nokije, LG-a, Motorola i Googlea procurili su umjesto da budu objavljeni, no istraživači su uspjeli prekinuti cijeli lanac povjerenja na Nokiji 6 i dobiti puni pristup uređaju sličnim metodama iskorištavanje. Uvjereni su da se napad može prenijeti na bilo koji uređaj koji podržava te programere. Ako je moguće, proizvođači originalne opreme trebali bi koristiti hardverske qFuse koji sprječavaju vraćanje softvera u prethodno stanje, aktiviranjem kada se hardver uređaja vrati u prethodno stanje i mogu upozoriti korisnika da se to dogodilo. Oni koji su zainteresirani mogu pogledati cjeloviti istraživački rad u nastavku te mogu pročitati i cjelovitu Nokijinu eksploataciju.


Izvor: Aleph Research