Que informações sobre um host VMware estão disponíveis para o convidado?

9

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

Para os propósitos do meu aplicativo, estou preocupado com um processo no sistema operacional convidado que obtém 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 sendo executado.

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

Editar: vmware-tools será instalado no convidado

Editar 2: Adicionando recompensa

Eu fiz muita pesquisa sobre essa questão, e a maioria das respostas tem palavras como "não deveria" nelas. Eu preciso saber com algum grau de certeza, que um convidado vmware não pode ver nenhum dos itens a seguir (em que, se essas coisas estivessem disponíveis para o convidado, isso seria considerado uma violação de segurança massiva)

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

A motivação para essa pergunta é que preciso executar um software altamente não confiável e quero protegê-lo de qualquer informação que possa revelar minha identidade. Por exemplo, eu assumo que este software tentará ler o número de série dos meus processadores e reportá-lo de volta ao seu criador, e eu assumo que isso poderia resultar em um traço de volta à minha identidade do mundo real. Chame isso de paranóico, se quiser. Parte da minha situação requer que o vmware-tools esteja instalado.

    
por user13137 12.10.2012 / 06:48

3 respostas

5

Informações sobre um host podem vazar para um convidado de várias maneiras diferentes. O VMware (e os produtos de virtualização em geral) fornecem proteção contra muitas coisas. Embora seja improvável que 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 as 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 o host.

Sua principal preocupação parece ser o primeiro método de vazamento, mas você também deve se proteger contra os outros mecanismos.

O VMware (e outros hypervisors) fornece virtualização, interceptando o que são consideradas instruções confidenciais. Instruções confidenciais revelariam ao convidado informações sobre o host ou permitiriam que o convidado 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 preserve a ilusão de virtualização.

Para fornecer a ilusão de uma máquina separada do host, as instruções que revelam informações de identificação sobre o host (como números de série, endereços MAC, etc.) também são virtualizadas. No VMware, essas coisas podem ser definidas no arquivo vmx . Este material é bem compreendido e presumivelmente seguro.

Às vezes, há trade-offs sobre o que está exposto, como a instrução CPUID, que versões recentes do VMware fornecem alguma "proteção" contra. (Consulte VMotion e compatibilidade com CPU para obter muitos detalhes sobre a virtualização de CPUID.) Quando executada como uma instrução privilegiada, pode ser preso e emulado, mas também pode ser executado como uma instrução nativa que pode expor algumas informações (presumivelmente desinteressantes) ao convidado.

No entanto, o convidado também pode aprender passivamente outras informações sobre o host. Por exemplo, analisando os intervalos 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 temporização 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 esclarecidos.

A melhor maneira de estar totalmente seguro é isolar sua máquina por via aérea do resto do mundo. Então não importa o que o software malicioso aprende porque não pode comunicar essa informação a ninguém. Quando terminar, limpe a máquina. Usar uma ferramenta como o VMware facilita essa limpeza e recuperação de estado porque o estado da máquina é encapsulado em um conjunto de arquivos.

    
por 30.12.2012 / 02:47
1

O convidado não deve saber nada sobre as configurações do host, como suas redes, porque é entregue um virtual hw que deve comportar-se (quase) exatamente como o hw físico. No entanto, algumas coisas como cpu o convidado tem que saber, mas esse conhecimento não deve comprometer qualquer segurança.

Portanto, se houver algum vazamento de informações de configurações do host para o convidado, isso será uma falha de segurança.

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

Tudo isso pode não importar normalmente, já que 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 estar investigando a virtualização de servidores (vsphere, xen, kvm).

    
por 12.10.2012 / 07:41
1

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

O primeiro utilitário é o comando do 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), onde o parâmetro "info-get" pode obter guestinfo definido 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
    
por 27.12.2012 / 15:20