Infrastructure
Couche logicielle qui partage un ordinateur physique entre plusieurs machines virtuelles. Elle attribue à chacune processeur, mémoire et périphériques, tout en les isolant les unes des autres.
Type 1, sur le métal : Il s'exécute directement sur le matériel, sans système d'exploitation en dessous : ESXi, Xen, Hyper-V. KVM, intégré au noyau Linux, est rangé dans cette famille.
Type 2, hébergé : Il tourne comme une application sur un système existant, par exemple VirtualBox ou VMware Workstation. C'est pratique sur un poste de travail et un peu moins rapide, puisqu'il passe par le système hôte.
Assistance matérielle : Les extensions Intel VT-x et AMD-V laissent le code invité s'exécuter directement sur le processeur. Les instructions sensibles provoquent une sortie vers l'hyperviseur, qui arbitre ou émule l'accès demandé. Avant elles, il fallait réécrire ces instructions à la volée : un exploit d'ingénierie dont personne ne regrette l'époque.
Isolation et limites : La frontière entre invités est forte, mais elle n'est pas absolue : une faille d'évasion ou un canal auxiliaire comme Spectre peut la franchir. La promesse d'étanchéité totale tient jusqu'au jour où deux machines virtuelles partagent le même cache processeur, détail rarement imprimé sur la plaquette.
Ce qui arrive si on s'en passe
Sans hyperviseur, les services qui partagent une même machine physique tournent sur un seul système d'exploitation, avec un noyau commun et un accès direct au matériel. La frontière d'isolation se réduit alors aux droits de ce système : un attaquant qui obtient les privilèges d'administration par l'intermédiaire d'un service atteint la mémoire, les disques et les périphériques de tous les autres. Le partage du processeur et de la mémoire ne repose plus sur des allocations fixées pour chaque machine ; si aucun quota n'est configuré dans le système, un processus qui monopolise ces ressources ralentit toutes les charges hébergées. On perd aussi les fonctions que la virtualisation apporte à l'exploitation : instantané avant une modification risquée, retour rapide à un état connu, déplacement vers un autre hôte, examen d'un système suspect depuis l'extérieur sans passer par son noyau. Pour séparer les usages, il faut alors des machines physiques distinctes.
Explication de la marmotte
Imagine un grand immeuble avec un seul gardien. Chaque appartement semble avoir son propre chauffage, sa propre électricité et sa boîte aux lettres. En réalité, tout vient de la même chaufferie et du même compteur, et c'est le gardien qui répartit : un peu de chaleur ici, du courant là. Il veille aussi à ce qu'aucun voisin n'entre chez les autres. Dans un ordinateur, l'hyperviseur joue ce rôle de gardien. Il découpe une seule machine en plusieurs « faux ordinateurs » indépendants, et chacun croit être seul. On peut ainsi faire tourner beaucoup de choses sur un même appareil sans le gaspiller.
Où ce terme est utilisé
- Évasion de VM et isolation matérielle des hyperviseurs (20 occurrences)
- Hyperviseur Type 1 ou Type 2 : lequel choisir (19 occurrences)
- Rowhammer, Spectre et Meltdown, mécanismes et contre-mesures (9 occurrences)
- L'entropie au démarrage (8 occurrences)
- Installer WSL 2 sous Windows 10 et 11, configuration et sécurité (5 occurrences)
- Isolation multi-locataire face à un locataire hostile (5 occurrences)
- Spectre et Meltdown : exécution spéculative et fuite par cache (5 occurrences)
- Isolation des conteneurs Docker : namespaces, cgroups et évasions (4 occurrences)
- SGX et TrustZone pour isoler du code sensible (4 occurrences)
- Chiffrer les flux est-ouest dans un data center (3 occurrences)
