Attaque VMScape | Blog officiel de Kaspersky

Une équipe de chercheurs de l’École polytechnique fédérale de Zurich (ETH Zurich) a publié un article de recherche démontrant comment une attaque Spectre v2 peut être utilisée pour contourner une sandbox dans un environnement virtualisé. Avec l’accès à une seule machine virtuelle isolée, les chercheurs ont été en mesure de voler des données précieuses normalement accessibles uniquement à l’administrateur du serveur. Les serveurs équipés de processeurs AMD (y compris les plus récents, dotés de l’architecture Zen 5) ou Intel Coffee Lake sont vulnérables à cette attaque.

Le danger des attaques Spectre pour les environnements virtuels

Nous abordons régulièrement le sujet des vulnérabilités des processeurs qui utilisent l’exécution spéculative, une technique qui exploite les fonctionnalités matérielles standard pour voler des données secrètes. Vous pouvez retrouver nos précédents articles sur ce sujet, qui décrivent en détail les principes généraux de ces attaques, ici, ici ou encore ici.

Bien que ce type de vulnérabilité ait été découvert pour la première fois en 2018, jusqu’à la publication de cet article, les chercheurs n’avaient pas encore démontré une seule attaque concrète. Tous leurs efforts ont abouti à la conclusion que, théoriquement, une attaque complexe et ciblée de type Spectre est possible. De plus, dans la plupart de ces articles, les chercheurs se sont limités au scénario d’attaque le plus basique : ils prenaient un ordinateur, y installaient un programme malveillant, puis exploitaient la vulnérabilité matérielle du processeur pour voler des données secrètes. L’inconvénient de cette approche est que si un pirate parvient à installer un programme malveillant sur un ordinateur, il peut voler des données par de nombreuses autres méthodes bien plus simples. De ce fait, Spectre et les attaques similaires ne sont pas susceptibles de constituer une menace pour les appareils des utilisateurs finaux. Par contre, pour ce qui est des environnements cloud, il ne faut pas sous-estimer Spectre.

Imaginez un fournisseur qui loue des serveurs virtuels à des organisations ou à des particuliers. Chaque client se voit attribuer sa propre machine virtuelle, ce qui lui permet d’exécuter tous les logiciels de son choix. Les systèmes virtuels d’autres clients peuvent fonctionner sur le même serveur. Dans cette situation, il est essentiel de séparer les privilèges d’accès aux données. Il faut empêcher un pirate informatique qui a réussi à accéder à une machine virtuelle de lire les données confidentielles d’un client adjacent ou de compromettre l’infrastructure du fournisseur en accédant aux données de l’hôte. C’est précisément dans ce scénario que les attaques Spectre commencent à représenter une menace nettement plus dangereuse.

VMScape : aperçu pratique d’une attaque Spectre v2

Dans les précédents articles de recherche sur la faisabilité de l’attaque Spectre, les chercheurs ne se sont pas penchés sur un scénario d’attaque réaliste. Pour un travail académique, c’est normal. Une démonstration de faisabilité théorique d’une fuite de données suffit généralement pour inciter les fabricants de processeurs et les développeurs de logiciels à renforcer leurs défenses et à mettre au point des contre-mesures.

Les auteurs du nouvel article publié par l’université ETH Zurich abordent directement cette faille, soulignant que les scénarios d’attaques contre des environnements virtualisés précédemment examinés, comme ceux présentés dans cet article, également publié par ETH Zurich, reposaient sur une hypothèse très large, selon laquelle les pirates avaient déjà réussi à installer un programme malveillant sur l’hôte. Tout comme pour les attaques contre les ordinateurs de bureau classiques, cela n’a pas beaucoup de sens d’un point de vue pratique. Si le serveur est déjà compromis, le mal est déjà fait.

La nouvelle attaque présentée dans leur article, baptisée VMScape, utilise le même mécanisme d’injection de cible de branche que celui utilisé dans toutes les attaques depuis Spectre v2. Nous avons déjà abordé ce sujet à plusieurs reprises, mais voici un bref résumé.

