Výskumníci z NCC Group
Pripomeňme, že technológia ARM TrustZone umožňuje vytvárať hardvérovo izolované chránené prostredia, ktoré sú úplne oddelené od hlavného systému a bežia na samostatnom virtuálnom procesore pomocou samostatného špecializovaného operačného systému. Hlavným účelom TrustZone je poskytovať izolované spracovanie procesorov pre šifrovacie kľúče, biometrické overovanie, platobné údaje a ďalšie dôverné informácie. Interakcia s hlavným OS sa vykonáva nepriamo cez dispečerské rozhranie. Súkromné šifrovacie kľúče sú uložené v hardvérovo izolovanom úložisku kľúčov, ktoré, ak je správne implementované, môže zabrániť ich úniku v prípade ohrozenia základného systému.
Zraniteľnosť je spôsobená chybou v implementácii algoritmu spracovania eliptických kriviek, ktorá viedla k úniku informácií o postupe spracovania dát. Výskumníci vyvinuli techniku útoku na bočný kanál, ktorá umožňuje využiť existujúce nepriame úniky na obnovenie obsahu súkromných kľúčov umiestnených v hardvérovo izolovanom
Hlavnou príčinou problému je zdieľanie spoločných hardvérových komponentov a vyrovnávacej pamäte pre výpočty v TrustZone a v hlavnom systéme - izolácia sa vykonáva na úrovni logického oddelenia, ale pomocou bežných výpočtových jednotiek a so stopami výpočtov a informácií o pobočke adresy ukladané do spoločnej vyrovnávacej pamäte procesora. Pomocou metódy Prime+Probe, založenej na hodnotení zmien v prístupovom čase k informáciám uloženým vo vyrovnávacej pamäti, je možné pomocou kontroly prítomnosti určitých vzorov vo vyrovnávacej pamäti monitorovať dátové toky a znaky spúšťania kódu spojené s výpočtami digitálnych podpisov v TrustZone s pomerne vysokou presnosťou.
Väčšinu času na generovanie digitálneho podpisu pomocou kľúčov ECDSA v čipoch Qualcomm strávite vykonávaním operácií násobenia v slučke s použitím inicializačného vektora, ktorý je nezmenený pre každý podpis (
V prípade Qualcommu boli v multiplikačnom algoritme identifikované dve miesta, kde takéto informácie unikli: pri vykonávaní operácií vyhľadávania v tabuľkách a v kóde podmieneného získavania údajov na základe hodnoty posledného bitu vo vektore „nonce“. Napriek tomu, že kód Qualcomm obsahuje opatrenia na zamedzenie úniku informácií cez kanály tretích strán, vyvinutá metóda útoku vám umožňuje obísť tieto opatrenia a určiť niekoľko bitov hodnoty „nonce“, ktoré stačia na obnovenie 256-bitových kľúčov ECDSA.
Zdroj: opennet.ru