SQUIP je napad na AMD procesore koji dovodi do curenja podataka putem kanala trećih strana

Tim istraživača s Tehničkog sveučilišta u Grazu (Austrija), prethodno poznat po razvoju MDS, NetSpectre, Throwhammer i ZombieLoad napada, otkrio je informacije o novoj metodi bočnog kanala napada (CVE-2021-46778) na AMD procesor raspored čekanja, koji se koristi za raspoređivanje izvršenja instrukcija u različitim izvršnim jedinicama CPU-a. Napad, nazvan SQUIP, omogućuje vam da odredite podatke koji se koriste u izračunima u drugom procesu ili virtualnom stroju ili da organizirate skriveni komunikacijski kanal između procesa ili virtualnih strojeva, omogućujući vam razmjenu podataka zaobilazeći mehanizme kontrole pristupa sustavu.

Problem utječe na AMD CPU temeljene na prvoj, drugoj i trećoj generaciji Zen mikroarhitektura (AMD Ryzen 2000-5000, AMD Ryzen Threadripper, AMD Athlon 3000, AMD EPYC) kada se koristi simultana multi-threading tehnologija (SMT). Intelovi procesori nisu osjetljivi na napad jer koriste jedan red čekanja planera, dok ranjivi AMD procesori koriste zasebne redove čekanja za svaku izvršnu jedinicu. Kao zaobilazno rješenje za blokiranje curenja informacija, AMD je preporučio programerima da koriste algoritme u kojima se matematički izračuni uvijek izvode u konstantnom vremenu, bez obzira na prirodu podataka koji se obrađuju, te također izbjegavaju grananje na temelju osjetljivih podataka.

Napad se temelji na procjeni razine sukoba u različitim redovima raspoređivača i provodi se mjerenjem kašnjenja prilikom pokretanja operacija provjere izvedenih u drugoj SMT niti na istom fizičkom CPU-u. Za analizu sadržaja korištena je metoda Prime+Probe koja uključuje popunjavanje reda čekanja standardnim skupom vrijednosti i otkrivanje promjena mjerenjem vremena pristupa istima prilikom ponovnog punjenja.

Tijekom eksperimenta, istraživači su uspjeli u potpunosti rekreirati privatni 4096-bitni RSA ključ koji se koristi za stvaranje digitalnih potpisa pomoću kriptografske biblioteke mbedTLS 3.0, koja koristi Montgomeryjev algoritam za povećanje broja modulo. Za određivanje ključa bilo je potrebno 50500 38 tragova. Ukupno vrijeme napada trajalo je 0.89 minuta. Prikazane su varijante napada koje omogućuju curenje između različitih procesa i virtualnih strojeva kojima upravlja KVM hipervizor. Također je pokazano da se metodom može organizirati skriveni prijenos podataka između virtualnih strojeva pri brzini od 2.70 Mbit/s i između procesa pri brzini od 0.8 Mbit/s uz stopu pogreške manju od XNUMX%.

Izvor: opennet.ru

Dodajte komentar