Exploit Targets Qualcomm's EDL Mode, ovplyvňuje niektoré Xiaomi, OnePlus, Nokia a ďalšie zariadenia

click fraud protection

Zariadenia Qualcomm majú režim EDL, ktorý, ako sa ukázalo, sa zdá byť zneužiteľný, ak máte správne nástroje vydané výrobcami OEM.

Zariadenia s čipsetmi Qualcomm majú a Primary Bootloader (PBL), ktorý zvyčajne spúšťa systém Android, ale obsahuje aj alternatívny režim zavádzania známy ako režim EDL. EDL režim je od Qualcommu Enúdzový stav Dvlastné zaťaženie Móda a umožňuje an Opôvodný Evybavenie Mvýrobcu (OEM), aby vynútil flash softvér na zariadení. Toto nie je možné upraviť (režim iba na čítanie) a má plnú kontrolu nad úložiskom zariadenia. Mnoho výrobcov OEM vrátane OnePlus a Xiaomi vydalo nástroje (známe ako programátori), ktoré využívajú režim EDL a protokol známy ako Firehose na odblokovanie zariadenia, zatiaľ čo unikli ďalšie nástroje od spoločností, ako je Nokia. Firehose môže využívať množstvo príkazov na flashovanie zariadení spolu so schopnosťou skúmať údaje v pamäti zariadenia. Výskumníci v oblasti bezpečnosti Roee Hay (@roeehay) a Noam Hadad od Aleph Research odhalili kritické zraniteľnosti zariadenia pomocou tohto režimu, ktorý účinne poskytuje útočníkovi povolenie

úplný prístup k zariadeniu.

Je dôležité si to všimnúť tento exploit vyžaduje fyzický prístup k zariadeniu, ale stále je neuveriteľne nebezpečný a pravdepodobne sa nedá opraviť. Útočníci využili úroveň prístupu udelenú režimu EDL na obídenie bezpečného spustenia na telefóne Nokia 6, čím porazili reťaz dôvery a získanie úplného spustenia kódu v každej časti zavádzacej sekvencie vrátane operačného systému Android sám. Teoreticky by to malo fungovať aj na iných zariadeniach a výskumníkom sa tiež podarilo odomknúť a rootovať viacero zariadení Xiaomi bez straty dát.

Aké zariadenia sú ovplyvnené týmto zneužitím?

Po prvé, zariadenia, ktorých sa to týka.

Zoznam ovplyvnených zariadení.

  • LG G4
  • Nokia 6 (d1c)
  • Nokia 5
  • Nexus 6 (shamu)
  • Nexus 6P (rybár)
  • Moto G4 Plus
  • OnePlus 5 (cheeseburger)
  • 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 (škorpión)
  • Xiaomi Mix (lítium)
  • Xiaomi Mix 2 (chiron)
  • Xiaomi Mi 6 (sagit)
  • Xiaomi Mi 5s (kozorožec)
  • Xiaomi Mi 5s Plus (natrium)
  • Xiaomi Mi 5x (tiffany)
  • Xiaomi Mi 5 (gemini)
  • Xiaomi Mi 3 (cancro)
  • Xiaomi Mi A1 (tissot)
  • Xiaomi Mi Max2 (kyslík)
  • Xiaomi Redmi Note 3 (kenzo)
  • Xiaomi Redmi 5A (riva)
  • Xiaomi Redmi 4A (ružový)

čítaj viac

Využívanie telefónu s Androidom

Bootovacia sekvencia typického Android Qualcomm telefónu

Pred vysvetlením, ako sa dá využiť, je dôležité najprv porozumieť postupnosti spúšťania typického zariadenia so systémom Android. The Software Bootloader (SBL) je digitálne podpísaný bootloader, ktorý sa pred načítaním do imem kontroluje na pravosť. imem je rýchla pamäť na čipe používaná na ladenie a DMA (dpriamy memócie access) transakcií a je vlastníctvom čipsetov Qualcomm.

Niektoré zariadenia majú eXnapínateľný Bootloader (XBL) namiesto SBL, ale proces zavádzania je takmer rovnaký. SBL alebo XBL potom spustí ABOOT, ktorý implementuje rýchle spustenie. Následne sa načíta aj TrustZone (hardvérové ​​zabezpečenie). TrustZone kontroluje pravosť ABOOT prostredníctvom hardvérového koreňového certifikátu. SBL (alebo XBL, v niektorých prípadoch) je navrhnutý tak, aby odmietol nesprávne podpísaný (alebo nepodpísaný) ABOOT.

Po overení ABOOT skontroluje pravosť /boot a /recovery pred spustením linuxového jadra. Vykonajú sa niektoré prípravy systému a potom sa spustenie kódu prenesie do jadra. ABOOT je bežne známy ako „Android Bootloader“ a keď odomkneme bootloader zariadenia, deaktivujeme túto kontrolu pravosti v ABOOT.

Zobrazená bootovacia sekvencia štandardného zariadenia Android. // Zdroj: Aleph Research

Prístup k režimu EDL

Zatiaľ čo niektoré zariadenia majú jednoduchú hardvérovú kombináciu (alebo ešte horšie, jednoduchý proprietárny príkaz rýchleho spustenia, ktorý je prítomný v mnohých zariadenia Xiaomi), iné zariadenia, napríklad zariadenia Nokia, potrebujú skrátiť kolíky známe ako „testovacie body“ na hlavnom zariadení doska. Pred bezpečnostnou opravou z decembra 2017 bolo tiež možné jednoducho spustiť „adb reboot edl“ na mnohých zariadeniach (vrátane Nexus 6 a 6P) a vstúpiť do režimu EDL. Toto bolo odvtedy opravené.

