¿Cuáles son las vías de escalación de una máquina virtual a su host?

4

Si quiero revisar un enlace poco fiable de un amigo, comencé a abrirlos en una máquina virtual. Supongo que si la máquina virtual es pirateada, el host donde hago banca por Internet, etc., aún estará bien. ¿Bajo qué circunstancias se cumple este supuesto?

por ejemplo Puedo imaginar que las carpetas compartidas y un portapapeles compartido podrían usarse para atacar a un host una vez que un atacante tiene el control de una máquina virtual. Posiblemente el acceso compartido a los puertos USB podría ser otra vulnerabilidad. ¿Es esto realista, y hay otras cosas de las que hay que estar enterado? ¿Qué tan paranoico tendría que ser antes de preocuparme por este tipo de modelo de amenaza?

Mi pregunta es principalmente sobre máquinas virtuales instaladas en hosts de escritorio, pero la información sobre posibles amenazas a los servicios de alojamiento en la nube también sería interesante.

    
pregunta craq 09.09.2017 - 11:32
fuente

1 respuesta

3

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.

    
respondido por el anon 10.09.2017 - 10:24
fuente

Lea otras preguntas en las etiquetas