LVI: una nova classe d'atacs d'execució especulativa en CPU Intel

S'ha publicat informació sobre una nova classe d'atacs LVI en el mecanisme de execució especulativa que afecta Intel, Que pot ser utilitzat per a la derivació de claus i dades sensibles dels enclavaments Intel SGX i altres processos.

La nova classe d'atacs es basa en manipulacions amb les mateixes estructures microarquitectónicas que en els atacs de MDS, Spectre i Meltdown. A el mateix temps, els nous atacs no estan bloquejats pels mètodes existents de protecció contra Meltdown, Spectre, MDS i altres atacs similars.

sobre LVI

el problema va ser identificat a l'abril de l'any passat per l'investigador Jo Van Bulck de la Universitat de Lovaina, després de la qual cosa, amb la participació de 9 investigadors d'altres universitats, es van desenvolupar XNUMX:XNUMX mètodes bàsics d'atac, cadascun dels quals permet l'existència d'opcions més específiques.

De totes maneres, al febrer d'aquest any, els investigadors de Bitdefender també van descobrir una de les opcions d'atac LVI i ho van informar a Intel.

Les opcions d'atac es distingeixen per l'ús de diverses estructures microarquitectónicas, com la memòria intermèdia d'emmagatzematge (SB, Store Buffer), la memòria intermèdia de farciment (LFB, Line Fill Buffer), la memòria intermèdia de canvi de context de FPU i la memòria cau de primer nivell (L1D), utilitzat prèviament en atacs com ZombieLoad, Ridl , Fallout, LazyFP, Foreshadow i Meltdown.

La principal diferència entre els atacs LVI i MDS és que MDS manipula la determinació de l'contingut de les estructures microarquitectónicas que romanen en la memòria cau després de l'maneig d'errors especulatius o les operacions de càrrega i emmagatzematge, mentre que els atacs LVI permeten que l'atacant sigui substituït en estructures microarquitectónicas per influir posterior execució especulativa de el codi de la víctima.

Usant aquestes manipulacions, un atacant pot extreure el contingut d'estructures de dades tancades en altres processos mentre executa cert codi en el nucli de la CPU de destinació.

Per a l'explotació, s'han de trobar problemes en el codi de l'procés i enviar seqüències de codis especials (gadgets) en què es carrega el valor controlat per l'atacant i la càrrega d'aquest valor provoca excepcions que descarten el resultat i tornen a executar la instrucció.

A l'processar una excepció, apareix una finestra especulativa durant la qual es filtren les dades processades en el gadget.

En particular, el processador comença a executar en mode especulatiu un fragment de codi (El gadget), després determina que la predicció no s'ha justificat i reverteix les operacions, però les dades processades durant l'execució especulativa es dipositen a la memòria cau L1D i en les memòries intermèdies de microarquitectura i es poden extreure d'ells amb utilitzant mètodes coneguts per determinar dades residuals de canals de tercers.

La principal dificultat per atacar altres processos is com iniciar l'assistència mitjançant la manipulació de el procés de la víctima.

Actualment, no hi ha formes fiables de fer això, però en el futur la seva troballa no està exclòs. Fins ara, la possibilitat d'un atac s'ha confirmat només per enclavaments Intel SGX, altres escenaris són teòrics o reproduïbles en condicions sintètiques.

Possibles vectors d'atac

  • La fugida de dades de les estructures de l'nucli a el procés a nivell d'usuari. La protecció de el nucli de Linux contra els atacs Specter 1 i el mecanisme de protecció SMAP (supervisor Mode Access Prevention) redueixen significativament la probabilitat d'un atac LVI. La introducció de protecció addicional en el nucli pot ser necessària a l'identificar en el futur mètodes més simples per dur a terme un atac LVI.
  • Fugida de dades entre diferents processos. Un atac requereix la presència de certs fragments de codi en l'aplicació i la determinació de l'mètode per generar una excepció en el procés de destí.
  • Fuga de dades des de l'entorn host a sistema convidat. L'atac es classifica com massa complex, el que requereix la implementació de diversos passos difícils d'implementar i prediccions d'activitat en el sistema.
  • Fuga de dades entre processos en diferents sistemes convidats. El vector d'atac és a prop d'organitzar la fuga de dades entre diferents processos, però a més requereix manipulacions complexes per evitar l'aïllament entre els sistemes convidats.

Per proporcionar una protecció efectiva contra LVI, es requereixen canvis de maquinari a la CPU. A l'organitzar la protecció mitjançant programació, a l'afegir la instrucció LFENCE de compilador després de cada operació de càrrega des de la memòria i reemplaçar la instrucció RET amb POP, LFENCE i JMP, es corregeix massa sobrecàrrega; segons els investigadors, la protecció completa del programari conduirà a una degradació de l'rendiment de 2 a 19 vegades.

font: https://www.intel.com


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.