Évasion de machine virtuelle

Une évasion de machine virtuelle (ou sortie de machine virtuelle) est un mécanisme par lequel un processus informatique théoriquement isolé à l'intérieur d'une machine virtuelle peut accéder à des ressources normalement interdites, comme la mémoire volatile d'une autre machine virtuelle. Les conséquences peuvent être désastreuses, car un attaquant exploitant une faille conduisant à une évasion de machine virtuelle pourrait lire en mémoire les données d'autres utilisateurs de l'infrastructure touchée, réussir à contrôler des machines virtuelles tierces, voire accéder à l'hyperviseur et le contrôler.

Ce risque est inhérent à l'utilisation d'infrastructures virtualisées qui sont basées sur des hyperviseurs lesquels, comme tout objet informatique, sont susceptibles d'être affectés par des vulnérabilités. La dangerosité d'une évasion de machine virtuelle est liée au fait que le périmètre de la menace peut concerner l'ensemble des machines virtuelles gérées par l'hyperviseur qui serait touché par une telle faille. Par ailleurs, s'il s’avérait possible de lire la mémoire volatile d'autres machines virtuelles ou toute ressource partagée entre machines[1], un attaquant serait en mesure de lire en clair des données très sensibles comme des clés de chiffrement protégeant au repos ou en transit des données traitées dans l'infrastructure. Ce type de vulnérabilité est donc souvent considérée comme une des menaces principales[2][3] pesant sur les environnements virtualisés tel que le cloud et, bien qu'extrêmement complexe à maîtriser, a été prouvée et vérifiée en pratique[4].

Risque théorique

Souvent présenté comme théorique, le risque induit est très difficile à évaluer : son évaluation est problématique car la probabilité d'occurrence est difficile à établir, puisque la mise en oeuvre d'une attaque nécessiterait l'exploitation de plusieurs failles[5], alors que l'impact en cas de survenance pourrait être d'un niveau catastrophique.

Or les failles Spectre et Meltdown peuvent avoir des impacts jusqu'au niveau des hyperviseurs, car ces failles sont de nature matérielle, à un niveau inférieur à celui des hyperviseurs, justement ; et certaines exploitations sont possibles aux niveaux supérieurs (par exemple au niveau applicatif) : si on arrive à lire la mémoire physique d'une machine via les couches supérieures, on se trouve dans le cas redouté puisque l'hyperviseur ne peut pas jouer le rôle de barrière de protection.

Serverless functions (fonctions sans serveur)

La popularité des fonctions sans serveur pourrait bien être utile aux pirates, car une isolation imparfaite pourrait bien aboutir à un résultat similaire aux VM Escape.

Notes et références

  1. (en) Nancy Owano, « VM researchers post rude awakening about virtualization security », phys.org,‎ (lire en ligne)
  2. « Que signifie Evasion de Machines Virtuelles? - Définition par WhatIs.com », LeMagIT,‎ (lire en ligne)
  3. (en) « Common Virtualization Vulnerabilities and How to Mitigate Risks », Penetration Testing Lab,‎ (lire en ligne)
  4. Gilbert Kallenborn, « Des hackers ont réussi l'exploit de s'évader des machines virtuelles VMware », 01net,‎ (lire en ligne)
  5. (en) « VM Escape Is NOT Your Main Worry », TVP Strategy,‎ (lire en ligne)