# Qubes OS

Qubes OS ist ein auf IT-Sicherheit fokussiertes Computer-Betriebssystem, welches zur Absicherung auf Isolation setzt. Die dafür benötigte Virtualisierung wird durch Xen ermöglicht. Die Benutzerumgebung kann auf verschiedenen Betriebssystemen basieren, darunter Fedora, Debian, Whonix oder Windows.

## Sicherheitsziele

Qubes OS setzt zur Absicherung auf Isolation. Die Annahme ist, dass es keine perfekte fehlerfreie Desktop-Benutzerumgebung gibt. Eine solche Umgebung besteht aus Hunderten von Millionen an Code-Zeilen und mehreren Milliarden von Software- und Hardware-Interaktionen. Ein kritischer Fehler in einer dieser Interaktionen kann dazu führen, dass bösartige Software die Kontrolle über den PC übernehmen kann.
Um den Desktop abzusichern, sollte ein Qubes-Benutzer gewisse Teile der Benutzerumgebung von anderen Teilen isolieren. Für den Fall, dass einer der Teile kompromittiert wird, kann die bösartige Software nur auf Daten, die sich auch in demselben isolierten Bereich befinden, zugreifen. Dadurch kann kein weiterer Schaden angerichtet werden.
In Qubes wird die Isolation durch zwei Dimensionen bereitgestellt: Hardware-Controller können in unterschiedliche funktionale Domänen eingeteilt werden (zum Beispiel: Netzwerkdomänen, USB-Controller-Domänen), wohingegen sich das digitale Leben des Benutzers in einer anderen Vertrauensstufe befindet. Zum Beispiel: Arbeitsdomäne (höchste Vertraulichkeit), Einkaufsdomäne, Zufallsdomäne (geringste Vertraulichkeit). Jede dieser Domänen läuft in einer eigenen virtuellen Maschine (kurz VM).
Qubes ist kein Mehrbenutzersystem.

## Übersicht der Systemarchitektur
### Xen hypervisor und Administrative Domäne (Dom0)

Der Hypervisor ermöglicht eine Isolation der Daten in unterschiedliche virtuelle Maschinen. Die administrative Domäne, auch Dom0 (ein Ausdruck abgeleitet von Xen) genannt, hat standardmäßig direkten Zugriff auf die gesamte Hardware. Dom0 stellt die Domäne für die grafische Benutzeroberfläche (GUI) bereit und kontrolliert die grafischen Geräte sowie Eingabegeräte wie Maus und Tastatur. In der GUI-Domäne läuft der X-Server, welcher für die Anzeige des Desktops zuständig ist. Auch der Fenstermanager, der für das Starten und Stoppen von Applikationen zuständig ist, befindet sich in dieser Domäne.
Die Darstellung der unterschiedlichen virtuellen Maschinen in einer Benutzeroberfläche wird durch den Application Viewer ermöglicht. Dieser erzeugt für den Benutzer eine Illusion, als würden die Applikationen nativ auf dem Desktop ausgeführt werden, während sie aber isoliert in unterschiedlichen virtuellen Maschinen arbeiten. Qubes integriert all diese virtuellen Maschinen in eine gewöhnliche Desktop-Umgebung.
Weil Dom0 besonders sicherheitsrelevant ist, ist sie vom Netzwerk isoliert. Sie besitzt so wenig wie möglich Schnittstellen und Verbindungen zu anderen Domänen, um die Möglichkeit eines Angriffes, ausgehend von einer anderen infizierten virtuellen Maschine, so gering wie möglich zu halten.
Die Dom0-Domäne verwaltet die virtuellen Festplatten von den anderen virtuellen Maschinen, welche sich als Dateien auf dem Dom0-Dateisystem befinden. Der Festplattenspeicher wird von unterschiedlichen virtuellen Maschinen verwaltet, welche im schreibgeschützten Modus auf das gleiche Wurzeldateisystem zugreifen können. Ein separater Speicherplatz wird nur für die Benutzerdaten und die einzelnen VM-Einstellungen verwendet. Dadurch wird ermöglicht, dass Softwareinstallationen und Aktualisierungen zusammengefasst werden können. Software kann auch auf einer ausgewählten virtuellen Maschine installiert werden. Dies ist nur möglich, wenn die Software als non-root-Benutzer oder in der non-standard Qubes speziellen /rw Struktur installiert wird.

### Netzwerkdomäne

Der Netzwerkmechanismus ist Angriffen am meisten ausgesetzt. Deshalb ist er isoliert in einer separaten, unprivilegierten virtuellen Maschine, der Netzwerkdomäne.
Eine zusätzliche VM wird verwendet, um die Linux-Kernel-basierende Firewall abzuschotten. Der Vorteil ist, dass selbst wenn die Netzwerkdomäne wegen eines Bugs gefährdet ist, die Firewall weiterhin isoliert und geschützt bleibt (so als würde sie in einem separaten Linux-Kernel in einer anderen virtuelle Maschine laufen).

### Virtuelle Maschine für Applikationen (AppVM)

AppVMs sind die virtuellen Maschinen, die verwendet werden, um Benutzer-Anwendungen wie Webbrowser, E-Mail-Client oder einen Texteditor zu starten. Aus Sicherheitsgründen können diese Programme in unterschiedliche Domänen gruppiert werden wie zum Beispiel „Persönliches“, „Einkauf“, „Bank“ oder andere. Diese Sicherheitsdomänen werden als separate virtuelle Maschinen implementiert. Dadurch ist es, als liefen sie auf unterschiedlichen Maschinen.
Einige Dokumente oder Applikationen können über den Dateimanager in einer Art „Wegwerf“-VM gestartet werden. Hier macht man sich den Mechanismus von Sandboxing zunutze. Nachdem das Dokument oder das Programm geschlossen worden ist, wird auch die virtuelle Maschine zerstört.
Jede Sicherheitsdomäne ist mit einer Farbe versehen. Jedes Programmfenster hat die Farbe der Domäne, zu der es gehört. Dadurch ist die Zugehörigkeit eines Fensters zu einer Sicherheitsdomäne jederzeit sichtbar.
Falls der Benutzer ein Programm einer bestimmten Domäne geöffnet hat, kann dieses Programm ausschließlich mit den Daten dieser Domäne interagieren. Zum Beispiel sieht ein Textbearbeitungsprogramm, das in der Domäne „Arbeit“ läuft, beim Öffnen von Dokumenten keine Dateien aus anderen Domänen wie „Privat“, sondern nur die der eigenen Domäne.
Verschieben und Kopieren von Daten zwischen den Domänen kann nur mittels spezieller Befehle geschehen. Diese Vorgänge erfordern jedoch eine Autorisierung durch den Benutzer und können nicht automatisch erfolgen. Dasselbe gilt auch für die Zwischenablage. Daten, die in einer Domäne kopiert werden, können nicht in einer anderen Domäne eingefügt werden. Um dies trotzdem zu ermöglichen, gibt es in Qubes eine spezielle Funktion.

## Rezeption

Am 16. Februar 2015 wurde Qubes als Finalist für den Access Innovation Price 2014 für Endpoint Security Solution ausgewählt. Renommierte Sicherheitsexperten wie Edward Snowden, Daniel J. Bernstein, Micah Lee, Christopher Soghoian, Isis Agora Lovecruft, Peter Todd, Bill Budington und Kenn White verwenden und empfehlen Qubes.