As informações sobre um host podem vazar para um convidado de várias maneiras diferentes. O VMware (e produtos de virtualização em geral) oferecem proteção contra muitas coisas. Embora seja improvável que você seja capaz de fornecer um ambiente de isolamento completo, provavelmente faz um bom trabalho. Por exemplo, alguns pesquisadores de vírus usam o VMware para fornecer um ambiente seguro para estudar o comportamento do malware .
As informações do host podem vazar para o convidado:
- se o convidado executar diretamente instruções que a camada de virtualização não intercepta.
- se o convidado puder observar o tráfego de rede diretamente no mesmo segmento de rede que o host.
- se o convidado puder se comunicar com o mundo externo e investigar de volta para o host.
Sua principal preocupação parece ser sobre o primeiro método de vazamento, apesar de você também se proteger contra outros mecanismos.
O VMware (e outros hipervisores) fornecem virtualização interceptando o que é considerado instruções confidenciais. Instruções confidenciais revelariam ao hóspede informações sobre o host ou permitiriam que o hóspede escapasse da contenção da camada de virtualização. Por exemplo, a instrução que modifica a base da tabela de páginas (que controla o acesso à memória) deve ser detectada pela camada de virtualização, interceptada e substituída por uma versão "segura" dessa instrução que preserva a ilusão de virtualização.
Para fornecer a ilusão de uma máquina separada do host, também são virtualizadas instruções que revelam informações de identificação sobre o host (como números de série, endereços MAC etc.). No VMware, essas coisas podem ser definidas no vmx
arquivo. Este material é bem compreendido e presumivelmente seguro.
Às vezes, há compensações sobre o que é exposto, como a instrução CPUID, contra a qual versões recentes do VMware fornecem alguma "proteção". (Consulte VMotion e compatibilidade de CPU para obter muitos detalhes sobre a virtualização CPUID.) Quando executada como uma instrução privilegiada, ela pode ser interceptada e emulada, mas também pode ser executada como uma instrução nativa que pode expor algumas informações (presumivelmente desinteressantes) ao hóspede. .
No entanto, o hóspede também pode aprender passivamente outras informações sobre o host. Por exemplo, analisando os tempos de memória, o convidado pode obter informações do tamanho de vários caches. A capacidade de aprender sobre outros convidados (ou o host) por meio de tempo e outros vetores ("canais secundários") é uma área de pesquisa ativa. Em outubro de 2012, os pesquisadores descobriram que é de fato possível extrair chaves criptográficas de outras VMs . Isso pode ser bastante assustador e os limites do que pode ser descoberto e como se proteger contra isso ainda não estão totalmente claros.
A melhor maneira de estar totalmente seguro é isolar a sua máquina através do espaço de ar do resto do mundo. Então, não importa o que o software malicioso aprende, porque não pode comunicar essas informações a ninguém. Quando terminar, limpe a máquina. O uso de uma ferramenta como a VMware facilita essa limpeza e recuperação de estado, porque o estado da máquina é encapsulado em um conjunto de arquivos.