L’injection de cible de branche est un moyen d’entraîner le système de prédiction de branche d’un processeur, qui accélère les programmes en utilisant l’exécution spéculative. Cela signifie que le processeur tente d’exécuter la série de commandes suivante avant même de connaître les résultats des calculs précédents. Si celui-ci devine la bonne direction (branche) à prendre, ses performances augmentent considérablement. S’il se trompe, les résultats sont simplement ignorés.

L’injection de cible de branche est une attaque au cours de laquelle un pirate informatique peut tromper le processeur en lui faisant accéder à des données secrètes et les déplacer dans le cache lors d’une exécution spéculative. Le pirate récupère ensuite ces données indirectement via un canal secondaire.

Les chercheurs ont découvert que la séparation des privilèges entre les systèmes d’exploitation hôte et invité pendant l’exécution spéculative est imparfaite. Cette situation permet une nouvelle version de l’attaque par injection de cible de branche, qui a été baptisée « Virtualization-based Spectre-BTI » ou vBTI.

Les chercheurs ont ainsi pu lire des données arbitraires dans la mémoire de l’hôte alors qu’ils n’avaient accès qu’à une machine virtuelle avec des paramètres par défaut. La vitesse de lecture des données était de 32 octets par seconde sur un processeur AMD Zen 4, avec une fiabilité proche de 100 %. Cette vitesse est suffisante pour voler des données telles que les clés de chiffrement, ce qui ouvre la voie au vol d’informations provenant de machines virtuelles adjacentes.

VMScape représente-t-il une menace dans le monde réel ?

Les processeurs AMD dotés de l’architecture Zen, de la première à la cinquième génération, se sont révélés vulnérables à cette attaque. Ce problème s’explique par les différences subtiles dans la façon dont ces processeurs mettent en œuvre les protections contre les attaques Spectre, ainsi que par le fonctionnement unique des primitives vBTI des auteurs. Dans le cas des processeurs Intel, cette attaque n’est possible que sur les serveurs équipés d’anciens processeurs Coffee Lake datant de 2017. Les nouvelles architectures Intel disposent de protections améliorées qui rendent impossible le lancement de l’attaque VMScape dans sa version actuelle.

Les chercheurs ont réussi à concevoir la toute première attaque Spectre v2 dans un environnement virtuel proche des conditions réelles. Elle ne fait pas appel à des hypothèses d’autorisation trop élevées ni à des artifices, tels que des logiciels malveillants au niveau de l’hyperviseur. L’attaque VMScape est efficace. Elle contourne de nombreuses mesures de sécurité standard, y compris KASLR, et parvient à voler une donnée secrète précieuse : une clé de chiffrement.

Heureusement, immédiatement après avoir conçu l’attaque, les chercheurs ont également proposé un correctif. La vulnérabilité en question est connue sous le code CVE-2025-40300 et a été éliminée par un correctif dans le noyau Linux. Ce correctif en particulier n’a pas d’impact important sur les performances informatiques, ce qui est souvent un point sensible des protections logicielles contre les attaques Spectre.

Les méthodes de protection des données confidentielles dans les environnements virtuels existent depuis un certain temps déjà. AMD dispose d’une technologie appelée « Secure Encrypted Virtualization » et de son sous-type, SEV-SNP, tandis qu’Intel dispose de la technologie Trusted Domain Extensions (TDX). Ces technologies permettent de chiffrer les données secrètes, rendant inutile toute tentative de vol direct. Les chercheurs ont confirmé que la technologie SEV offre une protection supplémentaire contre l’attaque VMScape sur les processeurs AMD. Autrement dit, une attaque VMScape réelle contre des serveurs modernes est peu probable. Cependant, chaque nouvelle étude révèle que les attaques Spectre deviennent de plus en plus réelles.

Malgré la nature académique de la recherche, les attaques qui exploitent l’exécution spéculative dans les processeurs modernes restent d’actualité. Les opérateurs d’environnements virtualisés doivent continuer à prendre en compte ces vulnérabilités et ces attaques potentielles dans leurs modèles de menaces.

Kaspersky Next

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.