Exploit Targets Qualcommin EDL-tila, vaikuttaa joihinkin Xiaomiin, OnePlusiin, Nokiaan ja muihin laitteisiin

Qualcomm-laitteissa on EDL-tila, joka näyttää olevan hyödynnettävissä, jos sinulla on oikeat OEM-valmistajien julkaisemat työkalut.

Qualcomm-piirisarjoilla varustetuissa laitteissa on a Primary Bootloader (PBL), joka tyypillisesti käynnistää Android-järjestelmän, mutta sisältää myös vaihtoehtoisen käynnistystilan, joka tunnetaan nimellä EDL-tila. EDL-tila on Qualcommin Esulautuminen Doma lataus Mode ja sallii an Oalkuperäinen Evarusteita Mvalmistaja (OEM) pakottaa flash-ohjelmiston laitteeseen. Tätä ei voi muokata (vain luku -tila), ja se hallitsee täysin laitteen tallennustilaa. Monet OEM-valmistajat, mukaan lukien OnePlus ja Xiaomi, ovat julkaisseet työkaluja (tunnetaan nimellä ohjelmoijat), jotka käyttävät EDL-tilaa ja Protokolla, joka tunnetaan nimellä Firehose laitteen poistamiseksi, kun taas muita työkaluja yhtiöiltä, ​​kuten Nokia, on vuotanut. Firehose voi käyttää useita komentoja flash-laitteille sekä kykyä tarkastella laitteen muistissa olevia tietoja. Turvallisuustutkijat Roee Hay

(@roeehay) ja Noam Hadad alkaen Aleph Research ovat havainneet kriittisiä laitehaavoittuvuuksia käyttämällä tätä tilaa, joka antaa hyökkääjälle mahdollisuuden täysi pääsy laitteisiin.

On tärkeää huomata se Tämä hyväksikäyttö vaatii fyysistä pääsyä laitteeseen, mutta se on silti uskomattoman vaarallinen eikä sitä todennäköisesti voi korjata. Hyökkääjät käyttivät EDL-tilalle myönnettyä käyttöoikeustasoa ohittaakseen Nokia 6:n suojatun käynnistyksen ja kukistaneet luottamusketjun ja täyden koodin suorittamisen kaikissa käynnistyssekvenssin osissa, mukaan lukien Android-käyttöjärjestelmä itse. Sen on teoriassa toimivan samalla tavalla muilla laitteilla, ja tutkijat onnistuivat myös avaamaan ja juurruttamaan useita Xiaomi-laitteita ilman tietojen menetystä.

Mihin laitteisiin tämä hyväksikäyttö vaikuttaa?

Ensinnäkin laitteet, joihin tämä vaikuttaa.

Luettelo laitteista, joita tämä koskee.

  • LG G4
  • Nokia 6 (d1c)
  • Nokia 5
  • Nexus 6 (shamu)
  • Nexus 6P (onkija)
  • Moto G4 Plus
  • OnePlus 5 (juustohampurilainen)
  • OnePlus 3T
  • OnePlus 3
  • OnePlus 2
  • OnePlus X
  • Yksi plus yksi
  • 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 (skorpioni)
  • Xiaomi Mix (litium)
  • Xiaomi Mix 2 (Chiron)
  • Xiaomi Mi 6 (sagit)
  • Xiaomi Mi 5s (kauris)
  • Xiaomi Mi 5s Plus (natrium)
  • Xiaomi Mi 5x (Tiffany)
  • Xiaomi Mi 5 (gemini)
  • Xiaomi Mi 3 (cancro)
  • Xiaomi Mi A1 (tissot)
  • Xiaomi Mi Max2 (happi)
  • Xiaomi Redmi Note 3 (kenzo)
  • Xiaomi Redmi 5A (riva)
  • Xiaomi Redmi 4A (ruusuinen)

Lue lisää

Android-puhelimen hyödyntäminen

Tyypillisen Android Qualcomm -puhelimen käynnistysjärjestys

