Az NCC Group kutatói sebezhetőségek () a Qualcomm chipjeiben, amely lehetővé teszi a titkosítási zár Kulcsok tartalmának meghatározását, amelyek a Qualcomm QSEE (Qualcomm Secure Execution Environment) elszigetelt környezetében találhatóak, az ARM TrustZone technológián alapulva. A probléma a következő területeken nyilvánul meg Snapdragon SoC-ban, amelyek elterjedtek az Android platform alapú okostelefonokban. A problémát orvosló javítások már az Android áprilisi frissítésében és a Qualcomm chipek új firmware-kiadásaiban szerepelnek. A Qualcomm számára több mint egy évbe telt a javítás kidolgozása – az eredeti sebezhetőségre vonatkozó információkat már 2018. március 19-én elküldték nekik.
Ne feledjük, hogy az ARM TrustZone technológia lehetővé teszi hardveresen elszigetelt védett környezetek létrehozását, amelyek teljesen elkülönülnek a fő rendszertől, és egy külön virtuális processzoron futnak, külön szakosodott operációs rendszert használva. A TrustZone alapvető célja a titkosító kulcsok, biometrikus azonosítás, fizetési adatok és egyéb érzékeny információk elszigetelt végrehajtásának biztosítása. A fő operációs rendszerrel való kapcsolat közvetetten a diszpétcer interfészen keresztül történik. A titkosító zár kulcsok egy hardveresen elszigetelt kulcsot tároló rendszerben helyezkednek el, ami megfelelő megvalósítás esetén megakadályozza a fő rendszer kompromittálódása esetén történő kiszivárgásukat.
A sebezhetőség egy hibás megvalósítással függ össze az elliptikus görbék feldolgozási algoritmusában, amely az információk kiszivárgásához vezetett a feldolgozási folyamat során. A kutatók olyan mellékcsatornás támadási technikát dolgoztak ki, amely lehetővé teszi a meglévő közvetett kiszivárgások alapján a hardveresen elszigetelt . A kiszivárgások a jól működő prediktor blokkjának aktivitásának és a memóriaadatokhoz való hozzáférés idejének elemzése alapján kerülnek meghatározásra. Kísérleteik során a kutatók sikeresen bemutatták a 224- és 256-bites ECDSA kulcsok visszaállítását egy hardveresen elszigetelt kulcsot tároló rendszerből, amely egy Nexus 5X okostelefonban volt használatban. A kulcs visszaállításához körülbelül 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 .
A fő oka a problémának az, hogy a TrustZone és a fő rendszer által használt közös hardverkomponensek és gyorsítótár megosztottak - a szigetelés logikai szintű részben valósul meg, de közös számítási blokkok használatával, és a számítási nyomok és az ugrási címek információi a közös processzori gyorsítótárban telepszenek le. A Prime+Probe módszer segítségével, amely a gyorsítótárazott információkhoz való hozzáférési idő változásának értékelésén alapul, a gyorsítótárban megjelenő bizonyos minták ellenőrzésével viszonylag nagy pontossággal követhetjük a adatfolyamokat és a digitális aláírások számításához kapcsolódó kódok végrehajtásának nyomait a TrustZone-ban.
Az ECDSA kulcsokkal történő digitális aláírás létrehozásának nagy része a Qualcomm chipekben az állandó inicializáló vektorral folytatott ciklikus szorzási műveleteken megy el (). Ha a támadó vissza tud állítani néhány bitet a megadott vektorról, lehetősége nyílik a zárt kulcs teljes helyreállítására irányuló támadás végrehajtására.
A Qualcomm kapcsán két információszivárgási helyet azonosítottak a szorzási algoritmusban: a táblázatokban végzett keresési műveletek során és a 'nonce' vektor utolsó bitje alapján történő feltételes adatkinyerés kódjánál. Annak ellenére, hogy a Qualcomm kódjában léteznek a harmadik fél csatornákon történő információszivárgás ellen intézkedések, a kifejlesztett támadási módszer lehetővé teszi ezen intézkedések kijátszását és a 'nonce' értékének néhány bitjének meghatározását, amely elegendő a 256-bites ECDSA kulcsok visszanyeréséhez.
Forrás: opennet.ru
