Výzkumníci z NCC Group
Připomeňme, že technologie ARM TrustZone umožňuje vytvářet hardwarově izolovaná chráněná prostředí, která jsou zcela oddělena 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é zpracování procesorů pro šifrovací klíče, biometrické ověřování, platební údaje a další důvěrné informace. Interakce s hlavním OS se provádí nepřímo přes dispečerské rozhraní. Soukromé šifrovací klíče jsou uloženy v hardwarově izolovaném úložišti klíčů, které, je-li správně implementováno, může zabránit jejich úniku v případě ohrožení základního systému.
Zranitelnost je způsobena chybou v implementaci algoritmu zpracování eliptické křivky, která vedla k úniku informací o průběhu zpracování dat. Výzkumníci vyvinuli techniku útoku postranním kanálem, která umožňuje využít existující nepřímé úniky k obnovení obsahu soukromých klíčů umístěných v hardwarově izolovaném
Hlavní příčinou problému je sdílení společných hardwarových komponent a cache pro výpočty v TrustZone a v hlavním systému - izolace je prováděna na úrovni logického oddělení, ale za použití běžných výpočetních jednotek a se stopami výpočtů a informací o větvi adresy ukládané do společné mezipaměti procesoru. Pomocí metody Prime+Probe, založené na vyhodnocení změn doby přístupu k informacím uloženým v mezipaměti, je možné pomocí kontroly přítomnosti určitých vzorů v mezipaměti monitorovat datové toky a známky spuštění kódu spojené s výpočty digitálních podpisů v TrustZone s poměrně vysokou přesností.
Většinu času generování digitálního podpisu pomocí klíčů ECDSA v čipech Qualcomm strávíte prováděním operací násobení ve smyčce pomocí inicializačního vektoru, který se pro každý podpis nemění (
V případě Qualcommu byla v algoritmu násobení identifikována dvě místa, kde takové informace unikly: při provádění vyhledávacích operací v tabulkách a v kódu podmíněného získávání dat na základě hodnoty posledního bitu ve vektoru „nonce“. Navzdory skutečnosti, že kód Qualcomm obsahuje opatření proti únikům informací prostřednictvím kanálů třetích stran, vyvinutá metoda útoku vám umožňuje tato opatření obejít a určit několik bitů hodnoty „nonce“, které stačí k obnovení 256bitových klíčů ECDSA.
Zdroj: opennet.ru