A Qualcomm chipek sebezhetősége, amely lehetővé teszi a privát kulcsok kinyerését a TrustZone tárolóból

Az NCC Group kutatói fedetlen részletek sebezhetőségek (CVE-2018 11976-) Qualcomm chipekben, amely lehetővé teszi az ARM TrustZone technológián alapuló Qualcomm QSEE (Qualcomm Secure Execution Environment) elszigetelt enklávéban található privát titkosítási kulcsok tartalmának meghatározását. A probléma abban nyilvánul meg a legtöbb Az Android platformra épülő okostelefonokban elterjedt Snapdragon SoC. A problémát kijavító javítások már megvannak beleértve áprilisi Android-frissítésben és új firmware-kiadásokban a Qualcomm chipekhez. A Qualcommnak több mint egy évig tartott a javítás előkészítése; a sérülékenységgel kapcsolatos információkat először 19. március 2018-én küldték el a Qualcommnak.

Emlékezzünk vissza, hogy az ARM TrustZone technológia lehetővé teszi a hardvertől elszigetelt védett környezetek létrehozását, amelyek teljesen elkülönülnek a fő rendszertől, és külön virtuális processzoron futnak, külön speciális operációs rendszer segítségével. A TrustZone fő célja a titkosítási kulcsok, biometrikus hitelesítés, fizetési adatok és egyéb bizalmas információk processzorainak izolált végrehajtása. A fő operációs rendszerrel való interakció közvetetten, a küldési felületen keresztül történik. A privát titkosítási kulcsokat egy hardvertől elkülönített kulcstárolóban tárolják, amely megfelelő megvalósítás esetén megakadályozhatja azok kiszivárgását, ha az alapul szolgáló rendszer sérül.

A sérülékenység oka az elliptikus görbe feldolgozási algoritmus megvalósításának hibája, amely az adatfeldolgozás folyamatával kapcsolatos információk kiszivárgásához vezetett. A kutatók olyan oldalcsatornás támadási technikát fejlesztettek ki, amely lehetővé teszi a meglévő közvetett szivárgások felhasználásával a hardvertől elkülönített magánkulcsok tartalmának helyreállítását. Android Keystore. A szivárgásokat az elágazás előrejelző blokk aktivitásának elemzése és a memóriában lévő adatokhoz való hozzáférési idő változásai alapján határozzák meg. A kísérlet során a kutatók sikeresen demonstrálták a 224 és 256 bites ECDSA kulcsok helyreállítását a Nexus 5X okostelefonban használt hardvertől elkülönített kulcstárolóból. A kulcs visszaállításához mintegy 12 ezer digitális aláírás generálására volt szükség, ami több mint 14 órát vett igénybe. A támadás végrehajtásához használt eszközök Cachegrab.

A probléma fő oka a közös hardverkomponensek és a gyorsítótár megosztása a számításokhoz a TrustZone-ban és a fő rendszerben - az elkülönítés logikai elválasztás szintjén történik, de közös számítási egységekkel, valamint számítások nyomaival és az elágazásra vonatkozó információkkal. a címek a processzor közös gyorsítótárában vannak elhelyezve. A Prime+Probe módszerrel, amely a gyorsítótárazott információkhoz való hozzáférési idő változásának felmérésén alapul, bizonyos minták meglétének ellenőrzésével a gyorsítótárban ellenőrizhető a digitális aláírások számításaihoz kapcsolódó adatfolyamok és kódvégrehajtás jelei. TrustZone meglehetősen nagy pontossággal.

A Qualcomm chipekben lévő ECDSA-kulcsok segítségével digitális aláírás generálására fordított idő nagy részét a szorzási műveletek ciklusban történő végrehajtásával töltik, egy inicializálási vektorral, amely minden aláírásnál változatlan (pápai követ). Ha a támadó legalább néhány bitet vissza tud állítani a vektorral kapcsolatos információkkal, akkor lehetségessé válik a támadás végrehajtása a teljes privát kulcs szekvenciális helyreállítása érdekében.

A Qualcomm esetében a szorzási algoritmusban két helyet azonosítottak, ahol ilyen információ szivárgott ki: a táblákban végzett keresési műveletek során és a feltételes adatlekérő kódban a „nonce” vektor utolsó bitjének értéke alapján. Annak ellenére, hogy a Qualcomm kód tartalmaz intézkedéseket a harmadik fél csatornáin keresztül történő információszivárgás ellen, a kifejlesztett támadási módszer lehetővé teszi ezen intézkedések megkerülését és a „nonce” érték több bitjének meghatározását, amelyek elegendőek a 256 bites ECDSA kulcsok helyreállításához.

Forrás: opennet.ru

Hozzászólás