Qubes OS angeschaut: Abschottung bringt mehr Sicherheit

Qubes OS soll für mehr Sicherheit sorgen. Das Linux-basierte Betriebssystem nutzt dafür die Virtualisierung, um Anwendungen in speziell voneinander isolierten Containern zu starten. Auf das Basissystem können die Anwendungen nur lesend zugreifen, und sie lassen sich durch eine Firewall auch im Netzwerk absichern. Selbst Windows 7 lässt sich in der aktuellen Version R2 von Qubes OS starten. Wir haben sie uns angesehen.











Die Einrichtung von Qubes erfolgt über Fedoras Anaconda. Benötigt wird neben der Swap-Datei, auf der alle Linux-Systeme Daten aus dem Arbeitsspeicher auslagern und im Suspend-Modus ein Abbild des RAMs speichern, eine Boot-Partition, die den Linux-Kernel und weitere Dateien für den Systemstart enthält. Die Systempartition wird von Qubes standardmäßig mit LUKS verschlüsselt. Ansonsten unterscheidet sich die Installation nicht von der unter Fedora.
Nur für einen Benutzer
Nach einem Neustart erfolgt zunächst die Eingabe des Passworts für die verschlüsselte Partition. Danach müssen die Lizenzbestimmungen akzeptiert werden. Anschließend muss noch der einzige Benutzer eingerichtet werden, der in Qubes benötigt wird. Qubes ist nicht als Mehrbenutzersystem konzipiert(öffnet im neuen Fenster) , ein einziger Anwender verwaltet das System in der Xen-Domain Dom0. Damit erhält er sämtliche Rechte. Deshalb sind weitere Benutzer ein Risiko, denn auch sie müssten die gleichen Rechte erhalten.
Dieser einzige Benutzer sichert sein Qubes-System ab, indem er einzelne Anwendungen in leichtgewichtigen virtuellen Maschinen startet, die mit mehr oder weniger Rechten ausgestattet sind. Sie werden als Domain mit eindeutigem Namen oder AppVM bezeichnet, in der auch nur eine einzige Anwendung laufen kann.
Vertrauenswürdig oder nicht vertrauenswürdig
Im Startmenü der beiden Desktops KDE-Plasma und Xfce, die automatisch mit Qubes installiert werden, finden sich keine einzelnen Anwendungen, sondern vorinstallierte Domains, etwa Work, Personal Banking, Untrusted oder Disposable. Ihnen sind Schlosssymbole zugewiesen, je nach Sicherheitsstufe in Grün, Gelb oder Rot. Letztendlich ist jede Domain ein eigenes Betriebssystem, das die benötigten Bibliotheken und Anwendungen aus dem Basissystem nutzt. Jede Domain wird auf Basis einer Vorlage oder sogenannten TemplateVM erstellt. Dabei kann das Basissystem durch Benutzeraktionen in den einzelnen Domains aber nicht verändert werden und behält so seine Datenintegrität. Aktive Domains werden im Qubes VM Manager dargestellt, der stets in einem Fenster auf dem Desktop angezeigt wird. Er dient auch der Verwaltung der Domains.
Geschützt durch Firewalls
Zugriffe auf das Netzwerk erfolgen durch eine spezielle Domain namens NetVM. Außerdem gibt es noch die FirewallVM. Weitere Domains werden durch ein virtuelles Netzwerk über die FirewallVM mit der NetVM verbunden, die dann die Daten an die Netzwerkkarte oder die WLAN-Hardware weiterleitet. In der FirewallVM lassen sich globale Regeln erstellen, in jeder anderen Domain lassen sich aber weitere Regeln anlegen. Dies ist ein Beispiel für die Modularisierung, die das Konzept von Qubes darstellt. Das soll es Angreifern schwierig machen, das System zu kompromittieren. Sogar Netzwerkverbindungen zwischen einzelnen Domains gibt es nur, wenn sie explizit an der Kommandozeile aktiviert werden. Sie seien ohnehin nur in wenigen Fällen nötig, heißt es in dem entsprechenden Wikieintrag(öffnet im neuen Fenster) .
Ein weiteres Beispiel dafür ist die Domain Disposable. Dort lässt sich der Firefox-Browser starten und gefahrlos nutzen, denn die Daten interagieren während der Nutzung nicht mit dem Basissystem. Wird die Browsersitzung beendet, wird die temporäre virtuelle Maschine einfach gelöscht - samt möglicher Schadsoftware. Umgekehrt lässt sich eine Domain auch komplett vom Netz abschirmen. Dort können beispielsweise Texte verfasst oder Daten angesehen werden, die keinesfalls im Netz auftauchen dürfen. In einer anderen Domain darf auf dem gleichen System ein Browser laufen, die in den jeweiligen Domains angelegten Daten sind strikt voneinander getrennt.
Gewöhnungsbedürftige Dateiverwaltung
Dementsprechend ist auch die Dateiverwaltung völlig anders als unter anderen Linux-Distributionen. Daten, die in einer Domain angelegt werden, sind auch nur dort verfügbar. Sollen sie in eine andere Domain verschoben und kopiert werden, muss der Anwender spezielle Einträge im Kontextmenü des Dateimanagers bemühen, der ebenfalls gesondert in jeder Domain gestartet wird. In Dom0 werden persönliche Daten überhaupt nicht gespeichert. Das dient einerseits der Sicherheit, kann aber zu einem Chaos führen, wenn Daten in verschiedenen Domains verwendet werden.
Im Qubes VM Manager muss auch unter Umständen den jeweiligen Domains mehr Festplattenspeicher zugewiesen werden. Auch die Größe des nutzbaren Arbeitsspeichers lässt sich dort verwalten. Selbst der Zugriff auf das Audio-Framework kann explizit für jede Domain ein- und ausgeschaltet werden. Auch USB-Massenspeicher müssen über den Qubes VM Manager für jede Domain eingebunden werden(öffnet im neuen Fenster) . Das Qubes-Team wirbt damit, ihre Lösung sei eine Möglichkeit, Angriffe mit BadUSB zu verhindern .
Schwierige Softwareverwaltung
Nach der Installation enthalten die vorkonfigurierten Domains lediglich Verknüpfungen zu Firefox, dem Dateimanager und dem Terminal. Sollen dort weitere Anwendungen genutzt werden können, müssen sie zunächst über den Eintrag Add more shortcuts hinzugefügt werden. Die globale Installation neuer Software konnten wir schließlich über eine TemplateVM ermöglichen, die im Startmenü erstellt werden kann. Wir mussten in unserer Qubes-Installation zunächst in der neu erstellen TemplateVM einen neuen Shortcut mit dem Eintrag Software aus der Liste erstellen, bevor wir über das Gnome Software Center die Bildbearbeitungssoftware Gimp installieren konnten. Anschließend konnten wir Gimp den einzelnen Domains zuweisen. Das Update des gesamten Systems erfolgt wiederum über den Qubes VM Manager im Kontextmenü des Eintrags Dom0. Dort wäre eine einheitlichere und übersichtlichere Softwareverwaltung sinnvoll.
Die Frage, wie viele Domains ein Anwender benötigt, lässt sich nicht so leicht beantworten. Das Qubes-Team rät, zunächst die vorinstallierten Domains zu verwenden und nach Bedarf weitere einzurichten. Im Wiki gibt es auch ein Einrichtungsbeispiel(öffnet im neuen Fenster) für "besonders paranoide" Anwender. Nicht sinnvoll ist, für jede Anwendung eine eigene Domain einzurichten, denn das erschwert die Verwaltung persönlicher Daten.
Kräftige Hardware benötigt
Die verfügbare Hardware spielt ebenfalls eine entscheidende Rolle. Der 64-Bit-Prozessor sollte über mindestens vier Kerne verfügen. Unerlässlich sind Intels VT-d oder AMD IOMMU sowie Intel VT-x oder AMD-v, die die CPUs der jeweiligen Hersteller unterstützen müssen. Letztere werden vor allem für Windows-Anwendungen benötigt, die in der aktuellen Qubes-Version genutzt werden können. Die Qubes-Entwickler haben eine Hardwarekompatibilitätsliste auf ihrer Webseite zusammengetragen(öffnet im neuen Fenster) .
Der Arbeitsspeicher muss mindestens 4 GByte haben. Zwar läuft Qubes auch auf Systemen mit 2 GByte Arbeitsspeicher, dann lassen sich aber kaum mehr als drei Domains gleichzeitig starten. Während das Dom0-System auch OpenGL unterstützt, gilt das nicht für Anwendungen, die in einzelnen Domains gestartet werden. Xens virtuelle Maschinen können nicht auf die 3D-Hardwarebeschleunigung von Grafikkarten zugreifen.
Die Entwickler empfehlen eine SSD, in unserem Test verwendeten wir auch eine SATA-Platte, die vor allem die Installation verlangsamte, ansonsten aber kaum langsamer war als eine SSD. Er gibt aber auch Szenarien, bei denen ein schneller Datenträger unerlässlich ist, etwa wenn Qubes auch Windows-Anwendungen starten soll.
In der aktuellen Version von Qubes wurde die Unterstützung für Windows 7 umgesetzt. Microsofts Betriebssystem lässt sich in einer Domain installieren und einzelne Windows-Anwendungen lassen sich sogar in eigenen Fenstern unter Qubes starten.
Fazit
Qubes macht nach mehrjähriger Entwicklungszeit bereits einen ordentlichen Eindruck. Wir konnten kaum Fehler entdecken. Das Sicherheitskonzept ist dank der umgesetzten Abschottung schlüssig. Allerdings warnen selbst die Qubes-Entwickler davor, sich ausschließlich auf das System zu verlassen. Ihr Betriebssystem soll Angriffe über mögliche Softwarefehler minimieren, verhindern ließen diese sich aber nicht.
Ein weiterer Pluspunkt ist die ausführliche Dokumentation(öffnet im neuen Fenster) , die das Qubes-Team zusammengestellt hat. Selbst für versierte Linux-Anwender ist der Einstieg in Qubes allerdings nicht einfach, denn das Betriebssystem unterscheidet sich teils grundlegend von anderen Linux-Distributionen. Für Einsteiger sind Linux-Kenntnisse unerlässlich, zumindest bei der Einrichtung und Konfiguration. Läuft das System einmal, ist es aber leicht zu bedienen.
Qubes befindet sich in aktiver Entwicklung, auf der Linuxcon Europe 2014 stellte das Team die aktuelle Version R2 vor, in der vor allem die Unterstützung für Microsofts Windows 7 umgesetzt wurde. In der kommenden Version soll Qubes einen Hypervisor Abstraction Layer erhalten. Mit dieser Zwischenschicht soll es möglich sein, neben Xen auch andere Hypervisors zu nutzen, etwa die Kernel Virtual Machine (KVM). Auch Verbesserungen an der Benutzeroberfläche sind geplant.
Die aktuelle Version R2 von Qubes OS ist über die Webseite des Projekts erhältlich(öffnet im neuen Fenster) .



