Warum sichere und unsichere Tätigkeiten am Rechner innerhalb von einem Speicherraum absolvieren, wenn dank Virtualisierung mehrere Betriebssystem-Instanzen getrennt und sicher betrieben werden können.

Virtualisierungslösungen gibt es mehrere (Xen, QEmu, Hyper-V, Citrix, VMware, Virtualbox, Microsoft Virtual Server, Parallels, um nur einige zu nennen, auf die Gefahr hin, dass ich geschimpft werde, Hypervisoren und Virtualisierer zu vermischen). Sie sind ungemein praktisch, indem sie ermöglichen, Betriebssystemumgebungen parallel auf einer Maschine zu betreiben. An dieser Stelle sind nur die Clientlösungen interessant, die auf dem Arbeitsplatzcomputer mehrere, komplett getrente Betriebssystemumgebungen ermöglichen.

Warum aber das Ganze Betriebssysteme sind immer ein enges Geflecht von Prozessen und Anwendungen, die es ermöglichen, Daten zu verarbeiten. Wäre dies nicht so, könnten weder Daten von Programmen gelesen, dargestellt, ausgetauscht, gespeichert oder anderweitig (zum Beispiel auf einem Drucker oder über das Internet) ausgegeben werden. Das Problem entsteht hier erst, wenn Daten und Prozesse zusammen kommen, die nichts voneinander wissen sollten. Im Extremfall kann das ein Spionageprogramm und die Bankdaten der Finanzabteilung sein.

Um dies zu verhindern, wurden Virtualisierungslösungen entwickelt, die – je nach Bedürfnis und Notwendigkeit – logisch voneinander getrennte Betriebssystemumgebungen bereitstellen, die aber gleichzeitig auf die gleiche Hardware zugreifen dürfen.

Es wirde jedem einleuchten, dass diese Methodik besonderer Sorgfalt bedarf, vor allem, wenn trotzdem zwischen den Betriebssystemen ein kontrollierter Datenaustausch (zum Beispiel durch gemeinsames Schreiben auf eine Festplatte) möglich sein soll.

Qubes schafft abgetrennte Bereiche für jede Funktion

Das Zauberwort heißt hier Virtualisierung. Dabei werden Programme und Funktionen in einzende Instanzen des Betriebssystems isoliert, sodass sie gegenseitig keinen Zugriff auf Prozessor- oder Speicherbereiche hat.

Qubes macht es nicht anders. Es benutzt hierzu Xen, das bereits die Funktionalität mitbringt, und baut darum eine ansprechende Oberfläche. Mit dieser behält man die Orientierung, welche virtuellen Umgebungen gerade welche Aufgaben erhalten.

Es gibt natürlich vonseiten der Hardware Bereiche, die gemeinsam angesprochen werden müssen. Das sind etwa die Netzwerkkarte oder der USB-Contoller. Diese werden von Qubes ebenfalls in getrennte Betriebssystemschichten isoliert und können dann nur nach festgelegten Sicherheitsregeln angesprochen werden. Ebenso verfährt Qubes mit der Zwischenablage.

Was unterscheidet QubesOS und Tails?

Wer Qubes und das Live-OS Tails vergleicht, stellt bald fest, dass neben vielen Ähnlichkeiten ein großer Unterschied besteht. Tails verwendet (vor allem aus Ressourengründen) ein herkömmliches Linux OS und härtet dieses gegen Kompromitierung ab. Damit bleibt das Problem bestehen, dass ein erfolgreicher Eindringling, der zum Beispiel einen Key-Logger oder einen Screenreader einspeisen kann, immernoch den vollen Zugriff auf alle Ereignisse auf dem Betriebssystem hat. Die Entwicker von Qubes versprechen hingegen, dass durch die konsequente Virtualisierung auf ihrem System keine Querverbindungen zwischen den einzelnen OSes hergestellt werden kann.

Fazit

Ich habe mich schon vor Jahren gefragt, warum auch professionelle Betriebssysteme wie Unix nicht schon lange Virtualisierung als Standard eingeführt haben.

Qubes ist hier die konsequenteste Lösung. Andererseits verstehe ich jetzt auch, dass der enorme Ressourcenbedarf dieser Lösung das Arbeiten oft zu einer Geduldsprobe macht und nur für wirklich kritische Arbeitsbereiche vorschreibt. Alle anderen sollten lieber bei Bedarf auf VMware oder Virtualbox zurückgreifen oder einfach mit einer großen Portion Risiko leben.

 

  • Pro: Vollständige Trennung beliebiger Anwendungsumgebungen in virtuelle Maschinen, Open Source
  • Contra: Sehr ressourcenhungrig, aufwändig zu warten, Einarbeitung nötig

 

Link: