VMSCAPE Spectre BTI Attaque brise l’isolement VM sur les processeurs AMD et Intel

Lucas Morel

L’injection cible de la branche CPU de type Spectre (BTI) rompt la couche d’hôte invité dans des environnements virtualisés, introduisant une nouvelle menace pour les centres de données et le cloud.

Les chercheurs ont démontré une attaque d’injection cible de la branche CPU de type Spectre qui permet aux utilisateurs de machines virtuelles malveillantes de fuir les informations sensibles des hyperviseurs hôtes tels que KVM / QEMU sur Linux.

La nouvelle attaque, surnommée VMSCAPE, exploite la fonction d’exécution spéculative des processeurs AMD et Intel pour briser la couche d’isolement d’hôtes dans des environnements virtualisés, y compris l’infrastructure cloud et les centres de données. VMSCAPE a été démontré avec succès contre la combinaison d’hyperviseur KVM / QEMU largement utilisée dans sa configuration par défaut et a été utilisée pour extraire les clés de cryptage de disque de l’hôte.

Suivi en CVE-2025-40300, VMScape s’appuie sur les mêmes principes que la vulnérabilité de l’injection cible de la branche Spectre (Spectre-BTI) divulguée par les chercheurs de Google en janvier 2018. Cette divulgation a déclenché une recherche approfondie sur l’exécution spéculative, conduisant à la découverte de dizaines de défauts de CPU connexes.

L’exécution spéculative est une technique d’optimisation des performances du CPU qui prédit le chemin de code qu’un programme prendra lorsqu’il rencontrera une branche conditionnelle. Le CPU exécute à l’avance des instructions le long du chemin prévu et stocke les résultats de ses caches pour un accès plus rapide. Des attaques comme Spectre exploitent ce comportement en incitant les CPU à exécuter des chemins de code qui exposent des données sensibles dans le cache, que les attaquants peuvent ensuite extraire en utilisant des techniques de canal latéral.

Bien que Intel et AMD aient introduit des atténuations pour Spectre-BTI dans les processeurs plus récents et via des mises à jour de microcodes pour les processeurs plus anciens, les chercheurs de ETH Zurich ont montré que ces défenses sont insuffisantes dans des environnements virtualisés.

«Notre analyse systématique de l’isolement de protection dans le domaine montre que les mécanismes actuels sont trop grossiers: sur tous les processeurs AMD Zen, y compris le dernier Zen 5, le prédicteur de la branche ne peut pas distinguer l’exécution de l’hôte et de l’invité, permettant aux chercheurs de la virtualisation pratique. « Bien que les récents processeurs d’Intel offrent une meilleure isolement, les lacunes existent toujours. »

Hyperviseurs à nœuds d’attaque

Les atténuations Spectre-BTI existantes se concentrent principalement sur la prévention des fuites de mémoire de l’espace du noyau à l’espace utilisateur. Cependant, dans la virtualisation, certains composants hyperviseurs, tels que QEMU, s’exécutent dans l’espace utilisateur et peuvent gérer des données sensibles.

Par exemple, KVM est un module de noyau Linux qui interface entre un hyperviseur de type 2 comme les fonctionnalités de virtualisation Qemu et CPU (Intel VT ou AMD-V), fournissant une accélération matérielle pour les machines virtuelles. Qemu, à son tour, gère la création de VM et attribue des dispositifs virtuels.

VMScape démontre une primitive d’attaque VBTI entre les processus à l’intérieur d’une machine virtuelle (utilisateur invité) et des processus QEMU sur l’hôte (utilisateur de l’hôte), qui est suffisant pour fuir des informations sensibles. Dans leur attaque de preuve de concept contre QEMU fonctionnant sur un processeur AMD Zen 4, les chercheurs ont localisé la clé de chiffrement du disque et l’ont exfiltré dans les 1 092 secondes à un taux de 32 b / s.

Les agents de noyau Linux ont déjà implémenté des atténuations pour VMScape en ajoutant une barrière de prédiction de branche indirecte (IBPB) sur chaque instruction VMEXIT, qui se produit lorsqu’un invité exécute une instruction privilégiée. Les chercheurs ont constaté que cette atténuation introduit uniquement les frais généraux de performance marginale dans les scénarios communs.

« La plupart des systèmes sont vulnérables à certaines primitives du VBTI », ont noté les chercheurs. «Étant donné que VMSCAPE affecte uniquement les environnements virtualisés, les systèmes qui ne fonctionnent jamais de code non fiduciaire dans les machines virtuelles locales ne sont pas directement exploitables. Néanmoins, étant donné l’utilisation généralisée des services cloud, il est probable que vous comptez sur l’infrastructure fonctionnant sur du matériel vulnérable.»

L’hyperviseur Xen n’est pas affecté par ce problème, mais l’impact sur d’autres hyperviseurs qui ne reposent pas sur KVM, tels que Microsoft Hyper-V, VMware ou VirtualBox, reste incertain. Les chercheurs ont divulgué leurs résultats à AMD, Intel et les responsables du noyau Linux responsables de KVM.