Découverte d'une nouvelle vulnérabilité Meltdown dans les processeurs AMD basés sur Zen + et Zen 2

Il ya quelques jours un groupe de chercheurs de l'Université technique de Dresde a dévoilé qu'ils aient identifié une vulnérabilité (CVE-2020-12965) qui permet une attaque de classe Meltdown sur les processeurs AMD basés sur Zen + et Zen 2.

Au départ Les processeurs AMD Zen + et Zen 2 ont été supposés non sensibles à la vulnérabilité Meltdown, mais les chercheurs ont identifié une caractéristique ce qui conduit à un accès spéculatif aux zones de mémoire protégées lors de l'utilisation d'adresses virtuelles non canoniques.

Les enquêteurss mentionner que l'architecture AMD64 implique de n'utiliser que les 48 premiers bits de l'adresse virtuelle et ignorer les 16 bits restants et avec cela il a été précisé que les bits 48 à 63 doivent toujours recopier la valeur du bit 47.

C'est-à- si cette condition est violée et une tentative est faite pour adresser l'adresse avec des valeurs arbitraires des bits supérieurs, le processeur lève une exception. Le remplissage répété des bits supérieurs conduit à la division de l'espace d'adressage disponible en deux blocs.

Les adresses qui rentrent dans les blocs spécifiés sont appelées canoniques, et les adresses invalides avec un contenu arbitrairement plus élevé en bits sont appelées non canoniques. En règle générale, la plage inférieure d'adresses canoniques est allouée aux données de processus et la plage supérieure est utilisée pour les données du noyau (l'accès aux adresses spécifiées à partir de l'espace utilisateur est bloqué au niveau de la séparation des privilèges).

La vulnérabilité classique Meltdown est basé sur le fait que pendant l'exécution spéculative Instructions, le processeur peut accéder à une zone de données privée puis rejeter le résultat, puisque les privilèges établis interdisent un tel accès du processus utilisateur.

Dans le programme, le bloc exécuté spéculativement est séparé du code principal par une branche conditionnelle, qui en conditions réelles se déclenche toujours, mais du fait que la déclaration conditionnelle utilise une valeur calculée que le processeur ne connaît pas lors de l'exécution anticipée de le code, l'exécution spéculative de toutes les options de branchement a lieu.

Depuis lles opérations spéculatives utilisent le même cache que pour les instructions normalement exécutées, c'est possible pendant l'exécution signets de mise en cache spéculative qui refléter le contenu des bits individuels dans une zone de mémoire fermée, puis dans le code normalement exécuté pour déterminer sa valeur via l'analyse temporelle des accès aux données mises en cache et non mises en cache.

La particularité de la nouvelle vulnérabilité affectant les processeurs AMD Zen + et Zen 2, c'est que les processeurs permettent l'exécution spéculative les opérations de lecture et d'écriture qui accèdent à la mémoire en utilisant des adresses non canoniques invalides, en ignorant simplement les 16 bits supérieurs.

Par conséquent, dans le processus d'exécution de code spéculatif, le processeur n'utilise toujours que les 48 bits inférieurs et la validation d'adresse est effectuée séparément. Si, lors de la traduction d'une adresse virtuelle non canonique en une adresse physique dans le tampon de traduction associative (TLB) si la partie canonique de l'adresse correspond, l'opération de chargement spéculatif renverra une valeur quel que soit le contenu des 16 bits supérieurs, permettant vous permet de contourner le partage de mémoire entre les threads. Plus tard, l'opération sera invalidée et rejetée, mais l'accès à la mémoire sera effectué et les données seront mises en cache.

Au cours de l'expérience, utilizando la technique de détection du contenu du cache FLUSH + RELOAD, les chercheurs ont pu organiser une chaîne pour la transmission de données secrètes à une vitesse de 125 octets par seconde.

Les mêmes techniques qui aident à bloquer les attaques Meltdown, telles que l'utilisation des instructions LFENCE, peuvent être utilisées pour se défendre contre la nouvelle attaque.

En même temps, les chercheurs notent que, Par rapport aux processeurs Intel, l'architecture des processeurs AMD limite la possibilité d'attaques réelles, mais n'exclut pas l'utilisation d'une nouvelle méthode en combinaison avec d'autres attaques microarchitecturales pour augmenter son efficacité.

En particulier, l'option d'attaque proposée ne permet pas de déterminer le contenu des zones mémoire du noyau et des autres processus, mais se limite à la possibilité d'accéder à d'autres threads du même programme qui s'exécutent dans le même espace mémoire virtuel.

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


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.