Quais informações sobre um host vmware estão disponíveis para o hóspede?

9

Em vmware Workstation, quais informações sobre o software e hardware host são disponibilizadas para o SO convidado.

Para os fins do meu aplicativo, estou preocupado com um processo no SO convidado que obtenha informações sobre o hardware físico em que o host está sendo executado. Isso pode incluir detalhes como números de série, endereços MAC ou qualquer coisa que possa identificar fisicamente o computador em execução.

Tanto o host quanto o convidado estarão executando o Ubuntu Linux.

Editar: vmware-toolsserá instalado no convidado

Edit 2: Adicionando recompensa

Pesquisei bastante sobre essa questão e a maioria das respostas tem palavras como "não deveria". Preciso saber com certo grau de certeza que um hóspede de vmware não pode ver nenhum dos itens a seguir (sendo que, se essas coisas estivessem disponíveis para o hóspede, isso seria considerado uma violação de segurança maciça)

  • quaisquer números de série de hardware
  • endereços mac de interfaces de rede host
  • número de série do registro do software vmware
  • quaisquer arquivos no sistema operacional host

A motivação para esta pergunta é que eu preciso executar um software altamente não confiável e quero excluí-lo de qualquer informação que possa revelar minha identidade. Por exemplo, presumo que este software tente ler o número de série dos meus processadores e relatá-lo ao criador, e presumo que isso possa resultar em um rastro da minha identidade no mundo real. Chame isso de paranóico, se quiser. Parte da minha situação requer que o vmware-tools esteja instalado.

user13137
fonte

Respostas:

5

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 vmxarquivo. 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.

Emil Sit
fonte
1

O convidado não deve saber nada sobre as configurações do host, como suas redes, porque recebe um hw virtual que deve comportar (quase) exatamente como o hw físico. No entanto, algumas coisas como a CPU o hóspede precisa saber, mas esse conhecimento não deve comprometer nenhuma segurança.

Portanto, se houver alguma informação de configurações vazando do host para o convidado, isso seria uma falha de segurança.

Se você ativar o hgfs (sistema de arquivos host-convidado), no entanto, pelo menos parte do sistema de arquivos do host ficará visível no convidado e é possível obter algumas informações sobre o host. Você deve desativar isso se estiver preocupado.

Tudo isso pode realmente não importar normalmente, pois na maioria dos casos a estação de trabalho é usada pessoalmente, ou seja, você tem acesso ao host em qualquer caso. Caso contrário, você deve procurar a virtualização de servidores (vsphere, xen, kvm).

johnshen64
fonte
1

O artigo Como extrair informações de host de uma VM? descreve utilitários no ESX (i) / vSphere que podem ser usados ​​pelo convidado para obter algumas informações do host. O escopo é necessariamente limitado por motivos de segurança.

O primeiro utilitário é o comando VMware Toolbox. Ele fornece algumas informações sobre a configuração do ESX (i) e guestOS, incluindo estatísticas básicas de recursos.

UNIX/Linux - /usr/bin/vmware-toolbox-cmd
Windows - C:\Program Files\VMware\VMware Tools\VMwareToolboxCmd.exe

O segundo é o utilitário vmtoolsd (VMware Tools Daemon), em que o parâmetro "info-get" pode ser definido como guestinfo no arquivo de configuração .vmx da máquina virtual ou na memória VMX enquanto a máquina virtual está em execução.

UNIX/Linux - /usr/bin/vmtoolsd
Windows - C:\Program Files\VMware\VMware Tools\vmtoolsd.exe
harrymc
fonte