A Qualcomm EDL-módjának kihasználása bizonyos Xiaomi, OnePlus, Nokia és más eszközöket érint

A Qualcomm eszközök EDL móddal rendelkeznek, amely, mint kiderült, kihasználhatónak tűnik, ha megvannak a megfelelő eszközök, amelyeket az OEM-ek bocsátottak ki.

A Qualcomm lapkakészlettel rendelkező eszközök a Primáris Bjajloader (PBL), amely általában az Android rendszert indítja el, de egy alternatív rendszerindítási módot is tartalmaz, amelyet EDL módnak neveznek. Az EDL mód a Qualcomm Eösszevonás Dsaját betöltés Móda és lehetővé teszi an Oeredeti Efelszerelést Mgyártó (OEM), hogy flash szoftvert kényszerítsen az eszközre. Ez nem módosítható (csak olvasható mód), és teljes mértékben felügyeli az eszköz tárhelyét. Számos OEM, köztük a OnePlus és a Xiaomi olyan eszközöket (más néven programozókat) adott ki, amelyek EDL módot és Firehose néven ismert protokoll egy eszköz lebontására, míg más cégek, például a Nokia eszközei kiszivárogtak. A Firehose számos parancsot használhat az eszközök felvillantásához, valamint képes megvizsgálni az eszköz memóriájában lévő adatokat. Biztonsági kutatók

Roee Hay (@roeehay) és Noam Hadad tól től Aleph Research kritikus eszközsebezhetőséget fedeztek fel ezzel a móddal, amely hatékonyan biztosítja a támadó számára teljes eszköz hozzáférés.

Ezt fontos megjegyezni ez a kihasználás fizikai hozzáférést igényel az eszközhöz, de még mindig hihetetlenül veszélyes, és valószínűleg nem javítható. A támadók az EDL módnak biztosított hozzáférési szintet kihasználva megkerülték a Nokia 6 biztonságos rendszerindítását, legyőzve a bizalmi lánc, és teljes kódvégrehajtás a rendszerindítási sorrend minden részén, beleértve az Android operációs rendszert is maga. Elméletileg más eszközökön is ugyanúgy működik, és a kutatóknak több Xiaomi eszközt is sikerült feloldaniuk és rootolniuk adatvesztés nélkül.

Milyen eszközöket érint ez az exploit?

Először is az érintett eszközök.

Az érintett eszközök listája.

  • LG G4
  • Nokia 6 (d1c)
  • Nokia 5
  • Nexus 6 (shamu)
  • Nexus 6P (horgász)
  • Moto G4 Plus
  • OnePlus 5 (sajtburger)
  • OnePlus 3T
  • OnePlus 3
  • OnePlus 2
  • OnePlus X
  • Egy meg egy
  • 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 (skorpió)
  • Xiaomi Mix (lítium)
  • Xiaomi Mix 2 (Chiron)
  • Xiaomi Mi 6 (sagit)
  • Xiaomi Mi 5s (Bak)
  • Xiaomi Mi 5s Plus (natrium)
  • Xiaomi Mi 5x (Tiffany)
  • Xiaomi Mi 5 (gemini)
  • Xiaomi Mi 3 (Cancro)
  • Xiaomi Mi A1 (tissot)
  • Xiaomi Mi Max2 (oxigén)
  • Xiaomi Redmi Note 3 (kenzo)
  • Xiaomi Redmi 5A (riva)
  • Xiaomi Redmi 4A (rózsás)

Olvass tovább

Android telefon kihasználása

Egy tipikus Android Qualcomm telefon rendszerindítási sorrendje

Fontos, hogy először megértse egy tipikus Android-eszköz rendszerindítási sorrendjét, mielőtt elmagyarázná, hogyan lehet kihasználni. A Software BjajlAz oader (SBL) egy digitálisan aláírt rendszerbetöltő, amelynek hitelességét ellenőrzik az imembe való betöltése előtt. Az imem egy gyors chip memória, amelyet hibakeresésre és DMA (direct memória access) tranzakciókat, és a Qualcomm lapkakészletek tulajdona.

Egyes készülékek exfeszíthető Bjajloader (XBL) SBL helyett, de a rendszerindítási folyamat nagyjából ugyanaz. Az SBL vagy XBL ezután elindítja az ABOOT-ot, amely megvalósítja a gyorsindítást. Ezt követően a TrustZone (hardver alapú biztonság) is betöltődik. A TrustZone egy hardver alapú gyökértanúsítvány segítségével ellenőrzi az ABOOT hitelességét. Az SBL (vagy XBL, bizonyos esetekben) a helytelenül aláírt (vagy aláíratlan) ABOOT elutasítására szolgál.

A hitelesítés után az ABOOT a Linux kernel elindítása előtt ellenőrzi a /boot és a /recovery hitelességét. Néhány rendszer-előkészítés megtörténik, majd a kódvégrehajtás átkerül a kernelbe. Az ABOOT-ot általában "Android Bootloadernek" nevezik, és amikor feloldjuk egy eszköz rendszerbetöltőjét, letiltjuk ezt a hitelesség-ellenőrzést az ABOOT-ban.

Egy szabványos Android-eszköz rendszerindítási sorrendje megjelenítve. // Forrás: Aleph Research

Az EDL mód elérése

Míg egyes eszközök egyszerű hardverkombinációval rendelkeznek (vagy ami még rosszabb, egy egyszerű szabadalmaztatott gyorsindítási parancs, amely sok esetben jelen van Xiaomi eszközök), másoknak, például a Nokia készülékeknek rövidre kell zárniuk az eszköz fő oldalán lévő „tesztpontoknak” nevezett tűket. tábla. A 2017. decemberi biztonsági javítás előtt is lehetséges volt az „adb reboot edl” egyszerű futtatása számos eszközön (beleértve a Nexus 6-ot és 6P-t is), és belépni az EDL módba. Ezt azóta javították.

