Van trobar una nova vulnerabilitat Meltdown en processadors AMD basats en Zen + i Zen 2

Fa pocs dies un grup d'investigadors de la Universitat Tècnica de Dresden van donar a conèixer que van identificar una vulnerabilitat (CVE-2020-12965) que permet un atac de classe Meltdown en processadors AMD basats en Zen + i Zen 2.

inicialment, es va assumir que els processadors AMD Zen + i Zen 2 no són susceptibles a la vulnerabilitat Meltdown, però els investigadors van identificar una característica que condueix a un accés especulatiu a àrees de memòria protegides quan s'usen adreces virtuals no canòniques.

els investigadores esmenten que l'arquitectura AMD64 implica fer servir només els primers 48 bits de la direcció virtual i ignorar els 16 bits restants i amb això s'ha especificat que els bits 48-63 sempre de copiar el valor de el bit 47.

És a dir, si es viola aquesta condició i s'intenta adreçar la direcció amb valors arbitraris dels bits superiors, el processador genera una excepció. El farciment repetit dels bits superiors condueix a la divisió de l'espai d'adreces disponible en dos blocs.

Les adreces que s'ajusten als blocs especificats s'anomenen canòniques i les adreces invàlides amb contingut arbitrari de bits superiors s'anomenen no canòniques. El rang inferior d'adreces canòniques, com a regla, s'assigna per a les dades de procés, i el superior s'utilitza per a les dades de l'nucli (l'accés a les adreces especificades des de l'espai d'usuari està bloquejat en el nivell de separació de privilegis) .

La clàssica vulnerabilitat 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 l'accés des del procés de l'usuari.

Al programa, el bloc executat especulativament està separat de el codi principal per una branca condicional, que en condicions reals sempre es dispara, però a causa de el fet que la declaració condicional fa servir un valor calculat que el processador no coneix durant l'execució anticipada de l' codi, es porta a terme l'execució especulativa de totes les opcions de ramificació.

Atès que las operacions realitzades especulativament usen la mateixa memòria cau que per a les instruccions executades normalment, és possible durant l'execució especulativa establir a la memòria cau marcadors que reflecteixin el contingut de bits individuals en una àrea de memòria tancada, i després en el codi normalment executat per determinar el seu valor mitjançant L'anàlisi de temps accedeix a dades emmagatzemades a la memòria cau i no emmagatzemats en memòria cau.

La peculiaritat de la nova vulnerabilitat que afecta els processadors AMD Zen + i Zen 2, És que les CPU permeten l'execució especulativa d'operacions de lectura i escriptura que accedeixen a la memòria utilitzant adreces no canòniques invàlides, simplement ignorant els 16 bits superiors.

Per tant, en el procés d'execució de codi especulatiu, el processador sempre usa només els 48 bits inferiors i la validació de la direcció es realitza per separat. Si, a l'traduir una adreça virtual no canònica a una adreça física en la memòria intermèdia associatiu de traducció (TLB) si la part canònica de la direcció coincideix, l'operació de càrrega especulativa retornarà un valor sense tenir en compte el contingut dels 16 bits superiors , el que li permet ometre l'ús compartit de memòria entre subprocessos. Posteriorment, l'operació quedarà invalidada i descartada, però es realitzarà l'accés a la memòria i les dades s'assentaran en la memòria cau.

Durant l'experiment, utilitzant la tècnica de detecció de contingut de memòria cau FLUSH + RELOAD, els investigadors van poder organitzar una cadena per a la transmissió de dades encoberts a una velocitat de 125 bytes per segon.

Les mateixes tècniques que ajuden a bloquejar els atacs Meltdown, com l'ús d'instruccions LFENCE, es poden utilitzar per defensar-se de el nou atac.

Alhora, els investigadors assenyalen que, en comparació amb els processadors Intel, l'arquitectura dels processadors AMD limita la possibilitat de realitzar atacs reals, però no exclou l'ús d'un nou mètode en combinació amb altres atacs de microarquitectura per augmentar la seva efectivitat.

En particular, l'opció d'atac proposta no permet determinar el contingut de les àrees de memòria de l'nucli i altres processos, però es limita a la capacitat d'accedir a altres subprocessos de el mateix programa que s'executen en el mateix espai de memòria virtual.

font: https://www.amd.com, https://arxiv.org/


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: AB Internet Networks 2008 SL
  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ó.