L'objet de chroot est, comme son nom l'indique, de substituer la racine (/) pour un process, de façon à éviter que, si le process venait à pris sous contrôle, cela donne accès à l'ensemble du système c'est à dire la racine (/).
Cela n'est pas suffisant car cela devrait forcément s'accompagner d'un changement d'user pour le process : si on chroot un process qui tourne en root cela créé pas mal de facilité pour sortir de chroot.
Le mécanisme de chroot est notable au niveau de bind, en partie à cause de faiblesse répétée de bind v4 puis v8. Postfix, pourtant peu connu pour ses failles, utilise aussi le chroot ce qui entraine par exemple l'utilisation de socket pour accéder à MySQL (lequelles sockets peuvent être l'occasion de sortie de chroot !).
Les VE sont aussi une forme de prison (chroot=jail), plus poussé encore. Mais à partir du moment où il reste des processus devant tourner dans un ring de niveau inférieur (i.e. plus privilégiée) et qu'il y a, forcément, des api de liens avec des ressources justement offertes par le noyau en ring 0 ou -1, cela laisse entrevoir une éventuelle élévation de privilèges.
C'est d'ailleurs pour cela qu'il y a 2 principes incontournables :
- si l'hyperviseur est compromis, toute les VM seront compromises,
- on ne virtualise que des VM appartenant à une même zone.
Sur le sujet chroot, j'ai retrouvé le lien de Cedric Blancher qui cite la réflexion ancienne d'Alan Cox :
http://sid.rstack.org/blog/index.php/222-prison-break (présentation toujours très bonne et très précise de certains sujets sur la sécurité, notamment wifi, merci à lui).
Est cité la revue MISC dont un numéro paru, il y a peut-être un an, détaillait la sécurité en virtualisation (et notamment le jeu des anneaux). Il faut noter qu'un environnement peut savoir s'il est ou non virtualisé (par exemple, le nom/marque du disque ...). J'écris donc potentiellement susceptible de sortie.
Mais il est clair que si la sortie de chroot est possible sans être forcément aisée, la sortie de VE est bien moins documentée ... ce qui ne veut ni dire possible ni impossible.
Il est aussi possible d'utiliser d'autres services que Bind comme par exemple djbdns (pour les fans de Dr Bernstein ...). Cela ne dispense pas d'une configuration irréprochable de l'outil ...