Warum deaktivieren Systeme die Virtualisierung im Allgemeinen standardmäßig in den BIOS-Einstellungen?

81

Ich habe noch kein System gefunden, dessen Standardkonfiguration MMU und gerichtete E / A-Virtualisierung aktiviert. Dies erfordert häufig einen Neustart und einen Zugriff auf das BIOS, um es zu aktivieren, z. B. 64-Bit-Unterstützung auf Ihren VMs.

Gibt es eine Art erheblichen Prozessor-Overhead, der auftritt, wenn dieser aktiviert ist und Sie keine Virtualisierung verwenden? Wenn nicht, warum ist es dann standardmäßig deaktiviert?

John Feminella
quelle

Antworten:

52

Vor einiger Zeit gab es einige Proof-of-Concept-Rootkits wie Blue Pill , die ein System mit eingeschaltetem VT besitzen könnten. Nach dieser Entdeckung begannen die meisten Anbieter, ihre Einheiten aus Sicherheitsgründen mit deaktiviertem VT zu versenden.

MDMarra
quelle
7
+1 Personen, die VT auf einem Desktop / Laptop verwenden, sind die Ausnahme. Diese Maschine ist anfällig für Viren.
Chris S
Ich habe plötzlich Bedenken über diese glänzende neue leistungsstarke Entwicklungsmaschine, die ich gebaut habe und die eine Reihe von VMs mit aktivierter Hardwarevirtualisierung ausführt. Ich glaube nicht , muß Virtualisierung, aber ich glaube es sparen würde mir Zeit auf lange Sicht nicht alle paar Monate ausgebessert werden muß müssen. Wie groß ist das Problem?
Paperjam
2
Praktisch nicht vorhanden (Stand dieses Kommentars). Blue Pill war ein Proof of Concept. Mir ist so etwas in freier Wildbahn nicht bekannt.
MDMarra
1
Hier ist die Bewertung des Sicherheitsproblems durch Microsoft, einschließlich der Empfehlung, VT auf Client- Rollensystemen
Jpsy
3
Das Papier von Microsoft ist nicht mehr auf der Website von Microsoft verfügbar. Sie können es jedoch im Internetarchiv lesen, wenn Sie möchten.
Josh Kelley
5

Bei allen von uns gekauften Server Blades ist die Virtualisierung standardmäßig aktiviert. Dies kann daran liegen, dass unser Anbieter eine kommerzielle Entscheidung getroffen hat, um so viele Supportanrufe einzusparen.

Es wird nicht aufgrund eines Prozessortreffers deaktiviert, sondern je nachdem, wofür es verwendet wird. Es ist möglicherweise standardmäßig deaktiviert, da das Aktivieren dieser Funktionen den Peripheriezugriff beeinträchtigen kann.

Sirch
quelle
4
Welchen peripheren Zugang kann dies beeinflussen? Das habe ich noch nie gehört.
MDMarra,
Sprechen Sie von VT-d, als Sie den Peripheriezugriff erwähnten?
Zoredache
Nein, es war MMU ... Ich erinnere mich, dass jemand kürzlich darüber nachgedacht hat. Etwas mit Rasberry Pi zu tun.
Sirch
2

Beachten Sie, dass nach diesem anderen Thread, es scheint auch einen gewissen Einfluss auf Leistungen haben https://superuser.com/questions/545101/why-does-hp-recommend-that-i-keep-hardware-virtualization-off

Es scheint mir relevant zu sein, da der reduzierte Befehlssatz effizienter ist. Ich hätte einfach nicht gedacht, dass das Ändern einer BIOS-Option dies direkt beeinflussen könnte.

Ich habe keine Ahnung, ob die Auswirkungen erheblich sind oder nicht, aber angesichts dieser und der potenziellen Sicherheitslücke ist es für mich eine gute Wahl, ein so selten verwendetes Feature standardmäßig zu deaktivieren.

Balmipour
quelle
2
Der Wirkungsgradwinkel aus der verknüpften Antwort ergibt keinen Sinn. Der Anweisungscache enthält Anweisungen eines Softwareprogramms. Wenn das Programm keine Virtualisierungsanweisungen verwendet, hat dies keine Auswirkungen auf den Cache. Darüber hinaus gibt es keinen Bericht darüber, dass es eine separate Ausführungseinheit gibt, die die Virtualisierung verwaltet, und auch keinen Teil des Befehlsdecoders, der umgangen werden kann. Daher sollte es in keiner Weise einen Effizienzunterschied geben.
Nimrod
1

Ein weiterer Grund ist, dass die meisten Benutzer-Kernelfunktionen (wie gettimeofday) in VDSO verschoben werden.

Manchmal kann dieser schnelle Pfad unter Virtualisierung nicht aktiviert werden.

Das System kann also nicht:

Erzielen Sie die schnelle Ausführung dieser Funktionen

Vermeiden Sie teuren Wechsel vom Userland zum Kernel und kehren Sie zurück

Massimo
quelle
0

Zusätzlich zu den in der Antwort von @MDMarra angesprochenen Sicherheitsbedenken sollten Sie zwei weitere Punkte berücksichtigen:

  1. Für alle aktivierten, optionalen Funktionen ist die Wahrscheinlichkeit gering, dass sie unangenehme und unerwartete Wechselwirkungen mit anderen Funktionen aufweisen und eine zusätzliche Validierung erfordern. PC - Hersteller hassen Ressourcen auf selten genutzte Funktionen zu verbringen, und clientseitige Virtualisierung ist einer von ihnen.

  2. Ich vermute sehr, dass Intel Basic Client Firmware / BIOS Blob aufgrund von # 1 VT deaktiviert hat. Jeder Anbieter, der einen VT-fähigen Client ausliefert, muss diese Option bei der Vorbereitung der Firmware anpassen.

Das heißt, wir sind jetzt im Jahr 2019; Ich sehe mehr Clients mit standardmäßig aktiviertem VT. Server sind eine ganz andere Sache: Ich fand VT nicht nur immer aktiviert, sondern VT-d ist auch oft aktiv.

Shodanshok
quelle