On tärkeää ymmärtää ensin tyypillisen Android-laitteen käynnistysjärjestys, ennen kuin selitetään, kuinka sitä voidaan hyödyntää. The Slaitteisto Bootloader (SBL) on digitaalisesti allekirjoitettu käynnistyslatain, jonka aitous tarkistetaan ennen lataamista imemiin. imem on nopeasti toimiva muisti, jota käytetään virheenkorjaukseen ja DMA (direkti mmuisti access) -tapahtumat ja se on Qualcommin piirisarjojen omaisuutta.

Joissakin laitteissa on eXjännittävä Bootloader (XBL) SBL: n sijaan, mutta käynnistysprosessi on melko sama. SBL tai XBL käynnistää sitten ABOOTin, joka toteuttaa pikakäynnistyksen. Tämän jälkeen ladataan myös TrustZone (laitteistopohjainen suojaus). TrustZone tarkistaa ABOOTin aitouden laitteistopohjaisen juurivarmenteen avulla. SBL (tai XBL, joissain tapauksissa) on suunniteltu hylkäämään väärin allekirjoitettu (tai allekirjoittamaton) ABOOT.

Todennuksen jälkeen ABOOT tarkistaa /boot ja /recovery aitouden ennen Linux-ytimen käynnistämistä. Jotkut järjestelmän valmistelut on tehty, ja sitten koodin suoritus siirretään ytimeen. ABOOT tunnetaan yleisesti nimellä "Android Bootloader", ja kun avaamme laitteen käynnistyslataimen lukituksen, poistamme tämän aitouden tarkistuksen käytöstä ABOOTissa.

Tavallisen Android-laitteen käynnistysjärjestys visualisoituna. // Lähde: Aleph Research

Pääsy EDL-tilaan

Vaikka joissakin laitteissa on yksinkertainen laitteistoyhdistelmä (tai pahempaa, monissa on yksinkertainen oma pikakäynnistyskomento Xiaomi-laitteet), muiden, kuten Nokia-laitteiden, on lyhennettävä nastat, jotka tunnetaan "testipisteinä", jotka ovat laitteen pääpaneelissa. hallitus. Ennen joulukuun 2017 tietoturvakorjausta oli myös mahdollista suorittaa "adb reboot edl" monilla laitteilla (mukaan lukien Nexus 6 ja 6P) ja siirtyä EDL-tilaan. Tämä on sittemmin korjattu.

Testipisteet näkyvät piirretyssä keltaisessa laatikossa laitteen emolevyn alaosassa. // Lähde: Aleph Research

Muut laitteet voivat myös käyttää niin kutsuttua "deep flash" -kaapelia, joka on erityinen kaapeli, jossa on tietyt nastat oikosulussa, jotta järjestelmä käynnistyy sen sijaan EDL-tilaan. Vanhat Xiaomi-laitteet voivat hyödyntää tätä menetelmää yhdessä Nokia 5:n ja Nokia 6:n kanssa. Myös muut laitteet käynnistyvät EDL-tilaan, jos ne eivät pysty vahvistamaan SBL: ää.

Syvä salamakaapeli

Hyödynnä EDL-tilaa saadaksesi täyden pääsyn OnePlus 3/3T: lle

EDL-tilaa voidaan käyttää laitteessa useilla tavoilla, enimmäkseen laitteiden poistamiseen pakottamalla niitä. Kuten yllä selitettiin, kenen tahansa pitäisi teoriassa olla turvallista käyttää tätä tilaa, koska pahimmassa tapauksessa ABOOT hylkää ohjelmiston, jota valmistaja ei ole virallisesti allekirjoittanut. Vaikka tämä on totta, OnePlus 3:n tai 3T: n ja sen tiedostojen täydellinen hallinta on todella mahdollista tutkijoiden osoittamalla konseptin hyväksikäytöllä.

Tämä tehdään kahdella erittäin vaarallisella komennolla, jotka OnePlus jätti saataville vanhemmassa ABOOT-versiossa (Android käynnistyslatain) laitteen käynnistyslataimen lukituksen avaamiseksi (ilman varoitusta, joka näytetään käyttäjälle käynnistyksen yhteydessä) ja poistaa käytöstä dm_verity. dm_verity tunnetaan myös nimellä vahvistettu käynnistys, ja se on osa Android-laitteen turvallista käynnistysjaksoa. Kaksi komentoa ovat seuraavat.

