SQUIP - napad na procesorje AMD, ki vodi do uhajanja podatkov prek kanalov tretjih oseb

Skupina raziskovalcev s tehnološke univerze v Gradcu (Avstrija), ki je bila prej znana po razvoju napadov MDS, NetSpectre, Throwhammer in ZombieLoad, je razkrila podrobnosti o novem stranskem kanalskem napadu (CVE-2021-46778) na čakalno vrsto razporejevalnika procesorja AMD. , ki se uporablja za načrtovanje izvajanja navodil v različnih izvršilnih enotah CPE. Napad, imenovan SQUIP, vam omogoča, da določite podatke, uporabljene v izračunih v drugem procesu ali virtualnem stroju, ali organizirate skriti komunikacijski kanal med procesi ali virtualnimi stroji, ki vam omogoča izmenjavo podatkov mimo mehanizmov za nadzor dostopa do sistema.

CPE AMD, ki temeljijo na mikroarhitekturah Zen 2000., 5000. in 3000. generacije (AMD Ryzen XNUMX-XNUMX, AMD Ryzen Threadripper, AMD Athlon XNUMX, AMD EPYC), so prizadeti pri uporabi tehnologije simultane večnitnosti (SMT). Intelovi procesorji niso dovzetni za napade, saj uporabljajo eno samo čakalno vrsto razporejevalnika, medtem ko ranljivi procesorji AMD uporabljajo ločene čakalne vrste za vsako izvršilno enoto. Kot rešitev za blokiranje uhajanja informacij je AMD priporočal, da razvijalci uporabljajo algoritme, ki vedno izvajajo matematične izračune v konstantnem času, ne glede na naravo podatkov, ki se obdelujejo, in se tudi izogibajo razvejanju na podlagi tajnih podatkov.

Napad temelji na oceni stopnje pojavljanja spora (contention level) v različnih čakalnih vrstah razporejevalnika in se izvede z merjenjem zamud pri zagonu operacij preverjanja, izvedenih v drugi niti SMT na isti fizični CPU. Za analizo vsebine je bila uporabljena metoda Prime+Probe, ki pomeni polnjenje čakalne vrste z referenčnim nizom vrednosti in določanje sprememb z merjenjem časa dostopa do njih ob ponovnem polnjenju.

Med poskusom so raziskovalci lahko popolnoma poustvarili zasebni 4096-bitni ključ RSA, ki se uporablja za ustvarjanje digitalnih podpisov z uporabo kriptografske knjižnice mbedTLS 3.0, ki uporablja Montgomeryjev algoritem za povečanje števila na potenco po modulu. Za določitev ključa je bilo potrebnih 50500 sledi. Skupni čas napada je trajal 38 minut. Predstavljene so različice napadov, ki zagotavljajo puščanje med različnimi procesi in virtualnimi stroji, ki jih nadzoruje hipervizor KVM. Pokazalo se je tudi, da je metodo mogoče uporabiti za organiziranje prikritega prenosa podatkov med virtualnimi stroji s hitrostjo 0.89 Mbit/s in med procesi s hitrostjo 2.70 Mbit/s s stopnjo napak manj kot 0.8 %.

Vir: opennet.ru

Dodaj komentar