S'ha identificat una altra vulnerabilitat als processadors AMD que permet atacs Meltdown

Un equip d'investigadors de la Universitat Tècnica de Graz (Àustria) i del Centre Helmholtz per a la Seguretat de la Informació (CISPA) ha revelat una vulnerabilitat (CVE-2021-26318) en tots els processadors AMD que permet dur a terme una vulnerabilitat de classe Meltdown. atacs al canal (inicialment es va suposar que els processadors AMD no es veuen afectats per la vulnerabilitat Meltdown). En termes pràctics, l'atac es pot utilitzar per establir canals de comunicació encoberts, supervisar l'activitat al nucli o obtenir informació sobre adreces a la memòria del nucli per evitar la protecció KASLR mentre s'exploten les vulnerabilitats del nucli.

AMD considera inadequat prendre mesures especials per bloquejar el problema, ja que la vulnerabilitat, com un atac similar descobert a l'agost, és de poca utilitat en condicions reals, està limitada pels límits actuals de l'espai d'adreces del procés i requereix la presència de certs seqüències ja fetes d'instruccions (gadgets) al nucli. Per demostrar l'atac, els investigadors van carregar el seu propi mòdul del nucli amb un gadget afegit artificialment. En condicions reals, els atacants poden utilitzar, per exemple, les vulnerabilitats que apareixen regularment al subsistema eBPF per substituir les seqüències necessàries.

Per protegir-se d'aquest nou tipus d'atac, AMD va recomanar utilitzar tècniques de codificació segura que ajudin a bloquejar els atacs Meltdown, com ara utilitzar instruccions LFENCE. Els investigadors que van identificar el problema recomanen habilitar un aïllament més estricte de la taula de pàgines de memòria (KPTI), que abans només s'utilitzava per als processadors Intel.

Durant l'experiment, els investigadors van aconseguir filtrar informació del nucli a un procés a l'espai d'usuari a una velocitat de 52 bytes per segon, donada la presència d'un gadget al nucli que realitza l'operació "if (offset < data_len) tmp = LUT[dades[desplaçament] * 4096];” . S'han proposat diversos mètodes per recuperar informació a través de canals laterals que acaba a la memòria cau durant l'execució especulativa. El primer mètode es basa en l'anàlisi de les desviacions en el temps d'execució de la instrucció del processador “PREFETCH” (Prefetch+Time), i el segon en canviar el canvi de consum d'energia en executar “PREFETCH” (Prefetch+Power).

Recordem que la vulnerabilitat clàssica de Meltdown es basa en el fet que durant l'execució especulativa d'instruccions, el processador pot accedir a una àrea de dades privades i després descartar el resultat, ja que els privilegis establerts prohibeixen aquest accés al procés de l'usuari. Al programa, el bloc executat de manera especulativa està separat del codi principal per una branca condicional, que en condicions reals sempre s'activa, però a causa del fet que la instrucció condicional utilitza un valor calculat que el processador no coneix durant l'execució preventiva de el codi, totes les opcions de branca es duen a terme de manera especulativa.

Atès que les operacions executades de manera especulativa utilitzen la mateixa memòria cau que les instruccions executades normalment, és possible durant l'execució especulativa establir marcadors a la memòria cau que reflecteixin el contingut de bits individuals en una àrea de memòria privada i, a continuació, en el codi executat normalment per determinar el seu valor a través del temps. anàlisi d'accés a dades emmagatzemades i no a la memòria cau.

Font: opennet.ru

Afegeix comentari