Le bac à sable agit comme un proxy. Au lieu que l'application ou le système d'exploitation soit exécuté directement sur la CPU, le bac à sable peut voir ce que l'application veut faire et intercepter les instructions pour lui faire faire autre chose. Ceci peut être utilisé pour l'empêcher de faire des choses qu'il ne devrait pas faire ou d'interférer avec d'autres applications.
Par exemple, supposons que le programme A veuille créer un fichier appelé document.txt
Normalement, ce fichier serait créé directement sur le disque dur. Mais que se passe-t-il si le programme B veut également utiliser document.txt
pour autre chose?
À l'intérieur d'un bac à sable, le disque dur n'existe pas vraiment. Tout ce qu'il y a, c'est une interface qui prétend être un disque dur. L'application peut en lire et y écrire, et du point de vue de l'application, il semble que ce soit le seul programme qui l'utilise document.txt
.
Mais comme le sandbox peut voir et intercepter tout ce qu'une application fait, les données sur lesquelles le programme A écrit document.txt
sont stockées de manière sécurisée par le sandbox dans un fichier spécial réservé au programme A. Lorsque le programme A lit document.txt
, le sandbox le charge données du fichier spécial du programme A.
Une machine virtuelle est similaire, mais à un niveau inférieur et à une plus grande échelle. Lorsqu'un sandbox d'application modifie les interfaces qu'une application utilise pour interagir avec l'hôte, une machine virtuelle est capable de mettre en sandbox un système d'exploitation complet, qui s'attend à disposer de tout son matériel. Cela nécessite la virtualisation d'une carte graphique, d'une mémoire, d'un processeur, de disques durs, de périphériques USB, de réseaux, de tout. Cependant, comme la VM peut surveiller et intercepter tout ce que le système d'exploitation tente de faire, elle peut imposer et appliquer des limites artificielles empêchant les conflits.
Voici un moyen plus facile d’y réfléchir:
Normalement, Windows indique à l'ordinateur quoi faire. Avec Windows dans une machine virtuelle en tant que "système d'exploitation invité", Guest-Windows indique à la machine virtuelle quoi faire, et si la machine virtuelle pense que c'est correct, la machine virtuelle se retournera et demandera à l'ordinateur de faire la même chose. Si la VM n'aime pas ce que Guest-Windows a essayé de faire, elle le bloquera. En raison de la manière dont cela est mis en œuvre, Guest-Windows ne sait pas avec certitude s'il s'exécute sur une machine virtuelle et, comme cette dernière dispose toujours d' un contrôle total, Guest-Windows doit respecter les règles imposées par la machine virtuelle.