AMD SEV : Une vulnérabilité exposant les machines virtuelles cryptées

Un groupe d’universitaires a révélé une nouvelle « attaque par défaut logiciel » sur la technologie SEV (Secure Encrypted Virtualization) d’AMD, qui pourrait être exploitée par des acteurs menaçants pour infiltrer des machines virtuelles (VM) cryptées et même procéder à une escalade des privilèges.

L’attaque a été baptisée CacheWarp (CVE-2023-20592) par des chercheurs du CISPA Helmholtz Center for Information Security et de l’Université de technologie de Graz. Elle concerne les processeurs AMD prenant en charge toutes les variantes de SEV.

« Pour cette recherche, nous avons spécifiquement examiné le dernier TEE d’AMD, AMD SEV-SNP, en nous appuyant sur l’expérience acquise lors d’attaques précédentes contre le TEE d’Intel », a déclaré Ruiyi Zhang, chercheur en sécurité, à The Hacker News. « Nous avons découvert que l’instruction ‘INVD’ [effacer le contenu de la mémoire cache d’un processeur] pouvait être utilisée de manière abusive dans le cadre du modèle de menace d’AMD SEV.

SEV, une extension de l’architecture AMD-V introduite en 2016, est conçue pour isoler les VM de l’hyperviseur en chiffrant le contenu de la mémoire de la VM avec une clé unique.

L’idée, en bref, est de protéger la VM contre la possibilité que l’hyperviseur (c’est-à-dire le moniteur de la machine virtuelle) puisse être malveillant et ne puisse donc pas être fiable par défaut.

SEV-SNP, qui intègre Secure Nested Paging (SNP), ajoute « une forte protection de l’intégrité de la mémoire pour aider à prévenir les attaques malveillantes basées sur l’hyperviseur, telles que le rejeu de données, le remappage de la mémoire, et plus encore, afin de créer un environnement d’exécution isolé », selon AMD.

Mais CacheWarp, selon Zhang, permet de déjouer les protections d’intégrité et de réaliser une escalade de privilèges et une exécution de code à distance dans la machine virtuelle ciblée – L’instruction `INVD` supprime tous les contenus modifiés dans le cache sans les réécrire dans la mémoire. Par conséquent, l’attaquant peut interrompre toute écriture des machines virtuelles invitées et la machine virtuelle continue avec des données périmées du point de vue de l’architecture. Dans leur article intitulé « CacheWarp : Breaking Isolation with Software Faults », les chercheurs démontrent deux primitives appelées « timewarp » et « dropforge ».

Pour le timewarping, ils réinitialisent ce que l’ordinateur a mémorisé comme prochaine étape, ce qui lui fait exécuter le code qui a été exécuté auparavant parce qu’il lit une adresse de retour obsolète dans la mémoire, ce qui fait voyager l’ordinateur dans le temps. Cependant, l’ancien code est exécuté avec de nouvelles données (valeur de retour d’une autre fonction), ce qui entraîne des effets inattendus permettant de contourner l’enregistrement d’authentification OpenSSH sans connaître le mot de passe.

Une autre méthode appelée Dropforge permet à l’attaquant de réinitialiser les modifications apportées par les machines virtuelles invitées aux données, ce qui lui permet de manipuler le flux logique de l’exécution invitée de manière exploitable. Par exemple, ils prennent le binaire sudo dont la valeur de retour est stockée dans la mémoire (pile), de sorte que l’attaquant peut réinitialiser sa valeur initiale.

Avec cette combinaison, ils ont un accès illimité à la machine virtuelle.

Une exploitation réussie du bogue architectural pourrait permettre à l’attaquant de détourner le flux de contrôle du programme en revenant à l’état précédent et en prenant le contrôle de la machine virtuelle, AMD a depuis publié une mise à jour du microcode corrigeant l’utilisation abusive des instructions.

« Une équipe de Google Project Zero et de Google Cloud Security a audité la dernière version du TEE d’AMD (SEV-SNP) l’année dernière », note Zhang. « AMD prétend également que SEV-SNP empêche toutes les attaques sur l’intégrité, mais notre attaque en brise l’intégrité ».

 

Au début du mois d’août, les chercheurs de la CISPA ont également révélé une attaque de canal latéral de puissance basée sur un logiciel et ciblant les processeurs Intel, AMD et Arm, baptisée Collide+Power (CVE-2023-20583), qui pourrait être utilisée pour fuir des données sensibles en brisant les protections d’isolation.

Partager:

Les dernières actualités :