Qubes 1.0: Sicheres Desktopbetriebssystem

Die Qubes-Entwicklerin und Rootkit-Expertin Joanna Rutkowska nennt Qubes ein "halbwegs sicheres" System. Wenn es um Sicherheit im Sinne von Verteidigung gehe, seien absolute Aussagen wie "sicher" oder "unbreakable" schwierig, es sei denn, jemand könne nachweisen, dass seine Implementierung zu 100 Prozent sicher sei.
Dennoch soll Qubes aufgrund seiner Architektur einen Grad an Sicherheit bieten, der allen anderen Desktopbetriebssystemen überlegen ist. Denn bisher gebe es keine Desktopbetriebssysteme, deren Sicherheit formal nachgewiesen sei, so Rutkowska. Bestenfalls seien einige Teile formal überprüft, beispielsweise einige Micro-Kernel, aber keinesfalls ein gesamtes Betriebssystem.










Rutkowska fragte: "Und was bringt die Aussage, dass ein Micro-Kernel formal überprüft wurde, wenn dann ein aufgeblähter und mit Bugs versehener X-Server als GUI-Subsystem zum Einsatz kommt?" Schließlich verarbeitete das GUI-Subsystem alle Nutzereingaben und -ausgaben. Ähnlich lasse sich für das Power-Management oder die Dateisystemserver argumentieren, meint die Sicherheitsexpertin.
Qubes OS folgt einem pragmatischen Ansatz
Rutkowskas Firma Invisible Things Lab habe sich daher bei Qubes OS darauf konzentriert, die kritischen Teile des Systems "halbwegs sicher" zu machen. Dazu wurde zunächst einmal die Zahl dieser für die Sicherheit entscheidenden Bestandteile reduziert.
Ein sicheres System - im Sinne von ungefährlich - sei Qubes zumindest derzeit noch nicht, dazu sei das System noch nicht einfach genug zu nutzen, setze zu viel Wissen voraus. Anders als iOS, das Rutkowska in diesem Sinne als sicher bezeichnet, da das System jede Applikation in eine eigene Sandbox sperre und nicht erwarte, dass Nutzer irgendwelche für die Sicherheit des Systems relevanten Entscheidungen treffen. Allerdings seien die einzelnen Sandboxen nicht ausreichend voneinander abgeschottet, da die verfügbaren APIs zu viel zulassen.
Bei Qubes ist der Nutzer hingegen für alle Entscheidungen in Sachen Sicherheit selbst verantwortlich. Er muss entscheiden, wie er sein digitales Leben in Sicherheitsbereiche aufteilen will und welcher Bereich Zugriff aufs Netzwerk oder bestimmte Dokumente erhält. Das bietet eine große Flexibilität, setzt aber viel Wissen und Erfahrung voraus. Wer Qubes einsetzt, ist also nicht per se sicherer, hat aber die Chance, ein recht sicheres System zu konfigurieren.
Qubes basiert auf Xen
Letztendlich ist Qubes eine Art Xen-Distribution, bei der Programme sicher in einzelnen, strikt voneinander getrennten virtuellen Maschinen laufen. Durch die strikte Trennung soll aus den virtuellen Maschinen kein Schadcode auf das System gelangen. Mittels Sicherheitsstufen können die Zugriffe der virtuellen Maschinen untereinander reguliert werden.
Die GUI-Infrastruktur führt nur rund 2.500 Zeilen C-Code in der dom0 aus, was wenig Raum für Bugs lassen soll. Da dabei Xens Shared-Memory zum Einsatz kommt, soll die GUI-Implementierung aber recht effizient sein, so dass die Applikationen nicht spürbar langsamer laufen als normal installierte. Allerdings wird OpenGL in den AppVMs nicht unterstützt.
Das Qubes-GUI zeigt sämtliche in VMs laufende Apps so, als würden sie ganz normal ausgeführt.
Jede AppVM wird aus einer TemplateVM erzeugt, mit der sich alle AppVMs das Root-Dateisystem teilen, das nur zum Lesen eingehängt wird. Das spart Plattenplatz, da jede AppVM nur ihre privaten Daten speichern muss. Dadurch ist es zudem möglich, alle AppVM, die auf einer TemplateVM basieren, auf einen Schlag zu aktualisieren. Allerdings müssen dazu alle betroffenen AppVMs gestoppt werden.
Der Netzwerkcode des Systems läuft in einer unprivilegierten virtuellen Maschine (VM), so dass in der privilegierten Domain (dom0) kein Netzwerkcode existiert und folglich nicht angegriffen werden kann. Gleiches soll künftig für Storage-Treiber und -Backends gelten. Der Bootvorgang soll in Zukunft über Intels Trusted Execution Technology (TXT) abgesichert werden.
Eine Sicherheitslücke in einem Browser, der in einer Qubes-VM läuft, kann genauso ausgenutzt werden wie auf jedem normalen Linux-System. Qubes macht es aber einfach, dafür zu sorgen, dass die Auswirkungen einer solchen Sicherheitslücke verringert werden. So kann für das Onlinebanking beispielsweise ein Browser in einer anderen VM genutzt werden, der dann von einem Angriff auf den zum normalen Surfen genutzten Browser verschont bliebe.
Rutkowska warnt aber davor, Qubes als bugfrei zu betrachten. In den drei Jahren seiner Entwicklung seien bereits drei ernsthafte Sicherheitslücken gefunden worden, eine im Code von Invisible Things Lab, zwei in Intel-Hardware.
Qubes 1.0 steht im Quelltext über Git(öffnet im neuen Fenster) zum Download bereit. Zudem kann das System als installierbares 64-Bit-ISO-Image heruntergeladen(öffnet im neuen Fenster) werden. Das System lässt sich damit auch auf einem USB-Stick installieren und von diesem booten, um es auszuprobieren. Von einer Installation in einer virtuellen Maschine raten die Entwickler ab.



