Qualcomm mikroshēmu ievainojamība, kas ļauj iegūt privātās atslēgas no TrustZone krātuves

Pētnieki no NCC grupas bez pārklājuma detaļas ievainojamības (CVE-2018-11976) Qualcomm mikroshēmās, kas ļauj noteikt privāto šifrēšanas atslēgu saturu, kas atrodas izolētā anklāvā Qualcomm QSEE (Qualcomm Secure Execution Environment), pamatojoties uz ARM TrustZone tehnoloģiju. Problēma izpaužas vairākums Snapdragon SoC, kas ir kļuvis plaši izplatīts viedtālruņos, kuru pamatā ir Android platforma. Labojumi, kas novērš problēmu, jau ir iekļauts aprīļa Android atjauninājumā un jaunās programmaparatūras izlaidumos Qualcomm mikroshēmām. Uzņēmumam Qualcomm bija nepieciešams vairāk nekā gads, lai sagatavotu labojumu; informācija par ievainojamību sākotnēji tika nosūtīta Qualcomm 19. gada 2018. martā.

Atgādināsim, ka ARM TrustZone tehnoloģija ļauj izveidot no aparatūras izolētas aizsargātas vides, kas ir pilnībā atdalītas no galvenās sistēmas un darbojas atsevišķā virtuālā procesorā, izmantojot atsevišķu specializētu operētājsistēmu. TrustZone galvenais mērķis ir nodrošināt izolētu procesoru izpildi šifrēšanas atslēgām, biometriskajai autentifikācijai, maksājumu datiem un citai konfidenciālai informācijai. Mijiedarbība ar galveno OS tiek veikta netieši, izmantojot nosūtīšanas saskarni. Privātās šifrēšanas atslēgas tiek glabātas no aparatūras izolētā atslēgu krātuvē, kas, ja tas ir pareizi ieviests, var novērst to noplūdi, ja tiek apdraudēta pamatā esošā sistēma.

Ievainojamība radusies eliptiskās līknes apstrādes algoritma ieviešanas kļūmes dēļ, kas izraisīja informācijas noplūdi par datu apstrādes gaitu. Pētnieki ir izstrādājuši sānu kanālu uzbrukuma paņēmienu, kas ļauj izmantot esošās netiešās noplūdes, lai atgūtu privāto atslēgu saturu, kas atrodas aparatūras izolētā ierīcē. Android Keystore. Noplūdes tiek noteiktas, pamatojoties uz zaru prognozēšanas bloka aktivitātes analīzi un izmaiņām piekļuves laikā atmiņā esošajiem datiem. Eksperimentā pētnieki veiksmīgi demonstrēja 224 un 256 bitu ECDSA atslēgu atkopšanu no aparatūras izolētā atslēgu krātuves, ko izmanto viedtālrunī Nexus 5X. Atslēgas atkopšanai bija jāģenerē aptuveni 12 tūkstoši ciparparakstu, kas prasīja vairāk nekā 14 stundas. Uzbrukuma veikšanai izmantotie instrumenti Cachegrab.

Galvenais problēmas cēlonis ir kopīgu aparatūras komponentu un kešatmiņas koplietošana aprēķiniem TrustZone un galvenajā sistēmā - izolēšana tiek veikta loģiskās atdalīšanas līmenī, bet izmantojot kopīgas skaitļošanas vienības un ar aprēķinu pēdām un informāciju par filiāli. adreses tiek glabātas kopējā procesora kešatmiņā. Izmantojot Prime+Probe metodi, pamatojoties uz kešatmiņas informācijas piekļuves laika izmaiņu novērtēšanu, pārbaudot noteiktu modeļu klātbūtni kešatmiņā, ir iespējams uzraudzīt datu plūsmas un koda izpildes pazīmes, kas saistītas ar digitālo parakstu aprēķiniem. TrustZone ar diezgan augstu precizitāti.

Lielāko daļu laika digitālā paraksta ģenerēšanai, izmantojot ECDSA atslēgas Qualcomm mikroshēmās, patērē reizināšanas operāciju veikšanai cilpā, izmantojot inicializācijas vektoru, kas katram parakstam nav mainīts (pāvesta nuncijs). Ja uzbrucējs var atgūt vismaz dažus bitus ar informāciju par šo vektoru, kļūst iespējams veikt uzbrukumu, lai secīgi atgūtu visu privāto atslēgu.

Qualcomm gadījumā reizināšanas algoritmā tika noteiktas divas šādas informācijas noplūdes vietas: veicot uzmeklēšanas darbības tabulās un nosacītajā datu izguves kodā, pamatojoties uz pēdējā bita vērtību “nonce” vektorā. Neskatoties uz to, ka Qualcomm kods satur pasākumus, lai novērstu informācijas noplūdi pa trešo pušu kanāliem, izstrādātā uzbrukuma metode ļauj apiet šos pasākumus un noteikt vairākus “nonce” vērtības bitus, kas ir pietiekami, lai atgūtu 256 bitu ECDSA atslēgas.

Avots: opennet.ru

Pievieno komentāru