Ranjivost u Qualcomm čipovima koja omogućava izdvajanje privatnih ključeva iz skladišta TrustZone

Istraživači iz NCC grupe otkriveno detalje ranjivosti (CVE-2018-11976) u Qualcomm čipovima, koji vam omogućava da odredite sadržaj privatnih ključeva za šifrovanje koji se nalaze u izolovanoj enklavi Qualcomm QSEE (Qualcomm Secure Execution Environment), zasnovanoj na ARM TrustZone tehnologiji. Problem se manifestuje u većina Snapdragon SoC, koji je postao široko rasprostranjen u pametnim telefonima baziranim na Android platformi. Ispravke koje rješavaju problem već postoje uključeno u aprilskom ažuriranju Androida i novim izdanjima firmvera za Qualcomm čipove. Qualcommu je trebalo više od godinu dana da pripremi popravku; informacije o ranjivosti su prvobitno poslane Qualcommu 19. marta 2018.

Podsjetimo, ARM TrustZone tehnologija vam omogućava da kreirate hardverski izolovana zaštićena okruženja koja su potpuno odvojena od glavnog sistema i rade na zasebnom virtuelnom procesoru koristeći poseban specijalizovani operativni sistem. Glavna svrha TrustZone je da obezbedi izolovano izvršavanje procesora za ključeve za šifrovanje, biometrijsku autentifikaciju, podatke o plaćanju i druge poverljive informacije. Interakcija sa glavnim OS se vrši indirektno preko dispečerskog interfejsa. Privatni ključevi za enkripciju pohranjuju se unutar hardverski izolirane skladišta ključeva, koja, ako se pravilno implementira, može spriječiti njihovo curenje ako je osnovni sistem kompromitovan.

Ranjivost je uzrokovana nedostatkom u implementaciji algoritma obrade eliptičke krive, što je dovelo do curenja informacija o napretku obrade podataka. Istraživači su razvili tehniku ​​napada sa strane kanala koja omogućava korištenje postojećih indirektnih curenja za oporavak sadržaja privatnih ključeva koji se nalaze u hardverski izolovanoj Android Keystore. Curenja se određuju na osnovu analize aktivnosti bloka predviđanja grananja i promjena u vremenu pristupa podacima u memoriji. U eksperimentu, istraživači su uspješno demonstrirali oporavak 224- i 256-bitnih ECDSA ključeva iz hardverski izolovanog skladišta ključeva koji se koristi u pametnom telefonu Nexus 5X. Za oporavak ključa potrebno je generirati oko 12 hiljada digitalnih potpisa, što je trajalo više od 14 sati. Alati korišteni za izvođenje napada Cachegrab.

Glavni uzrok problema je deljenje zajedničkih hardverskih komponenti i keša za proračune u TrustZone i u glavnom sistemu - izolacija se vrši na nivou logičkog razdvajanja, ali korišćenjem uobičajenih računarskih jedinica i sa tragovima proračuna i informacijama o granama. adrese koje se pohranjuju u zajedničku procesorsku keš memoriju. Koristeći Prime+Probe metodu, zasnovanu na procjeni promjena u vremenu pristupa keširanim informacijama, moguće je, provjerom prisutnosti određenih obrazaca u kešu, pratiti tokove podataka i znakove izvršavanja koda koji su povezani sa proračunima digitalnih potpisa u TrustZone sa prilično visokom preciznošću.

Većina vremena za generiranje digitalnog potpisa pomoću ECDSA ključeva u Qualcomm čipovima se troši na izvođenje operacija množenja u petlji koristeći vektor inicijalizacije koji je nepromijenjen za svaki potpis (nuncij). Ako napadač može povratiti barem nekoliko bitova s ​​informacijama o ovom vektoru, postaje moguće izvršiti napad kako bi se sekvencijalno povratio cijeli privatni ključ.

U slučaju Qualcomm-a, u algoritmu množenja identificirana su dva mjesta gdje su takve informacije procurile: prilikom izvođenja operacija pretraživanja u tabelama i u kodu za uslovno preuzimanje podataka na osnovu vrijednosti posljednjeg bita u vektoru „nonce“. Unatoč činjenici da Qualcommov kod sadrži mjere za suzbijanje curenja informacija kroz kanale trećih strana, razvijena metoda napada omogućava vam da zaobiđete ove mjere i odredite nekoliko bitova “nonce” vrijednosti, koji su dovoljni za oporavak 256-bitnih ECDSA ključeva.

izvor: opennet.ru

Dodajte komentar