V předchozích příspěvcích dali jsme vědět, že čipy Broadcom byl zranitelný vůči útokus a nyní tentokrát výzkumníci ze společnosti NCC Group zveřejnila podrobnosti zranitelnosti (CVE-2018-11976 ) na čipech Qualcomm, že umožňuje určit obsah soukromých šifrovacích klíčů umístěný v izolované enklávě Qualcomm QSEE (Qualcomm Secure Execution Environment) založené na technologii ARZ TrustZone.
Problém se projevuje u většiny SoC Snapdragon, na smartphonech se systémem Android. Opravy problému jsou již zahrnuty v dubnové aktualizaci systému Android a nových verzích firmwaru pro čipy Qualcomm.
Qualcomm připravil řešení více než rok: Informace o této chybě zabezpečení byly původně zaslány společnosti Qualcomm 19. března 2018.
Technologie ARM TrustZone umožňuje vytvářet chráněná izolovaná prostředí hardwaru, která jsou zcela oddělená od hlavního systému a běží na samostatném virtuálním procesoru pomocí samostatného specializovaného operačního systému.
Hlavním účelem TrustZone je poskytovat izolované provádění manipulátorů šifrovacích klíčů, biometrické ověřování, fakturační údaje a další důvěrné informace.
Interakce s hlavním operačním systémem probíhá nepřímo prostřednictvím dispečerského rozhraní.
Soukromé šifrovací klíče jsou umístěny v hardwarově izolovaném úložišti klíčů, které, pokud je správně implementováno, brání jejich úniku, pokud je ohrožen základní systém.
O problému
Tato chyba zabezpečení je spojena se selháním implementace algoritmu zpracovat eliptické křivky, což vedlo k úniku informací o zpracování dat.
Vědci se vyvinuli technika útoku třetí strany, která umožňuje, na základě nepřímého úniku, rnačíst obsah soukromých klíčůse nachází v hardwarově izolovaném úložišti klíčů Android.
Úniky se určují na základě analýzy aktivity přechodů predikčních bloků a změn v době přístupu k datům v paměti.
Během experimentu Vědci úspěšně prokázali obnovení 224bitových a 256bitových klíčů ECDSA z izolovaného úložiště klíčů na hardwaru používaném ve smartphonu Nexus 5X.
K obnovení klíče bylo potřeba vygenerovat přibližně 12 14 digitálních podpisů, jejichž dokončení trvalo více než XNUMX hodin. K provedení útoku byla použita sada nástrojů Cachegrab.
Hlavní příčinou problému je sdílení běžných mezipaměti a hardwarových komponent pro výpočet v TrustZone a v hostitelském systému: izolace se provádí na úrovni logického oddělení, ale za použití běžných výpočetních bloků a nastavení tras výpočtu a informací o skoku adresy ve společné mezipaměti procesoru.
Pomocí metody Prime + Probe, na základě odhadu změny doby přístupu k informacím v mezipaměti, můžete zkontrolovat dostupnost určitých vzorů v mezipaměti s dostatečně vysokou přesností datových proudů a známek provádění kódu souvisejících s výpočty digitálních podpisů v TrustZone.
Většina času pro generování digitálního podpisu s klíči ECDSA na čipech Qualcomm se vynakládá na operace násobení ve smyčce pomocí nezměněného inicializačního vektoru (nonce) pro každý podpis.
Si útočník může pomocí informací o tomto vektoru obnovit alespoň několik bitů, je možné zahájit útok na postupné obnovení celého soukromého klíče.
V případě Qualcommu byly v multiplikačním algoritmu odhaleny dva body úniku těchto informací: při provádění vyhledávání v tabulce a v kódu podmíněné extrakce dat na základě hodnoty posledního bitu ve vektoru „nonce“.
Přestože kód Qualcomm obsahuje opatření k potlačení úniku informací v kanálech třetích stran, vyvinutá metoda útoku vám umožňuje tato opatření obejít a definovat některé bity hodnoty „nonce“, což je dostatečné pro obnovení 256 bitů klíčů ECDSA.
28. dubna a stále čekám na patche, že v GNU / Linux se to nestane