fastboot oem disable_dm_verity
fastboot oem 4F500301/2

Tarkkaile alla olevaa yksinkertaista, 4-vaiheista prosessia, jossa käytetään Firehose-protokollaa.

  1. Käynnistä laite ensin EDL-tilaan. Tämä voidaan tehdä joko adb: n kautta OxygenOS 5.0:ssa tai sitä vanhemmassa versiossa tai käyttämällä yksinkertaista laitteistonäppäinyhdistelmää.
  2. Lataa vanha järjestelmäkuva alla olevasta OxygenOS 4.0.2:sta.
  3. Flash aboot.bin firehosen kautta (muista, että aboot.bin toteuttaa pikakäynnistyksen, kuten aiemmin mainittiin)
  4. Nyt voit poistaa suojatun käynnistyksen käytöstä ja avata käynnistyslataimen pyyhkimättä laitetta yksinkertaisesti käyttämällä kahta yllä olevaa pikakäynnistyskomentoa.

Jos muistat, OnePlusin havaittiin aiemmin jättäneen kaksi vaarallista pikakäynnistyskomentoa lähes vuosi sitten, joista toinen avasi käynnistyslataimen ja toinen poisti suojatun käynnistyksen. Vaikka on totta, että hyökkääjä ei voi asentaa haittaohjelmia laitteeseen, he voivat alentaa laite olla vanhempi, alttiina hyökkäyksille ohjelmistoille. Yksinkertaisesti suorittamalla yllä olevat pikakäynnistyskomennot, hyökkääjä voi saada täysi pääsy laitteeseen.

Ja siinä kaikki, käynnistyslatain on lukitsematon, suojattu käynnistys on kytketty pois päältä ja tietoja ei häviä lainkaan. Jos hyökkääjä haluaisi viedä tämän askeleen pidemmälle, hän saattoi salata haitallisen mukautetun ytimen, joka mahdollistaa pääkäyttäjän pääsyn laitteeseen, josta käyttäjä ei koskaan tietäisi.

Firehose toimii Qualcomm Sahara -protokollan kautta, joka hyväksyy OEM-allekirjoitetun ohjelmoijan ja näin yllä oleva hyökkäys suoritetaan. Kun se on liitetty laitteeseen, se toimii SBL: nä USB: n kautta. Useimmat ohjelmoijat käyttävät Paloletku kommunikoida puhelimen kanssa EDL-tilassa, jota tutkijat käyttivät hyväkseen saadakseen täyden laitteen hallinnan. Myös tutkijat käyttivät tätä avaa Xiaomi-laitteen lukitus yksinkertaisesti vilkuttamalla muokattua kuvaa joka avasi käynnistyslataimen lukituksen. Sitten he vaihtoivat mukautetun ytimen, joka antoi pääkäyttäjän oikeudet ja käynnisti SELinuxin sallivassa muodossa ja myös purkivat salatun käyttäjätietojen kuvan laitteesta.

Johtopäätös

Ei tiedetä, miksi OEM-valmistajat vapauttavat nämä ohjelmoijat Qualcommista. Nokian, LG: n, Motorolan ja Googlen ohjelmoijat vuotivat sen sijaan, että niitä olisi julkaistu, mutta tutkijat onnistuivat katkaise Nokia 6:n koko luottamusketju ja hanki täysi pääsy laitteille vastaavilla tavoilla hyväksikäyttö. He ovat varmoja, että hyökkäys voidaan siirtää mihin tahansa laitteeseen, joka tukee näitä ohjelmoijia. OEM-valmistajien tulisi mahdollisuuksien mukaan käyttää laitteiston qFuse-sulakkeita, jotka estävät ohjelmistojen palautumisen puhaltamalla, kun laitteen laitteistoa käännetään takaisin, ja voivat varoittaa käyttäjää siitä, että se on tapahtunut. Kiinnostuneet voivat katsoa alla olevaa koko tutkimuspaperia ja lukea myös koko Nokian hyödyntäminen.


Lähde: Aleph Research