SQUIP je napad na AMD procesore koji dovodi do curenja podataka putem kanala treće strane

Tim istraživača sa Tehničkog univerziteta u Gracu (Austrija), ranije poznat po razvoju MDS, NetSpectre, Throwhammer i ZombieLoad napada, otkrio je informacije o novoj metodi bočnog napada (CVE-2021-46778) na AMD procesoru. red rasporeda, koji se koristi za planiranje izvršenja instrukcija u različitim izvršnim jedinicama CPU-a. Napad, nazvan SQUIP, omogućava vam da odredite podatke koji se koriste u proračunima u drugom procesu ili virtuelnoj mašini ili da organizujete skriveni kanal komunikacije između procesa ili virtuelnih mašina, omogućavajući vam da razmjenite podatke zaobilazeći mehanizme kontrole pristupa sistemu.

Problem pogađa AMD CPU bazirane na prvoj, drugoj i trećoj generaciji Zen mikroarhitektura (AMD Ryzen 2000-5000, AMD Ryzen Threadripper, AMD Athlon 3000, AMD EPYC) kada koriste tehnologiju simultanog multi-threading (SMT). Intel procesori nisu podložni napadima jer koriste jedan red rasporeda, dok ranjivi AMD procesori koriste zasebne redove za svaku izvršnu jedinicu. Kao zaobilazno rešenje za blokiranje curenja informacija, AMD je preporučio da programeri koriste algoritme u kojima se matematički proračuni uvek izvode u konstantnom vremenu, bez obzira na prirodu podataka koji se obrađuju, a takođe izbegavaju grananje na osnovu tajnih podataka.

Napad se zasniva na procjeni nivoa sukoba u različitim redovima rasporeda i izvodi se mjerenjem kašnjenja prilikom pokretanja operacija verifikacije koje se obavljaju 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 sa standardnim skupom vrijednosti i otkrivanje promjena mjerenjem vremena pristupa njima prilikom njihovog ponovnog punjenja.

Tokom eksperimenta, istraživači su bili u mogućnosti da u potpunosti rekreiraju privatni 4096-bitni RSA ključ koji se koristi za kreiranje digitalnih potpisa koristeći mbedTLS 3.0 kriptografsku biblioteku, koja koristi Montgomery algoritam za povećanje broja po modulu. Za određivanje ključa bilo je potrebno 50500 tragova. Ukupno vrijeme napada trajalo je 38 minuta. Prikazane su varijante napada koje obezbeđuju curenje između različitih procesa i virtuelnih mašina kojima upravlja KVM hipervizor. Takođe je pokazano da se metoda može koristiti za organizovanje skrivenog prenosa podataka između virtuelnih mašina brzinom od 0.89 Mbit/s i između procesa brzinom od 2.70 Mbit/s sa stopom greške manjom od 0.8%.

izvor: opennet.ru

Dodajte komentar