Dva napada na mehanizam predviđanja keš kanala u AMD procesorima

Grupa istraživača sa Tehničkog univerziteta u Gracu (Austrija), ranije poznata po razvoju metoda napada MDS, NetSpectre, Throwhammer и ZombieLoad, proveo je istraživanje hardverskih optimizacija specifičnih za AMD procesore i se razvio dvije nove metode napada sa strane kanala koje manipulišu curenjem podataka tokom rada mehanizma predviđanja LXNUMX keš kanala AMD procesora. Tehnike se mogu koristiti za smanjenje efikasnosti ASLR zaštite, oporavak ključeva u ranjivim AES implementacijama i povećanje efikasnosti Spectre napada.

Problemi su identifikovani u implementaciji mehanizma predviđanja kanala (prediktor puta) u kešu podataka prvog nivoa CPU-a (L1D), koji se koristi za predviđanje koji keš kanal sadrži određenu memorijsku adresu. Optimizacija koja se koristi u AMD procesorima zasniva se na provjeri μ-tagova (μTag). μTag se izračunava primjenom specifične hash funkcije na virtualnu adresu. Tokom rada, mehanizam za predviđanje kanala koristi μTag da odredi keš kanal iz tabele. Dakle, μTag omogućava procesoru da se ograniči na pristup samo određenom kanalu, bez pretraživanja svih opcija, što značajno smanjuje potrošnju energije CPU-a.

Dva napada na mehanizam predviđanja keš kanala u AMD procesorima

Tokom reverznog inženjeringa implementacije sistema za predviđanje kanala u različitim generacijama AMD procesora objavljenih od 2011. do 2019. godine, identifikovane su dvije nove tehnike napada sa strane kanala:

  • Collide+Probe - omogućava napadaču da prati pristup memoriji za procese koji se pokreću na istom logičkom CPU jezgru. Suština metode je korištenje virtualnih adresa koje uzrokuju kolizije u hash funkciji koja se koristi za izračunavanje μTag za praćenje pristupa memoriji. Za razliku od napada Flush+Reload i Prime+Probe koji se koriste na Intel procesorima, Collide+Probe ne koristi zajedničku memoriju i radi bez znanja o fizičkim adresama.
  • Load+Reload - omogućava vam da vrlo precizno odredite tragove pristupa memoriji na istom fizičkom CPU jezgru. Metoda se zasniva na činjenici da fizička memorijska ćelija može biti u L1D kešu samo jednom. One. pristup istoj memorijskoj ćeliji na drugoj virtuelnoj adresi će uzrokovati izbacivanje ćelije iz L1D keša, omogućavajući praćenje pristupa memoriji. Iako se napad oslanja na zajedničku memoriju, on ne ispira linije keša, omogućavajući prikrivene napade koji ne uklanjaju podatke iz keša posljednje razine.

Na osnovu tehnika Collide+Probe i Load+Reload, istraživači su demonstrirali nekoliko scenarija napada sa strane:

  • Prikazana je mogućnost korišćenja metoda za organizovanje skrivenog indirektnog komunikacionog kanala između dva procesa, koji omogućava prenos podataka brzinom do 588 kB u sekundi.
  • Koristeći kolizije u μTag-u, bilo je moguće smanjiti entropiju za različite varijante ASLR-a (Address Space Layout Randomization) i zaobići ASLR zaštitu u kernelu na potpuno ažuriranom Linux sistemu. Prikazana je mogućnost izvođenja napada radi smanjenja entropije ASLR-a kako iz korisničkih aplikacija tako i korištenjem JavaScript koda koji se izvršava u sandbox okruženju i koda koji se izvodi u drugom gostujućem okruženju.

    Dva napada na mehanizam predviđanja keš kanala u AMD procesorima

  • Zasnovano na metodi Collide+Probe, implementiran je napad da se povrati ključ za šifriranje iz ranjive implementacije (zasnovano na T-stol) AES enkripcija.
  • Koristeći Collide+Probe metodu kao kanal za prikupljanje podataka, Spectre napad je uspio izvući privatne podatke iz kernela bez korištenja zajedničke memorije.

Ranjivost se javlja na AMD procesorima zasnovanim na mikroarhitekturama
Buldožer, Piledriver, Parni valjak, Zen (Ryzen, Epic), Zen+ i Zen2.
AMD je obaviješten o problemu 23. avgusta 2019., ali do sada nije objavio izvještaj sa informacijama o blokiranju ranjivosti. Prema istraživačima, problem se može blokirati na nivou ažuriranja mikrokoda davanjem MSR bitova za selektivno onemogućavanje sistema predviđanja kanala, slično onome što je Intel uradio da kontroliše onemogućavanje mehanizama za predviđanje grananja.

Dva napada na mehanizam predviđanja keš kanala u AMD procesorima

izvor: opennet.ru

Dodajte komentar