Un atacante avanzado podría comprometer un hipervisor a través de controladores de dispositivos emulados más fácilmente que a través del manejo del portapapeles. La forma en que funciona un hipervisor es proporcionar un nuevo entorno de ejecución para un invitado y exponer el hardware emulado. Cuando un controlador en el invitado intenta acceder al hardware virtual, por ejemplo, leyendo y escribiendo en PCI BARs para interactuar con dispositivos PCI, el software del dispositivo emulado del hipervisor escuchará la solicitud, pausará temporalmente al huésped en ejecución y emulará en el software lo que el hardware real lo habría hecho antes de cancelar la pausa del invitado y permitirle ver los resultados. Esto permite que el huésped no sea consciente de su entorno virtual subyacente. Cuando piensa que los dispositivos emulados actúan simplemente como un proxy, implementando un protocolo complejo y a menudo mal documentado entre el software invitado (que está diseñado para hablar con hardware real) y el hardware del host (que es capaz de escuchar software), es más fácil ver cómo un error en el análisis de estructuras de datos tan complejas podría resultar en una violación de la seguridad.
Esta es una mirada a algunas de las advertencias de seguridad de un hipervisor, específicamente QEMU con KVM, aunque los conceptos generales deberían aplicarse a casi cualquier software de hipervisor.
Tenga en cuenta que la mayoría de las veces, explotar un error en dispositivos emulados requiere que el atacante tenga acceso privilegiado al huésped. Tienen que comprometer completamente al huésped antes de que se les permita interactuar con el hardware emulado. Si el invitado es lo suficientemente seguro, el hipervisor probablemente también lo estará.
La versión completa de la famosa cita de Theo de Raadt, fundador de OpenBSD:
La virtualización x86 consiste básicamente en colocar otra casi llena.
kernel, lleno de nuevos errores, encima de una desagradable arquitectura x86 que
Apenas tiene la protección de página correcta. A continuación, ejecute su funcionamiento
Sistema al otro lado de este nuevo montón de mierda.
Estás absolutamente engañado, si no eres estúpido, si crees que un
Colección mundial de ingenieros de software que no pueden escribir en funcionamiento.
sistemas o aplicaciones sin agujeros de seguridad, entonces pueden dar la vuelta
y de repente escribe capas de virtualización sin agujeros de seguridad.
Has visto algo en el estante, y tiene todo tipo de cosas bonitas
colores, y lo has comprado.
Eso es todo lo que es la virtualización x86.
Sin embargo, al final, las posibilidades de que un "enlace poco fiable" contenga un 0day que rompa el hipervisor son bastante remotas. En todo caso, tendrá una vulnerabilidad para una versión anterior de Flash, utilizada para descargar software de botnet.