LVI hè una nova classe di attacchi à u mecanismu di esecutivu speculativu in u CPU

Publicatu infurmazione nantu à una nova classe di attacchi LVI (Iniezione di valore di carica, CVE-2020-0551) nantu à u mecanismu di esecutivu speculativu in CPU Intel, chì pò esse usatu per fughje e chjave è dati secreti da l'enclavi Intel SGX è altri prucessi.

Una nova classa di attacchi hè basatu annantu à a manipulazione di e stesse strutture microarchitecturale utilizzate in attacchi MDS (Sampling di dati microarchitecturali), Spectre è Meltdown. À u listessu tempu, i novi attacchi ùn sò micca bluccati da i metudi esistenti di prutezzione contru Meltdown, Spectre, MDS è altri attacchi simili. A prutezzione LVI efficace richiede cambiamenti di hardware à u CPU. Quandu urganizeghja a prutezzione programaticamente, aghjustendu l'istruzione LFENCE da u compilatore dopu ogni operazione di carica da a memoria è rimpiazzà l'istruzzioni RET cù POP, LFENCE è JMP, troppu overhead hè registratu - secondu i circadori, a prutezzione cumpleta di u software porta à una diminuzione di prestazione da 2-19 volte.

A parte di a difficultà à bluccà u prublema hè compensata da u fattu chì l'attaccu hè attualmente più teoricu chè praticu (l'attaccu hè teoricamente pussibule, ma assai difficiuli di implementà è solu riproducibile in testi sintetici).
Intel apprupriatu u prublema hà un livellu moderatu di periculu (5.6 fora di 10) è liberatu aghjurnà u firmware è u SDK per l'ambienti SGX, in quale hà pruvatu à bluccà l'attaccu cù una soluzione. I metudi di attaccu pruposti sò attualmente applicabili solu à i prucessori Intel, ma a pussibilità d'adattà LVI per altri processori à i quali l'attacchi di a classe Meltdown sò applicabili ùn pò micca esse esclusa.

U prublema hè statu identificatu l'aprili scorsu da u ricercatore Jo Van Bulck da l'Università di Leuven, dopu chì, cù a participazione di 9 circadori da altre università, sò stati sviluppati cinque metudi basi di attaccu, ognunu di li quali permette l'esistenza di più specifichi. opzioni. Indipendentemente, in u ferraghju di questu annu, i circadori di Bitdefender ancu scupertu una di e varianti di l'attaccu LVI è hà signalatu à Intel. E varianti di attaccu sò distinti per l'usu di diverse strutture microarchitecturale, cum'è u buffer di almacenamento (SB, Store Buffer), riempimentu di buffer (LFB, Line Fill Buffer), buffer di commutazione di cuntestu FPU è cache di primu livellu (L1D), utilizatu prima. in attacchi cum'è ZombieLoad, RIDL, Cascà, LazyFP, Foreshadow и Meltdown.

LVI hè una nova classe di attacchi à u mecanismu di esecutivu speculativu in u CPU

U principale onori U LVI contr'à l'attacchi di MDS hè chì MDS manipula a determinazione di u cuntenutu di e strutture microarchitecturale chì restanu in a cache dopu a manipolazione di difetti speculativi o operazioni di carica è di almacenamento, mentre
L'attacchi LVI permettenu à i dati di l'attaccante per esse inseriti in strutture microarchitectural per influenzà l'esekzione speculativa sussegwente di u codice di a vittima. Utilizendu queste manipulazioni, un attaccu pò esse estratti u cuntenutu di strutture di dati privati ​​​​in altri prucessi quandu eseguisce certu codice nantu à u core CPU di destinazione.

LVI hè una nova classe di attacchi à u mecanismu di esecutivu speculativu in u CPU

