Raziskovalci iz skupine NCC
Naj spomnimo, da tehnologija ARM TrustZone omogoča ustvarjanje strojno izoliranih zaščitenih okolij, ki so popolnoma ločene od glavnega sistema in delujejo na ločenem virtualnem procesorju z uporabo ločenega specializiranega operacijskega sistema. Glavni namen TrustZone je zagotoviti izolirano izvajanje procesorjev za šifrirne ključe, biometrično avtentikacijo, podatke o plačilih in druge zaupne informacije. Interakcija z glavnim OS se izvaja posredno prek dispečerskega vmesnika. Zasebni šifrirni ključi so shranjeni v strojno izolirani shrambi ključev, ki lahko, če je pravilno implementirana, prepreči njihovo uhajanje, če je osnovni sistem ogrožen.
Ranljivost je posledica napake v implementaciji algoritma obdelave eliptične krivulje, ki je povzročila uhajanje informacij o poteku obdelave podatkov. Raziskovalci so razvili tehniko napada stranskega kanala, ki omogoča uporabo obstoječih posrednih uhajanj za obnovitev vsebine zasebnih ključev, ki se nahajajo v strojno izolirani
Glavni vzrok težave je souporaba skupnih komponent strojne opreme in predpomnilnika za izračune v TrustZone in v glavnem sistemu - izolacija se izvaja na ravni logične ločitve, vendar z uporabo skupnih računalniških enot in s sledmi izračunov in informacijami o veji naslovi, ki se shranijo v skupni predpomnilnik procesorja. Z uporabo metode Prime+Probe, ki temelji na ocenjevanju sprememb dostopnega časa do predpomnjenih informacij, je mogoče s preverjanjem prisotnosti določenih vzorcev v predpomnilniku spremljati tokove podatkov in znake izvajanja kode, povezane z izračuni digitalnih podpisov v TrustZone z dokaj visoko natančnostjo.
Večino časa za ustvarjanje digitalnega podpisa z uporabo ključev ECDSA v čipih Qualcomm porabimo za izvajanje operacij množenja v zanki z uporabo inicializacijskega vektorja, ki je nespremenjen za vsak podpis (
V primeru Qualcomma sta bili v algoritmu množenja identificirani dve mesti, kjer so takšne informacije uhajale: pri izvajanju operacij iskanja v tabelah in v kodi za pogojno iskanje podatkov na podlagi vrednosti zadnjega bita v vektorju »nonce«. Kljub dejstvu, da koda Qualcomm vsebuje ukrepe za preprečevanje uhajanja informacij prek kanalov tretjih oseb, vam razvita metoda napada omogoča, da obidete te ukrepe in določite več bitov vrednosti »nonce«, ki zadostujejo za obnovitev 256-bitnih ključev ECDSA.
Vir: opennet.ru