A tesztpontok a készülék alaplapjának alján, egy sárga dobozban láthatók. // Forrás: Aleph Research

Más eszközök is használhatják az úgynevezett "mélyflash" kábelt, amely egy speciális kábel, amelynek bizonyos érintkezői rövidre zárva jelzik a rendszernek, hogy EDL módba induljon. A régi Xiaomi eszközök használhatják ezt a módszert, a Nokia 5 és Nokia 6 mellett. Más eszközök is EDL módba indulnak, ha nem tudják ellenőrizni az SBL-t.

Egy mély vaku kábel

Az EDL mód használata a OnePlus 3/3T teljes hozzáféréséhez

Az EDL mód számos módon használható egy eszközön, főként az eszközök blokkolásának feloldására azok kényszerített villogásával. Ahogy fentebb kifejtettük, elméletileg bárki számára biztonságosnak kell lennie ahhoz, hogy hozzáférjen ehhez a módhoz, mivel a legrosszabb esetben az ABOOT elutasítja azokat a szoftvereket, amelyeket a gyártó nem ír alá hivatalosan. Bár ez igaz, valójában teljes irányítást szerezhet a OnePlus 3 vagy 3T és a fájljai felett a kutatók által bemutatott koncepció kizsákmányolása során.

Ez két nagyon veszélyes paranccsal történik, amelyeket a OnePlus elérhetővé hagyott az ABOOT régebbi verziójában (az Android bootloader), hogy feloldja az eszköz rendszerbetöltőjét (anélkül, hogy figyelmeztetés jelenjen meg a felhasználó számára a rendszerindításkor), és letiltja dm_verity. A dm_verity ellenőrzött rendszerindításként is ismert, és az Android-eszközök biztonságos rendszerindítási folyamatának része. A két parancs a következő.

fastboot oem disable_dm_verity
fastboot oem 4F500301/2

Figyelje meg az alábbi egyszerű, 4 lépésből álló folyamatot, amely a Firehose protokollt használja.

  1. Először indítsa el az eszközt EDL módba. Ez megtehető az adb-n keresztül OxygenOS 5.0 vagy régebbi rendszeren, vagy egy egyszerű hardveres billentyűkombináció használatával.
  2. Töltse le az alábbi OxygenOS 4.0.2 régi rendszerképét.
  3. Flash aboot.bin keresztül firehose (ne feledje, hogy az aboot.bin gyorsindítást valósít meg, amint azt korábban említettük)
  4. Most már letilthatja a biztonságos rendszerindítást és feloldhatja a rendszerbetöltőt a készülék letörlése nélkül egyszerűen a fenti két gyorsindítási parancs használatával.

Ha emlékszel, a OnePlusról korábban kiderült, hogy közel egy éve hagyott két veszélyes gyorsindítási parancsot, az egyik feloldotta a rendszerbetöltőt, a másik pedig letiltotta a biztonságos rendszerindítást. Bár igaz, hogy egy támadó nem tud rosszindulatú szoftvert telepíteni az eszközre, ők tudnak lejjebb frissíteni a készüléket birtokolni régebbi, támadható szoftverekkel szemben. Egyszerűen a fenti gyorsindítási parancsok futtatásával a támadó megkaphatja teljes hozzáférés a készülékhez.

És ennyi, a bootloader fel van oldva, a biztonságos rendszerindítás ki van kapcsolva, és egyáltalán nincs adatvesztés. Ha egy támadó ezt egy lépéssel tovább akarná tenni, felvillanthat egy rosszindulatú egyéni kernelt, amely root hozzáférést tesz lehetővé az eszközhöz, amelyről a felhasználó soha nem tudna.

A Firehose a Qualcomm Sahara protokollon keresztül működik, amely elfogadja az OEM által aláírt programozót, és így hajtják végre a fenti támadást. Eszközhöz csatlakoztatva SBL-ként működik USB-n keresztül. A legtöbb programozó ezt használja Tűzoltótömlő EDL módban kommunikálni telefonnal, amit a kutatók kihasználtak az eszköz teljes irányítása érdekében. A kutatók ezt is felhasználták oldja fel a Xiaomi eszközt egyszerűen egy módosított kép felvillantásával ami feloldotta a rendszerbetöltőt. Ezután felvillantottak egy egyéni kernelt, amely root hozzáférést adott, és engedélyezve indították el a SELinuxot, valamint kinyerték a titkosított felhasználói adatok képét az eszközről.

Következtetés

Nem ismert, hogy az OEM-ek miért adják ki ezeket a programozókat a Qualcommtól. A Nokia, az LG, a Motorola és a Google programozói inkább kiszivárogtak, mintsem szabadultak volna, a kutatóknak mégis sikerült szakítsa meg a Nokia 6 teljes bizalmi láncát, és hasonló módszerekkel szerezzen teljes hozzáférést az eszközökhöz kizsákmányolás. Biztosak abban, hogy a támadást bármilyen eszközre át lehet vinni, amely támogatja ezeket a programozókat. Ha lehetséges, az eredeti gyártóknak hardveres biztosítékokat kell használniuk, amelyek megakadályozzák a szoftver visszacsavarását azáltal, hogy az eszköz hardverének visszatekerésekor kifújnak, és figyelmeztethetik a felhasználót, hogy ez megtörtént. Az érdeklődők alább megtekinthetik a teljes kutatási cikket, és elolvashatják a teljes Nokia kiaknázását is.


Forrás: Aleph Research