Testovacie body sú zobrazené v nakreslenom žltom rámčeku v spodnej časti základnej dosky zariadenia. // Zdroj: Aleph Research

Iné zariadenia môžu tiež používať to, čo je známe ako kábel „deep flash“, čo je špeciálny kábel s určitými skratovanými kolíkmi, ktorý hovorí systému, aby sa namiesto toho zaviedol do režimu EDL. Staré zariadenia Xiaomi môžu využívať túto metódu spolu s Nokia 5 a Nokia 6. Ostatné zariadenia sa tiež zavedú do režimu EDL, keď sa im nepodarí overiť SBL.

Hlboký bleskový kábel

Využitie režimu EDL na získanie úplného prístupu na OnePlus 3/3T

Režim EDL je možné na zariadení využiť mnohými spôsobmi, väčšinou na odblokovanie zariadení ich vynúteným blikaním. Ako je vysvetlené vyššie, teoreticky by mal byť pre kohokoľvek bezpečný prístup k tomuto režimu, pretože najhorším scenárom je, že ABOOT odmietne softvér, ktorý nie je oficiálne podpísaný výrobcom. Aj keď je to pravda, v skutočnosti je možné získať úplnú kontrolu nad OnePlus 3 alebo 3T a ich súbormi v dôkaze využitia konceptu, ktorý ukázali výskumníci.

To sa uskutoční prostredníctvom dvoch veľmi nebezpečných príkazov, ktoré OnePlus nechal dostupné v staršej verzii ABOOT (Android bootloader), aby ste odomkli bootloader zariadenia (bez toho, aby sa používateľovi zobrazilo varovanie pri zavádzaní) a deaktivovali dm_verity. dm_verity je tiež známy ako overené spustenie a je súčasťou sekvencie bezpečného spustenia na zariadení so systémom Android. Tieto dva príkazy sú nasledovné.

fastboot oem disable_dm_verity
fastboot oem 4F500301/2

Všimnite si nižšie uvedený jednoduchý 4-krokový proces, ktorý využíva protokol Firehose.

  1. Najprv spustite zariadenie do režimu EDL. Dá sa to urobiť buď prostredníctvom adb na OxygenOS 5.0 alebo nižšom, alebo pomocou jednoduchej kombinácie hardvérových kľúčov.
  2. Stiahnite si starý obraz systému nižšie OxygenOS 4.0.2.
  3. Flash aboot.bin cez firehose (nezabudnite, že aboot.bin implementuje rýchle spustenie, ako sme už spomenuli)
  4. Teraz budete môcť vypnúť zabezpečené spustenie a odomknúť bootloader bez utierania zariadenia jednoducho pomocou dvoch príkazov rýchleho spustenia vyššie.

Ak si pamätáte, v minulosti sa zistilo, že OnePlus zanechal dva nebezpečné príkazy rýchleho spustenia takmer pred rokom, jeden, ktorý odomkol bootloader a druhý, ktorý deaktivoval bezpečné spustenie. Aj keď je pravda, že útočník nemôže do zariadenia nainštalovať škodlivý softvér, môžu downgrade zariadenia mať starší, zraniteľný voči napadnutému softvéru. Útočník môže mať jednoducho spustením vyššie uvedených príkazov rýchleho spustenia plný prístup k zariadeniu.

A je to, bootloader je odomknutý, secure boot vypnutý a absolútne nedochádza k strate dát. Ak by útočník chcel ísť ešte o krok ďalej, mohol by flashovať škodlivé vlastné jadro, ktoré umožňuje root prístup k zariadeniu, o ktorom by sa používateľ nikdy nedozvedel.

Firehose funguje prostredníctvom protokolu Qualcomm Sahara, ktorý akceptuje programátora podpísaného výrobcom OEM a takto by sa mal vykonať vyššie uvedený útok. Po pripojení k zariadeniu funguje ako SBL cez USB. Väčšina programátorov používa Požiarna hadica komunikovať s telefónom v režime EDL, čo výskumníci využili na získanie plnej kontroly nad zariadením. To využili aj výskumníci odomknite zariadenie Xiaomi jednoducho prebliknutím upraveného obrázka ktorý odomkol bootloader. Potom flashovali vlastné jadro, ktoré poskytlo root prístup a spustilo SELinux v oprávnenom režime a tiež extrahovalo zašifrovaný obraz používateľských údajov zo zariadenia.

Záver

Nie je známe, prečo OEM uvoľňujú týchto programátorov od Qualcommu. Programátori Nokie, LG, Motoroly a Google skôr unikli, než aby boli zverejnení, no výskumníkom sa to podarilo prerušte celý reťazec dôvery v telefóne Nokia 6 a získajte úplný prístup k zariadeniu pomocou podobných metód vykorisťovanie. Sú si istí, že útok môže byť prenesený na akékoľvek zariadenie, ktoré podporuje tieto programátory. Ak je to možné, výrobcovia OEM by mali používať hardvérové ​​poistky qFuses, ktoré zabraňujú vráteniu softvéru tým, že pri vrátení hardvéru zariadenia vybuchnú a môžu varovať používateľa, že k tomu došlo. Záujemcovia si môžu pozrieť celý výskumný dokument nižšie a prečítať si aj úplné využitie Nokie.


Zdroj: Aleph Research