Welche Informationen zu einem VMware-Host stehen dem Gast zur Verfügung?

9

In vmware Workstation, welche Informationen über die Host-Software und -Hardware dem Gastbetriebssystem zur Verfügung gestellt werden.

Für die Zwecke meiner Anwendung mache ich mir Sorgen, dass ein Prozess auf dem Gastbetriebssystem Informationen über die physische Hardware erhält, auf der der Host ausgeführt wird. Dies kann Details wie Seriennummern, MAC-Adressen oder alles enthalten, was den physischen Computer identifizieren könnte, der ausgeführt wird.

Sowohl der Host als auch der Gast werden Ubuntu Linux ausführen.

Bearbeiten: vmware-toolswird auf dem Gast installiert

Bearbeiten 2: Kopfgeld hinzufügen

Ich habe viel über diese Frage recherchiert und die meisten Antworten enthalten Wörter wie "sollte nicht". Ich muss mit einiger Sicherheit wissen, dass ein VMware-Gast keines der folgenden Elemente sehen kann (Wenn diese Dinge dem Gast zur Verfügung stehen würden, würde dies als massive Sicherheitsverletzung angesehen).

  • beliebige Hardware-Seriennummern
  • Mac-Adressen von Host-Netzwerkschnittstellen
  • Registrierungsseriennummer der VMware-Software
  • Alle Dateien auf dem Host-Betriebssystem

Die Motivation für diese Frage ist, dass ich eine sehr nicht vertrauenswürdige Software ausführen muss und sie von allen Informationen entfernen möchte, die meine Identität offenbaren könnten. Ich gehe beispielsweise davon aus, dass diese Software versucht, die Seriennummer meines Prozessors zu lesen und sie dem Ersteller zu melden, und ich gehe davon aus, dass dies zu einer Rückverfolgung meiner realen Identität führen kann. Nennen Sie das paranoid, wenn Sie möchten. Ein Teil meiner Situation erfordert die Installation von VMware-Tools.

user13137
quelle

Antworten:

5

Informationen über einen Host können auf verschiedene Weise an einen Gast weitergegeben werden. VMware (und Virtualisierungsprodukte im Allgemeinen) bieten Schutz vor vielen Dingen. Es ist zwar unwahrscheinlich, dass eine vollständige Isolationsumgebung bereitgestellt werden kann, aber es leistet wahrscheinlich ziemlich gute Arbeit. Zum Beispiel verwenden VMware einige Virenforscher eine sichere Umgebung zu schaffen , um das Verhalten von Malware zu untersuchen .

Hostinformationen können an den Gast weitergegeben werden:

  • Wenn der Gast direkt Anweisungen ausführt, die die Virtualisierungsschicht nicht abfängt.
  • wenn der Gast den Netzwerkverkehr direkt im selben Netzwerksegment wie der Host beobachten kann.
  • wenn der Gast mit der Außenwelt kommunizieren und zum Host zurückkehren kann.

Ihr Hauptanliegen scheint die erste Methode der Leckage zu sein, obwohl Sie sicher sein sollten, auch vor den anderen Mechanismen zu schützen.

VMware (und andere Hypervisoren) bieten Virtualisierung, indem sie als vertraulich geltende Anweisungen abfangen. Sensible Anweisungen geben dem Gast entweder Informationen über den Host preis oder ermöglichen es dem Gast, sich der Eindämmung der Virtualisierungsschicht zu entziehen. Beispielsweise muss der Befehl, der die Seitentabellenbasis ändert (die den Speicherzugriff steuert), von der Virtualisierungsschicht erkannt, abgefangen und durch eine "sichere" Version dieses Befehls ersetzt werden, die die Illusion der Virtualisierung bewahrt.

Um die Illusion eines vom Host getrennten Computers zu erzeugen, werden auch Anweisungen virtualisiert, die identifizierende Informationen über den Host (wie Seriennummern, MAC-Adressen usw.) enthalten. In VMware können diese Dinge in der vmxDatei festgelegt werden. Dieses Zeug ist gut verstanden und vermutlich sicher.

