Mehr Sicherheit durch Virtualisierung
Virtuelle Computer
Höhere Sicherheit
Mehr Sicherheit durch Virtualisierung
Nach Multi-Core-Technik, Energiesparfunktionen und neuen Sicherheitsmechanismen lautet in der Prozessorentwicklung das neue Schlagwort nun Virtualisierung. Dabei simuliert ein einzelner PC mehrere virtuelle Maschinen auf jeder von diesen läuft ein eigenes Betriebssystem. Die Betriebssysteme arbeiten gleichzeitig, aber völlig unabhängig voneinander.
Das bringt höhere Sicherheit, indem kritische Anwendungen auf getrennten virtuellen Maschinen ablaufen. Zudem hat der Anwender eine größere Auswahl bei der Software: Er kann auch Anwendungen, die für unterschiedliche Betriebssysteme programmiert wurden, parallel an einem PC nutzen.
Vorreiter AMD und Intel
Mehr Sicherheit durch Virtualisierung
Im Bereich der Mainframe- und Großrechner ist die Virtualisierungs-Technik bereits weit verbreitet. So lassen sich beispielsweise mehrere Webserver auf einem einzigen Rechner betreiben, anstatt die teuere Hardware mehrmals aufsetzen zu müssen. Zukünftig dürfte sich die Virtualisierung auch im Desktop-Segment verstärkt durchsetzen.
Ein Grund dafür ist, dass die CPU-Hersteller AMD und Intel entsprechende Funktionen direkt in der Hardware ihrer kommenden Prozessormodelle integrieren werden. Intel will bereits bis zum Jahresende die ersten Prozessoren der Pentium- und Xeon-Reihe mit der Virtualisierungs-Technik ausliefern. Die bisher noch mit Codenamen Vanderpool bezeichneten Prozessor-Erweiterungen laufen inzwischen offiziell unter der Bezeichnung Intel-Virtualization-Technik. Als Kürzel dient VT in Anlehnung an die Hyperthreading-Technik, die Intel mit HT abkürzt. Die entsprechenden Spezifikationen sind seit Anfang 2005 auf der Homepage von Intel zum Download verfügbar.
AMD bezeichnet die Architektur bei seinen Prozessoren (Codename Pacifica) offiziell als Secure Virtual Machine (SVM). Die Spezifikationen wurden Ende Mai herausgegeben, erste Prozessoren stehen in der ersten Jahreshälfte 2006 auf der Roadmap. Unabhängig von den verschiedenen Bezeichnungen wird die Umsetzung der Virtualisierungs-Technik bei AMD und Intel aber in weiten Teilen gleich ausfallen und zueinander kompatibel sein.
Per Software nur begrenzt virtuell
Mehr Sicherheit durch Virtualisierung
Virtualisierte Umgebungen sind bei PCs bereits seit längerem möglich: Dazu dient Zusatzsoftware wie VM Ware Workstation und GSX Server oder Microsoft Virtual PC. Diese Programme sind für sich alleine jedoch nicht lauffähig. Auf dem Rechner muss ein Root-Betriebssystem als Unterbau installiert sein, auf dem die Virtualisierungs-Software als Anwendung läuft. Diese simuliert wiederum virtuelle Maschinen für weitere Betriebssysteme.
Die virtuellen Maschinen bilden für die weiteren Betriebssysteme und die darauf aufbauenden Anwendungen einen vollständigen PC-Unterbau. Jede Maschine findet den gleichen Satz aus Prozessor, Speicher, Festplatte, optischen Laufwerken und so fort. Betriebssystem und Anwendungen laufen ohne Einschränkungen, als ob sie auf einem herkömmlichen PC arbeiten. Damit es nicht zu Überschneidungen kommt, wenn zwei Systeme beispielsweise parallel auf den Speicher zugreifen wollen, sorgt eine übergeordnete Instanz für die Rechtevergabe: Die Virtual-Machine-Software (VM) vermittelt zwischen Betriebssystemen und Hardware.
Einbußen bei der Performance
Mehr Sicherheit durch Virtualisierung
Der Nachteil bei der Software-Virtualisierung: Alle Rechenanforderungen und Hardware-Zugriffe der zusätzlichen Betriebssysteme müssen von der VM-Software abgefangen und durch das Root-Betriebssystem durchgeschleift werden. Direkte Hardware-Zugriffe sind nur dem Root-Betriebssystem gestattet die VM-Software muss den Umweg über die Schnittstellen des Hauptbetriebssystems gehen.
Das erfordert komplexe programmtechnische Tricks. Diese wiederum machen die Software aufwändig und bringen zudem Einbußen bei Performance und Kompatibilität mit sich. Beispielsweise können Netzwerkkarten oder Grafikkarten nicht richtig genutzt werden, da gerätespezifische Funktionen nicht zur Verfügung stehen. Aktuelle VM-Software spiegelt meistens andere Hardware vor, die mit der tatsächlich installierten wenig gemein hat.
Direkt über die Hardware
Mehr Sicherheit durch Virtualisierung
Virtualisierung in Hardware löst diese Probleme. Zwar ist eine zusätzliche VM-Software weiterhin notwendig, diese ist aber deutlich einfacher zu implementieren. So wird für die Steuersoftware, die als Virtual Machine Monitor (VMM) bezeichnet wird, eine neue Zwischenschicht in der Rechte-Hierarchie eingeführt: Bei der Hardware-Virtualisierung bieten die neuen Prozessoren der VMM-Software einen neuen Ausführungsmodus an, der mehr Rechte als der Kernel-Modus bietet.
Die VMM-Software läuft im Host- oder Root-Modus und hat damit direkte Kontrolle über die gesamte Hardware. Die virtuellen Maschinen arbeiten im Guest- oder Non-Root-Modus, behalten dabei aber volle Kernel-Mode-Rechte, vergleichbar mit dem Betrieb auf einem gewöhnlichen PC.
Hardware-Virtualisierung
Mehr Sicherheit durch Virtualisierung
Bislang arbeiten Anwendungen im User-Modus (Ring 3) und das Betriebssystem im Ring-0- oder auch Kernel-Modus. Im KernelModus hat das Betriebssystem direkten Zugriff auf die Hardware. Applikationen im User-Modus können dagegen nur über das Betriebssystem auf Systemfunktionen zugreifen.
Der Kernel-Modus war bisher die zur Hardware am nächsten liegende Stufe, die VM-Software konnte damit maximal im Kernel-Modus arbeiten. Daher müssen die virtuellen Maschinen in einem weniger privilegierten Modus versetzt werden, sollen diese unter der Kontrolle der VM-Software arbeiten. Wenn eines der Betriebssysteme auf einer virtuellen Maschine eine systemnahe Aktion ausführt, beispielsweise den direkten Zugriff auf Prozessorregister, ist das in der weniger privilegierten Schicht nicht erlaubt. Das führt zu Ausnahmesituationen (Exceptions), die von der VM-Software aufgelöst werden müssen. Ein aufwändiger Vorgang, der Ressourcen kostet.
Bei der Hardware-Virtualisierung dagegen muss der Virtual Machine Monitor weit seltener eingreifen, da die Gast-Betriebssysteme die meisten der im Kernel-Modus üblichen Aktionen ausführen dürfen. Damit reduziert sich die Anzahl der Befehle, die von der Virtualisierungs-Software übersetzt werden müssen, auf bis zu ein Viertel.
Neue Befehle für effizientere Verwaltung
Mehr Sicherheit durch Virtualisierung
Zur Verwaltung der virtuellen Maschinen stehen dem Virtual Machine Monitor neue Befehle zur Verfügung, mit denen sich die Anforderungen der logischen Systeme effizient bearbeiten lassen. AMD spricht von der SVM-Befehlssatz-Erweiterung, Intel von den VMX-Befehlen (Virtual Machine Extensions). Damit ist etwa die Verwaltung des Arbeitsspeichers einfacher, damit verschiedene Betriebssysteme nicht auf gleiche Speicherbereiche zugreifen.
Nach dem Befehl VMRUN beziehungsweise VMLAUNCH werden die Anweisungen einer virtuellen Maschine ausgeführt, bis diese abgearbeitet sind, es zu einer unerlaubten Aktion oder einer Rücksprunganweisung kommt. Dann übernimmt wieder die VMM-Software, sprich das Host-System die Kontrolle über den Prozessor.
Der Speicherbereich
Mehr Sicherheit durch Virtualisierung
Die Informationen über die erlaubten Aktionen für die unterschiedlichen virtuellen Maschinen werden in einem 4 KByte großen Speicherbereich gespeichert, den AMD als Virtual Machine Control Block (VMCB) und Intel als Virtual Machine Control Structure (VMCS) bezeichnet. Hier lassen sich für jedes Gastsystem unterschiedliche Rechte festlegen. Zusätzlich speichert dieser Puffer auch den letzten aktuellen Prozessorzustand des Gastsystems.
Dazu zählen beispielsweise die Inhalte der CPU-Register. Beim Aufruf von VMRUN beziehungsweise VMLAUNCH wird dieser Zustand auf den Prozessor übertragen. Der Status des Host-Systems wird gleichzeitig ebenfalls in einen eigenen Bereich im Arbeitsspeicher gesichert. Nach dem Rücksprung vom Gast- zum Host-System wird wiederum der Prozessorzustand der virtuellen Maschine im VMCB/VMCS gespeichert und der vorherige Zustand wiederhergestellt, im dem sich der Prozessors noch unter der Kontrolle des Host-Systems befunden hatte.
Software-Unterstützung
Mehr Sicherheit durch Virtualisierung
Firmen wie Microsoft, VM Ware und Xensource wollen die passende VMM-Software für die Prozessoren bereitstellen. Dabei werden bereits existierende VM-Programme an die neuen Befehle und Hierarchiestufen angepasst. VM Ware hat den GSX Server auf dem Intel Developer Forum im Frühjahr 2005 bereits mit Hardware-Unterstützung gezeigt. Laut VM Ware werden die VMM-Produkte sowohl mit AMD- als auch mit Intel-CPUs zusammenarbeiten.
Xensource, ein Start-up der britischen Cambridge University, hat mit Xen eine Open-Source-Infrastruktur für die Virtualisierung entwickelt. Xen Hypervisior 3.0 mit Unterstützung der Befehle zur Hardware-Virtualisierung soll im dritten Quartal 2005 verfügbar sein und auch 64-Bit- und Multiprozessor-Unterstützung anbieten. Wegen fehlender Lizenzen arbeitet Xen bislang nur mit Linux und Net BSD zusammen. Beim Übergang zur Hardware-Virtualisierung könnte in der nächsten Version auch Windows XP unterstützt werden.
Ein Schritt in die Zukunft
Mehr Sicherheit durch Virtualisierung
Mit der Integration von Virtualisierungsfunktionen in zukünftige Prozessoren wird das Nebeneinander mehrerer Betriebssysteme auf einem PC selbst auf Standard-Rechnern bald keine Zukunftsmusik mehr sein. Nach Meinung von Experten wird Virtualisierungs-Technik in spätestens drei bis vier Jahren in jedem aktuellen PC zu finden sein. Ein Schritt in Richtung zum festen Standard könnte es sein, den Code der VMM-Software zukünftig bereits im Mainboard-Bios unterzubringen. Damit übernimmt die Virtualisierungs-Software direkt beim Systemstart die Kontrolle.