Quelles informations sur un hôte vmware sont disponibles pour l'invité?

9

Dans vmware Workstation, quelles informations sur le logiciel hôte et le matériel sont mises à la disposition du système d'exploitation invité.

Aux fins de mon application, je suis préoccupé par un processus sur le système d'exploitation invité obtenant des informations sur le matériel physique sur lequel l'hôte s'exécute. Cela pourrait inclure des détails tels que les numéros de série, les adresses MAC ou tout ce qui pourrait identifier physiquement l'ordinateur en cours d'exécution.

L'hôte et l'invité exécuteront Ubuntu Linux.

Edit: vmware-toolssera installé sur l'invité

Edit 2: Ajout de prime

J'ai fait beaucoup de recherches sur cette question, et la plupart des réponses contiennent des mots comme «ne devrait pas». J'ai besoin de savoir avec un certain degré de certitude qu'un invité vmware ne peut voir aucun des éléments suivants (en ce que, si ces éléments étaient disponibles pour l'invité, cela serait considéré comme une violation de sécurité massive)

  • tout numéro de série matériel
  • adresses mac des interfaces réseau hôte
  • enregistrement du numéro de série du logiciel vmware
  • tous les fichiers sur le système d'exploitation hôte

La motivation de cette question est que j'ai besoin d'exécuter des logiciels très peu fiables et que je veux les séparer de toute information qui pourrait révéler mon identité. Par exemple, je suppose que ce logiciel tentera de lire le numéro de série de mon processeur et de le signaler à son créateur, et je suppose que cela pourrait entraîner une trace de mon identité réelle. Appelez ce paranoïaque si vous le souhaitez. Une partie de ma situation nécessite que vmware-tools soit installé.

user13137
la source

Réponses:

5

Les informations sur un hôte peuvent être divulguées à un invité de différentes manières. VMware (et les produits de virtualisation en général) offrent une protection contre de nombreuses choses. S'il est peu probable qu'il soit en mesure de fournir un environnement d'isolation complet, il fait probablement un très bon travail. Par exemple, certains chercheurs sur les virus utilisent VMware pour fournir un environnement sûr pour étudier le comportement des logiciels malveillants .

Les informations de l'hôte peuvent fuir vers l'invité:

  • si l'invité exécute directement des instructions que la couche de virtualisation n'intercepte pas.
  • si l'invité peut observer le trafic réseau directement sur le même segment de réseau que l'hôte.
  • si l'invité peut communiquer avec le monde extérieur et sonder de nouveau l'hôte.

Votre principale préoccupation semble concerner la première méthode de fuite, mais vous devez également vous protéger contre les autres mécanismes.

VMware (et d'autres hyperviseurs) fournissent la virtualisation en interceptant ce qui est considéré comme des instructions sensibles. Des instructions sensibles révéleraient à l'invité des informations sur l'hôte, ou lui permettraient d'échapper au confinement de la couche de virtualisation. Par exemple, l'instruction qui modifie la base de la table des pages (qui contrôle l'accès à la mémoire) doit être détectée par la couche de virtualisation, interceptée et remplacée par une version "sûre" de cette instruction qui préserve l'illusion de la virtualisation.

Pour donner l'illusion d'une machine distincte de l'hôte, les instructions qui révèlent des informations d'identification sur l'hôte (telles que les numéros de série, les adresses MAC, etc.) sont également virtualisées. Dans VMware, ces choses peuvent être définies dans le vmxfichier. Ce truc est bien compris et sans doute sûr.

Parfois, il y a des compromis sur ce qui est exposé, comme l'instruction CPUID, contre laquelle les versions récentes de VMware offrent une certaine "protection". (Voir VMotion et la compatibilité CPU pour de nombreux détails sur la virtualisation CPUID.) Lorsqu'elle est exécutée en tant qu'instruction privilégiée, elle peut être capturée et émulée, mais elle peut également être exécutée en tant qu'instruction native qui peut exposer certaines informations (probablement sans intérêt) à l'invité. .

Cependant, l'invité peut également apprendre passivement d'autres informations sur l'hôte. Par exemple, en sondant les timings de la mémoire, l'invité peut obtenir des informations sur la taille des caches. La capacité de connaître les autres clients (ou l'hôte) via le chronométrage et d'autres vecteurs ("canaux latéraux") est un domaine de recherche active. En octobre 2012, les chercheurs ont découvert qu'il était en fait possible d' extraire des clés cryptographiques d'autres machines virtuelles . Cela peut être assez effrayant et les limites de ce qui peut être découvert et comment se protéger contre cela ne sont pas encore complètement claires.

La meilleure façon d'être entièrement sécurisé est d'isoler votre machine par l'entrefer du reste du monde. Ensuite, peu importe ce que le logiciel malveillant apprend, car il ne peut communiquer ces informations à personne. Lorsque vous avez terminé, essuyez la machine. L'utilisation d'un outil comme VMware facilite cet effacement et cette récupération d'état car l'état de la machine est encapsulé dans un ensemble de fichiers.

Emil Sit
la source
1

L'invité ne doit rien savoir des paramètres de l'hôte tels que ses réseaux, car il reçoit un matériel virtuel qui devrait se comporter (presque) exactement comme le matériel physique. Cependant, certaines choses comme le processeur doivent être connues du client, mais cette connaissance ne doit pas compromettre la sécurité.

Donc, s'il y a des fuites d'informations sur les paramètres de l'hôte à l'invité, ce serait une faille de sécurité.

Si vous activez hgfs (système de fichiers hôte-invité), cependant, au moins une partie du système de fichiers hôte sera visible dans l'invité et il est possible de dériver des informations sur l'hôte. Vous devez désactiver cela si vous êtes concerné.

Tout cela peut ne pas vraiment avoir d'importance normalement, car dans la plupart des cas, le poste de travail est utilisé personnellement, c'est-à-dire que vous avez accès à l'hôte dans tous les cas. Sinon, vous devriez étudier la virtualisation des serveurs (vsphere, xen, kvm).

johnshen64
la source
1

L'article Comment extraire des informations d'hôte depuis une machine virtuelle? décrit les utilitaires sous ESX (i) / vSphere qui peuvent être utilisés par l'invité pour obtenir des informations sur l'hôte. Cette portée est nécessairement limitée pour des raisons de sécurité.

Le premier utilitaire est la commande VMware Toolbox. Il fournit des informations sur ESX (i) et la configuration guestOS, y compris les statistiques de base sur les ressources.

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

Le second est l'utilitaire vmtoolsd (VMware Tools Daemon), où le paramètre "info-get" peut obtenir guestinfo défini dans le fichier de configuration .vmx de la machine virtuelle ou dans la mémoire VMX pendant que la machine virtuelle est en cours d'exécution.

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