SQUIP, novi napad koji pogađa AMD procesore i dovodi do curenja podataka

grupa od iIstraživači sa Tehnološkog univerziteta u Gracu (Austrija), ranije poznat po razvoju MDS, NetSpectre, Throwhammer i ZombieLoad napada, je otkrio novi napad sa strane kanala (CVE-2021-46778) u redu rasporeda rasporeda AMD procesora koji se koristi za planiranje izvršenja instrukcija u različitim izvršnim jedinicama CPU-a.

Napad, zv SQUIP, omogućava određivanje podataka koji se koriste u proračunima u drugom procesu ili virtuelnu mašinu ili organizovati skriveni kanal komunikacije između procesa ili virtuelnih mašina koji omogućava razmenu podataka bez prolaska kroz mehanizme kontrole pristupa sistemu.

u AMD CPU-i zasnovani na 1., 2. i 3. Zen mikroarhitekturi generacija (AMD Ryzen 2000-5000, AMD Ryzen Threadripper, AMD Athlon 3000, AMD EPYC) su pogođeni kada se koristi tehnologija Simultaneous Multithreading (SMT).

Moderni CPU koriste superskalarni dizajn, gdje se više instrukcija izvršava istovremeno kako bi se maksimizirale performanse. Ovi CPU procesiraju instrukcije u cjevovodu kroz nekoliko faza: (1) dohvaćanje, (2) dekodiranje, (3) programiranje/izvršavanje i (4) dohvaćanje.

Napad se zasniva na procjeni nivoa pojave svađe (Contention level) u različitim redovima rasporeda i vrši se kroz mjerenje kašnjenja pri pokretanju operacija provjere koje se obavljaju u drugoj SMT niti na istom fizičkom CPU-u. Za analizu sadržaja korištena je Prime+Probe metoda koja uključuje popunjavanje reda skupom referentnih vrijednosti i određivanje promjena mjerenjem vremena pristupa njima u trenutku ponovnog učitavanja.

Faza program/izvršenje može obraditi instrukcije van reda kako bi se maksimizirao paralelizam nivoa instrukcija. Ukratko opisujemo svaku od ovih faza:

-Traži. CPU traži sljedeću instrukciju koju treba izvršiti iz L1i keša. 
-Dekodiraj. Da bi se omogućilo efikasno izvršenje, dobijene instrukcije (makro operacije) se dekodiraju u jednu ili više jednostavnijih mikrooperacija (µops) i stavljaju u µop red. Ovi µops se unose u pozadinu, gdje se zakazuju i izvršavaju.
-Raspored/Pokreni. Planer(i) prati koje µops su spremne za izvršenje (imaju dostupne ulaze) i dinamički ih raspoređuju (van reda) na dostupne izvršne jedinice. CPU jezgro ima više izvršnih jedinica i može imati više aritmetičkih i logičkih jedinica (ALU), izvršnih jedinica grana (BRU), jedinica za generiranje adresa (AGU).

Tokom eksperimenta, istraživači su bili u mogućnosti da u potpunosti rekreiraju 4096-bitni privatni RSA ključ koristi se za kreiranje digitalnih potpisa koristeći kriptografsku biblioteku mbedTLS 3.0, koja koristi Montgomery algoritam za podizanje broja na modul snage. Za određivanje ključa bilo je potrebno 50.500 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 koje kontroliše KVM hipervizor. Takođe je pokazano da se metoda može koristiti za orkestriranje tajnog 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%.

CPU jezgro je podijeljeno na više logičkih jezgara, ili niti, koje izvršavaju nezavisne tokove instrukcija, ali dijele resurse kao što je L1i keš. µops ovih niti također dinamički dijele izvršne jedinice kako bi se omogućilo veće ukupno korištenje. Particija različitih dijelova kernela.
To se radi putem konkurentske razmjene. AMD Zen arhitekture dozvoljavaju dvije niti
po jezgru. Ove niti mogu biti iz jednog programa ili iz različitih programa, kako upravlja operativni sistem.

Intel procesori nisu podložni napad jer koriste jedan red za planiranje, dok ranjivi AMD procesori koriste zasebne redove za svaku izvršnu jedinicu.

Kao rješenje za blokiranje curenja informacija, AMD preporučuje da programeri koristiti algoritme koji uvijek izvode matematičke proračune u konstantnom vremenu, bez obzira na prirodu podataka koji se obrađuju, kao i spriječiti forking na osnovu tajnih podataka.

Konačno, ako ste zainteresovani da saznate više o tome, možete pogledati detalje u sledeći link.


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.