La información sobre un host puede filtrarse a un invitado de diferentes maneras. VMware (y los productos de virtualización en general) brindan protección contra muchas cosas. Si bien es poco probable que pueda proporcionar un entorno de aislamiento completo, probablemente haga un trabajo bastante bueno. Por ejemplo, algunos investigadores de virus usan VMware para proporcionar un entorno seguro para estudiar el comportamiento del malware .
La información del host puede filtrarse al huésped:
- si el invitado ejecuta directamente instrucciones que la capa de virtualización no intercepta.
- si el invitado puede observar el tráfico de red directamente en el mismo segmento de red que el host.
- si el invitado puede comunicarse con el mundo exterior y sondear al host.
Su principal preocupación parece ser el primer método de fuga, aunque también debe asegurarse de protegerse contra los otros mecanismos.
VMware (y otros hipervisores) proporcionan virtualización interceptando lo que se consideran instrucciones sensibles. Las instrucciones sensibles revelarían al huésped información sobre el host o permitirían que el invitado escapara de la contención de la capa de virtualización. Por ejemplo, la instrucción que modifica la base de la tabla de páginas (que controla el acceso a la memoria) debe ser detectada por la capa de virtualización, interceptada y reemplazada por una versión "segura" de esa instrucción que preserva la ilusión de la virtualización.
Para proporcionar la ilusión de una máquina separada del host, también se virtualizan las instrucciones que revelan información de identificación sobre el host (como números de serie, direcciones MAC, etc.). En VMware, estas cosas se pueden configurar en el vmx
archivo. Estas cosas son bien entendidas y presumiblemente seguras.
A veces, hay compensaciones sobre lo que está expuesto, como la instrucción CPUID, contra la cual las versiones recientes de VMware brindan cierta "protección". (Consulte VMotion y la compatibilidad de la CPU para obtener más detalles sobre la virtualización de CPUID). Cuando se ejecuta como una instrucción privilegiada, se puede atrapar y emular, pero también se puede ejecutar como una instrucción nativa que puede exponer cierta información (presumiblemente poco interesante) al invitado .
Sin embargo, el invitado también puede aprender pasivamente otra información sobre el host. Por ejemplo, al sondear los tiempos de memoria, el invitado puede obtener información del tamaño de varios cachés. La capacidad de aprender sobre otros invitados (o el anfitrión) a través del tiempo y otros vectores ("canales laterales") es un área de investigación activa. En octubre de 2012, los investigadores descubrieron que, de hecho, es posible extraer claves criptográficas de otras máquinas virtuales . Esto puede ser bastante aterrador y los límites de lo que se puede descubrir y cómo protegerse contra esto aún no están completamente claros.
La mejor manera de estar completamente seguro es aislar su máquina a través del entrehierro del resto del mundo. Entonces, no importa lo que aprenda el software malicioso porque no puede comunicar esa información a nadie. Cuando haya terminado, limpie la máquina. El uso de una herramienta como VMware hace que esta limpieza y recuperación de estado sea más fácil porque el estado de la máquina está encapsulado en un conjunto de archivos.