di prublema di sfruttamentu in u codice di u prucessu di vittima duverebbe scuntrà sequenze spiciali di codice (gadgets) in quale un valore cuntrullatu da l'attaccante hè caricatu, è caricate stu valore provoca eccezzioni (culpa, abortu o assist) per esse ghjittati, scartà u risultatu è ri-eseguisce l'istruzzioni. Quandu una eccezzioni hè trattata, una finestra speculativa apparisce durante a quale i dati processati in u gadget fughjenu. In particulare, u processatore cumencia à eseguisce un pezzu di codice (gadget) in modu speculativu, poi determina chì a prediczione ùn era micca ghjustificata è torna l'operazioni à u so statu originale, ma i dati processati durante l'esekzione speculativa sò dipositati in a cache L1D. è buffer microarchitectural è hè dispunibule per a ricuperazione da elli cù l'usu di metudi cunnisciuti per a determinazione di dati residuali attraversu canali di terzu.

L'eccezzioni "assist", à u cuntrariu di l'eccezzioni "culpa", hè trattata internamente da u processatore senza chjamà i gestori di software. L'assistenza pò accade, per esempiu, quandu u bit A (Accessed) o D (Dirty) in a tabella di pagina di memoria deve esse aghjurnatu. A principal difficultà à fà un attaccu à l'altri prucessi hè cumu inizià l'occurrence di l'assistenza manipulendu u prucessu di vittima. Attualmente ùn ci sò modi affidabili per fà questu, ma hè pussibule chì si trovanu in u futuru. A pussibilità di realizà un attaccu hè stata cunfirmata finu à avà solu per l'enclavi Intel SGX, altri scenarii sò teorichi o riproducibili in cundizioni sintetiche (necessita di aghjunghje certi gadgets à u codice)

LVI hè una nova classe di attacchi à u mecanismu di esecutivu speculativu in u CPU

LVI hè una nova classe di attacchi à u mecanismu di esecutivu speculativu in u CPU

Possibili vettori di attaccu:

  • Fuga di dati da e strutture di u kernel in u prucessu à livellu di l'utilizatori. A prutezzione di u kernel Linux contru l'attacchi Spectre 1, è ancu u mecanismu di prutezzione SMAP (Supervisor Mode Access Prevention), riduce significativamente a probabilità di un attaccu LVI. Aghjunghje una prutezzione supplementaria à u kernel pò esse necessariu se i metudi di attaccu LVI più simplici sò identificati in u futuru.
  • Fuga di dati trà e diverse prucessi. L'attaccu richiede a prisenza di certi pezzi di codice in l'applicazione è a definizione di un metudu per scaccià una eccezzioni in u prucessu di destinazione.
  • Fuga di dati da l'ambiente ospitante à u sistema di ospiti. L'attaccu hè classificatu cum'è troppu cumplessu, chì esige diversi passi difficiuli di implementà è predizioni di attività in u sistema.
  • Fuga di dati trà i prucessi in diversi sistemi di ospiti. U vettore d'attaccu hè vicinu à l'urganizazione di a fuga di dati trà e diverse prucessi, ma ancu richiede manipulazioni cumplesse per aggira l'isolazione trà i sistemi di ospiti.

Publicatu da i circadori parechji prototipi cù una dimustrazione di i principii di realizà un attaccu, ma ùn sò ancu adattati per realizà attacchi veri. U primu esempiu vi permette di reindirizzà l'esekzione di codice speculativu in u prucessu di vittima, simile à a prugrammazione orientata à u ritornu (R.O.P.,Programmazione orientata à u ritornu). In questu esempiu, a vittima hè un prucessu preparatu apposta chì cuntene i gadgets necessarii (applicà un attaccu à i prucessi veri di terzu hè difficiule). U sicondu esempiu ci permette di interferiscenu cù i calculi durante a criptografia AES in l'enclave Intel SGX è urganizà una fuga di dati durante l'esekzione speculativa di struzzioni per restaurà u valore di a chjave utilizata per a criptografia.


Source: opennet.ru

Add a comment