Manchmal gibt es Kompromisse in Bezug auf das, was verfügbar gemacht wird, wie z. B. die CPUID-Anweisung, gegen die neuere Versionen von VMware einen gewissen "Schutz" bieten. (Weitere Informationen zur CPUID-Virtualisierung finden Sie unter VMotion- und CPU-Kompatibilität .) Wenn diese Anweisung als privilegierte Anweisung ausgeführt wird, kann sie abgefangen und emuliert werden. Sie kann jedoch auch als native Anweisung ausgeführt werden, die dem Gast einige (vermutlich uninteressante) Informationen zur Verfügung stellt .

Der Gast kann jedoch auch passiv andere Informationen über den Gastgeber erfahren. Durch Prüfen der Speicherzeiten kann der Gast beispielsweise Informationen in der Größe verschiedener Caches abrufen. Die Fähigkeit, über Timing und andere Vektoren ("Seitenkanäle") etwas über andere Gäste (oder den Gastgeber) zu lernen, ist ein Bereich aktiver Forschung. Im Oktober 2012 entdeckten Forscher, dass es tatsächlich möglich ist, kryptografische Schlüssel von anderen VMs zu extrahieren . Dies mag ziemlich beängstigend sein und die Grenzen dessen, was entdeckt werden kann und wie man sich dagegen schützen kann, sind noch nicht vollständig klar.

Der beste Weg, um vollständig sicher zu sein, besteht darin, Ihre Maschine über einen Luftspalt vom Rest der Welt zu isolieren. Dann spielt es keine Rolle, was die schädliche Software lernt, da sie diese Informationen an niemanden weitergeben kann. Wenn Sie fertig sind, wischen Sie die Maschine ab. Die Verwendung eines Tools wie VMware erleichtert das Löschen und die Wiederherstellung des Status, da der Computerstatus in einer Reihe von Dateien enthalten ist.

Emil Setz dich
quelle
1

Der Gast sollte nichts über die Hosteinstellungen wie seine Netzwerke wissen, da ihm eine virtuelle Hardware übergeben wird, die sich (fast) genau wie die physische Hardware verhalten sollte. Einige Dinge wie CPU muss der Gast wissen, aber dieses Wissen sollte keine Sicherheit gefährden.

Wenn also Einstellungsinformationen von Host zu Gast verloren gehen, ist dies eine Sicherheitslücke.

Wenn Sie jedoch hgfs (Host-Gast-Dateisystem) aktivieren, ist mindestens ein Teil des Host-Dateisystems im Gast sichtbar, und es ist möglich, einige Informationen über den Host abzuleiten. Sie sollten dies deaktivieren, wenn Sie besorgt sind.

All dies ist normalerweise nicht wirklich wichtig, da die Workstation in den meisten Fällen persönlich verwendet wird, dh Sie haben auf jeden Fall Zugriff auf den Host. Andernfalls sollten Sie sich mit der Servervirtualisierung (vsphere, xen, kvm) befassen.

johnshen64
quelle
1

Der Artikel Wie extrahiere ich Hostinformationen aus einer VM? beschreibt Dienstprogramme unter ESX (i) / vSphere, mit denen der Gast einige Hostinformationen abrufen kann. Dies ist aus Sicherheitsgründen notwendigerweise in seinem Umfang begrenzt.

Das erste Dienstprogramm ist der Befehl VMware Toolbox. Es enthält einige Informationen zur ESX (i) - und guestOS-Konfiguration, einschließlich grundlegender Ressourcenstatistiken.

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

Das zweite ist das Dienstprogramm vmtoolsd (VMware Tools Daemon), mit dem der Parameter "info-get" die Gastinformationen in der VMX-Konfigurationsdatei der virtuellen Maschine oder im VMX-Speicher festlegen kann, während die virtuelle Maschine ausgeführt wird.

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