Original-URL des Artikels: https://www.golem.de/news/sicheres-linux-subgraph-os-ausprobiert-diese-alphaversion-hat-potenzial-1603-119767.html    Veröffentlicht: 17.03.2016 12:03    Kurz-URL: https://glm.io/119767

Sicheres Linux Subgraph OS ausprobiert

Diese Alphaversion hat Potenzial

Mit Subgraph OS soll ein neues, sicheres Linux mit innovativer Sandbox entstehen. Wir haben mit den Entwicklern gesprochen und das System ausprobiert - und sind trotz Alphastatus angetan.

"Unser Ziel ist es, das am einfachsten benutzbare, sichere Betriebssystem zu schaffen, das auf möglichst viel Hardware verlässlich läuft", sagt David Mirza Ahmad vom Subgraph-Projekt im Gespräch mit Golem.de. Wir haben uns am vergangenen Wochenende während des Logan-Symposiums im Berliner Congress Center BCC - in dem früher auch der Chaos Communication Congress des CCC stattgefunden hat - mit Ahmad getroffen.

Auf dieser Veranstaltung sprachen Aktivisten aus dem Wikileaks-Umfeld mit investigativen Journalisten über neue Möglichkeiten der Zusammenarbeit. Am Abend vor unserem Gespräch hatte Ahmad auf der Konferenz den Startschuss für Subgraph gegeben, mit der öffentlichen Freigabe der ersten Iso-Version. Wir konnten das Betriebssystem schon vorab ein wenig ausprobieren. Subgraph ist ein mit Sicherheitspatches versehenes Debian mit einigen Besonderheiten. Bis es produktiv eingesetzt werden kann, wird noch einige Zeit vergehen. Im Sommer soll die erste Betaversion erscheinen, im kommenden Jahr dann die Version 1.0.

"Wir wollen, dass der Nutzer keine Sicherheitsentscheidungen treffen muss", sagt Ahmad. Denn einerseits könne der Nutzer falsche Entscheidungen treffen, andererseits könnten zu viele Optionen frustrieren und von der Nutzung des Betriebssystems abhalten. "Das Tolle an einem eigenen Projekt ist, dass wir machen können, was wir wollen", sagt er. Ahmad und seine drei Mitstreiter kommen aus dem kanadischen Montreal und arbeiten dort seit mehreren Jahren gemeinsam in der Sicherheitsfirma Subgraph. Die Idee zur Entwicklung eines eigenen sicheren Betriebssystems gleichen Namens lag schon mehrere Jahre in der Schublade - jetzt läuft die Entwicklung dank Fördergeldern deutlich schneller.

Subgraph basiert auf Debian in der aktuellen, derzeit noch instabilen Version, die als Debian 9 "Stretch" erscheinen soll. Um die Sicherheit zu verbessern, haben Ahmad und sein Team zunächst die grsecurity-Patches für den Kernel angewendet. Teil von grsecurity ist Pax. Die Funktion wendet die Adress Space Layout Randomization und andere Techniken an, um Stack-Overflow-Angriffe deutlich zu erschweren. Außerdem wurde der Linux-Kernel für das Projekt abgespeckt: "Der Linux-Kernel schleppt Unterstützung für zahlreiche Protokolle und Dienste mit sich herum, die kaum jemand nutzt", sagt Ahmad. Als Beispiel nennt er eine Schnittstelle für Legos Roboterbaukasten Mindstorms. Diese hat das Projekt deaktiviert, um unnötige Angriffsflächen zu vermeiden. Außerdem ist ein Tool zum Spoofing der Mac-Adresse integriert.

Sandboxing per Namespace-Restriktion

Der eigentliche Clou von Subgraph aber ist ein selbst entwickeltes Sandboxing-Konzept, das auf dem ebenfalls selbst entwickelten Wrapper Oz basiert. "Ein normales Linux-Programm hat rund 300 Schnittstellen, die System Calls, um mit dem Kernel zu kommunizieren", sagt Ahmad. Darunter seien aber zahlreiche Berechtigungen aktiviert, die zur Ausführung bestimmter Programme nicht notwendig seien - und so eine unnötige Angriffsfläche böten. Der PDF-Viewer brauche zum Beispiel in der Regel keinen Zugriff auf die Audioschnittstellen, selbst wenn der PDF-Standard entsprechende Funktionen unterstütze.

Öffnet der Nutzer ein einzelnes PDF, sei es außerdem nicht notwendig, dass der PDF-Viewer Schreibrechte für das gesamte Home-Verzeichnis bekomme, sagt Ahmad. Diese Berechtigungen beschränkt Subgraph auf ein jeweils sinnvolles Maß. In der derzeit vorliegenden Alphaversion sind entsprechende Konfigurationen für eine Reihe von Applikationen implementiert: der Tor-Browser, das Chat-Programm Coy, Libreoffice, VLC, der Dateimanager Nautilus und der Mailclient Icedove. Eine detaillierte Analyse der Konzepte hinter Oz werden wir zu einem späteren Zeitpunkt vornehmen.

Abhilfe gegen Ransomware

Nach Aussage der Entwickler könnte das Sandboxing-Konzept Angriffe mit Ransomware verhindern, wenn mit Malware infizierte Dokumente mit einem Programm in der Sandbox geöffnet werden. Ransomware gibt es nicht mehr nur für Windows, wie aktuelle Beispiele zeigen. Die jüngst gefundene Mac-OS-Ransomware Keeranger etwa basiert auf dem Linux-Trojaner Linux.Encoder.1.

Denn öffne ein Nutzer in Subgraph eine Datei, erhalte das zuständige Programm keine Schreibrechte für das gesamte Home-Verzeichnis und könne die persönlichen Daten des Nutzers daher auch nicht verschlüsseln, sagt Ahmad. Die Sandbox isoliert auch die Eingaben einzelner Programme voneinander. Das Team demonstriert das anhand von Xeyes. Wird das Programm ohne Sandbox gestartet, wandern die Augen jederzeit mit dem Mauszeiger mit. Im Sandbox-Modus hingegen bewegen sich die Pupillen nur, wenn die Maus innerhalb des Programmfensters bewegt wird.

Entwickler sollen Whitelists definieren können

In Zukunft soll es für Entwickler und Nutzer möglich sein, Whitelists für bestimmte Programme zu definieren. Dann könnten auch Applikationen in der Sandbox geladen werden, die derzeit vom Subgraph-Team nicht unterstützt werden. Subgraph hat aber auch eine Blacklist von System Calls, die überhaupt nicht verwendet werden. Schon heute lassen sich die vordefinierten zugelassenen System Calls vom Nutzer bearbeiten - die Einstellungen lassen sich in einer einfachen Textdatei vornehmen. Eine vollständige Auflistung aller möglichen Systemaufrufe findet sich hier.

Test läuft erstaunlich rund

Subgraph funktioniert im Test bereits erstaunlich gut, doch es gibt noch einiges zu tun. Wer derzeit eine Datei aus einer Sandbox dauerhaft speichern will, muss das über einen speziellen Export-Ordner machen. "Zurzeit ist es noch viel zu leicht, eine Datei zu verlieren", sagt Ahmad. Das derzeit verwendete System sei noch nicht selbsterklärend für die Nutzer.

Das können wir im Test nachvollziehen. Wer eine Datei aus einer Sandbox heraus exportieren will, muss zunächst über das Oz-Menü am rechten oberen Bildschirmrand die jeweilige Sandbox auswählen und kann dann einzelne Ordner hinzufügen. Von dort können dann Dateien geöffnet oder auch gespeichert werden. Ein Menü zeigt jeweils an, welche Dateien und Ordner eine Sandbox gerade geöffnet hat.

Die Sandbox eines Programms bleibt nur so lange geöffnet wie das jeweilige Programm selbst. Änderungen in Libreoffice, die zu dem Zeitpunkt weder gespeichert noch exportiert wurden, sind dann verschwunden. Auch die automatische Sicherung dürfte hier keinen Schutz bieten. Stürzt die Sandbox ab, sind die Daten also weg.

Wie sicher die selbst entwickelte Lösung Oz in der Praxis wirklich sein wird, werden ausführlichere Tests zeigen. Doch die Einschränkung bestimmter Operationen im Kernel-Namespace sind ein interessantes und vielversprechendes Konzept.

Subgraph verbindet sich über Tor - noch

Zurzeit werden alle Verbindungen ins Internet mittels Metaproxy über das Tor-Netzwerk hergestellt. "Viele Nutzer fordern das, aber wir sind eigentlich nicht ganz glücklich damit", sagt Ahmad. Subgraph sei nicht primär ein Anonymitätstool, sondern soll vor allem die Sicherheit erhöhen. In Zukunft soll die Verbindung über Tor daher optional geregelt werden - einzelne Anwendungen können dann entweder eine normale Netzverbindung bekommen oder aber über Tor geroutet werden.

Den gesamten Traffic des Betriebssystems über Tor abzuwickeln, ist nicht immer sinnvoll. Bei einem Projekt wie Tails ist das kein Problem - denn dabei geht es um ein System, das in aller Regel zur Erledigung bestimmter Aufgaben von einem USB-Stick oder einer DVD gestartet wird. Für ein installiertes Betriebssystem im Dauerbetrieb erscheint der Einsatz von Tor als Standardverbindung aber aus mehreren Gründen zweifelhaft.

Erstens können auch Tor-Nutzer durch ihr Surfverhalten oder andere Umstände identifiziert werden. Wer sich über Tor in seinen Facebook-Account einloggt, bleibt nicht länger anonym. Je mehr Traffic also über Tor abgewickelt wird, desto größer ist die Chance zur Identifizierung einzelner Nutzer. Zweitens ist die Verbindung deutlich langsamer als gewohnt. Nutzer werden zudem mit zahlreichen Cloudflare-Captchas konfrontiert, um ihr Menschsein zu bestätigen. Das ist keine Schuld des Tor-Projekts, dürfte aber im Alltag nerven. Drittens sind Tor-Nutzer von der Integrität der Exit-Nodes abhängig. Auch wenn der Download ausführbarer Binaries unter Linux nicht zum Alltag gehören dürfte, lauern hier Sicherheitsgefahren.

Der Taschenrechner telefoniert mit dem IWF

Subgraph hat auch eine integrierte Firewall, die bei allen Programmen zunächst um Erlaubnis fragt. Das kann durchaus für Überraschungen sorgen. Als wir auf Empfehlung von Ahmad den Taschenrechner öffnen, will dieser sich mit den Servern des Internationalen Währungsfonds (IWF) und der Europäischen Zentralbank (EZB) verbinden. Wozu? Der Taschenrechner hat eine integrierte Funktion zur Währungsumrechnung. IWF und EZB bieten dafür die notwendige Datengrundlage. Bei dem Taschenrechner handelt es sich um das in Gnome3 standardmäßig verwendete Programm.

Mit der Firewall lassen sich die Regeln übersichtlich über die GUI verwalten. Alle vergebenen Berechtigungen können mit einem einfachen Klick entfernt oder vom Nutzer anderweitig bearbeitet werden.

Subgraph und Qubes vereint?

Auf den ersten Blick könnten Qubes und Subgraph als Konkurrenten betrachtet werden - die beide mit Sandboxing die Sicherheit erhöhen sollen. Doch tatsächlich unterscheiden sich die Verfahren enorm. Qubes setzt auf eine vollständige Virtualisierung der einzelnen Einheiten des Betriebssystems, während Subgraph die einzelnen Programme gegeneinander abgrenzt. Qubes benötigt aus diesem Grund auch deutlich leistungsfähigere und speziellere Hardware als Subgraph.

Im Qubes-Universum ist die Sicherheit des einzelnen Qubes nicht das primäre Sicherheitskonzept, wie die Entwicklerin Joana Rutkowska sagt. Weil in dem einzelnen Qube nur sehr begrenzte Anwendungen stattfinden, sei die Gefahr eines erfolgreichen Exploits begrenzt. Wird aber zum Beispiel der Qube für den E-Mail-Verkehr kompromittiert, können Angreifer trotzdem zahlreiche vertrauliche Informationen auf einmal abgreifen.

Rutkowska und das Subgraph-Team würden daher in Zukunft gerne zusammenarbeiten. Ein Subgraph-Qube werde auch von zahlreichen Nutzern gefordert, sagt das Team. "Fast jeden Tag haben wir in unserem Chat eine Anfrage, ob wir Subgraph mit Qubes kompatibel machen können", sagt Entwickler Xmurph im Gespräch mit Golem.de.

Derzeit ginge das aber noch nicht. Denn die grsecurity-Kernel-Patches sind derzeit nicht mit dem von Qubes verwendeten Xen-Hypervisor kompatibel. Doch grsecurity ist elementarer Bestandteil des Subgraph-Sicherheitskonzeptes, auf den das Team nicht verzichten will. "Sollte sich das ändern oder sollten wir eine Möglichkeit zur Umsetzung entdecken, werden wir Qubes aber möglichst schnell unterstützen", sagt Xmurph.

Derzeit unterstützt Qubes zur anonymen Nutzung des Internets Whonix, alternativ könnten Debian oder Fedora in den virtuellen Maschinen installiert werden.

Installation läuft problemlos

Die Installation von Subgraph läuft in unserem Test ohne große Probleme. Zum Ausprobieren haben wir das System in einer virtuellen Maschine installiert. Laut Projektwebseite arbeitet Subgraph deutlich besser mit Virtualbox als mit dem Konkurrenten VMware zusammen. Wir sind dieser Empfehlung gefolgt. Dem Betriebssystem sollten mindestens 2, besser 4 GByte Arbeitsspeicher zugewiesen werden, damit es problemlos läuft. Außerdem wird ein 64-Bit-Prozessor benötigt. UEFI wird von Subgraph derzeit noch nicht unterstützt - bei entsprechenden Systemen müsste also der Legacy-Boot-Modus aktiviert werden, wenn das System vom USB-Stick ausprobiert werden soll. Die Iso-Datei ist rund 1,5 GByte groß. Die komplette VM-Partition belegt auf der Festplatte 8 GByte an Speicher, auf "/" entfallen dabei rund 4,9 GByte. Platzsparend ist Subgraph damit nicht unbedingt.

Derzeit verfügt Subgraph noch nicht über eine Zeitsynchronisation. Weicht die Systemzeit um mehr als drei Stunden von der Greenwich-Zeit ab, funktioniert der bootstrap-Mechanismus von Tor noch nicht korrekt. Für die meisten europäischen Nutzer dürfte das kein Problem sein; wer Subgraph außerhalb dieser Zeitzonen ausprobieren möchte, muss nach dem ersten Start als Root mit dem Befehl "date --set="$ZEIT"" einmalig nachhelfen. Wer beim Ausprobieren auf Probleme stößt, sollte diese Hinweise lesen.

Nutzer müssen die Netzwerkfunktionen des Betriebssystems selbst aktivieren. Selbst die verkabelte Netzwerkverbindung ist standardmäßig deaktiviert. Auf den ersten Blick verwirrend, aber durchaus durchdacht ist, dass während der Installation kein Benutzername abgefragt wird. "Viele Nutzer wählen hier kein Pseudonym, der Nutzername könnte also Informationen preisgeben", sagt Ahmad. Deswegen lautet der Standardbenutzername einfach "User". Wer will, kann das aber nachträglich ohne Probleme ändern.

Verschlüsselung ist nicht optional

Während der Installation muss zwingend ein Passwort zur Verschlüsselung der verwendeten Partitionen gewählt werden. Subgraph setzt dabei auf die Linux-Standardverschlüsselung LUKS. Auch für die Mailverschlüsselung ist alles vorbereitet: Die für GPG notwendigen Pakete sind in der Standardkonfiguration vorinstalliert.

Subgraph nutzt die Gnome-Shell in der Version 3 als Window-Manager - viele Nutzer dürften sich also ohne lange Umgewöhnung zu Hause fühlen. Bislang ist es nicht möglich, während der Installation einen anderen Window-Manager auszuwählen.

Als primärer Browser kommt der Tor-Browser zum Einsatz. Hier bedienen sich die Entwickler derzeit noch eines kleinen Hacks. Weil es bislang kein Debian-Paket des Tor-Browsers gibt, wird der Tor-Browser-Launcher genutzt, um die notwendigen Binaries zu laden. Hier gibt es im Test noch einen schwerwiegenden Bug: Der Launcher lädt zwar die notwendigen Binaries und entpackt diese in unserer virtuellen Maschine, doch der Tor-Browser startet nicht.

Es gibt noch einiges zu tun

Das Projektteam hat noch viel Arbeit vor sich. Im Sommer soll die erste Betaversion veröffentlicht werden, im kommenden Jahr dann Version 1.0. Die Entwicklung von Subgraph wird derzeit mit Mitteln des Open Technology Fund mit 200.000 US-Dollar unterstützt. Der Open Technology Fund verteilt Gelder des US-Außenministeriums an zahlreiche Open-Source-Projekte - darunter auch andere Betriebssystem-Projekte wie Tails und Qubes.

Für die Zukunft planen Ahmad und seine Mitstreiter die Unterstützung von Reproducible Builds, um sicherzustellen, dass der Code auch in korrekte Binaries ohne Hintertüren übersetzt wird. Außerdem soll eine grafische Oberfläche entwickelt werden, die das Whistelisting von System Calls für nicht von Subgraph nativ unterstützte Programme ermöglicht.

'Programme, die uns nicht gefallen, fliegen raus'

Auch an der Paketverwaltung wird noch geschraubt. Derzeit werden für die Aktualisierung der integrierten Pakete hauptsächlich die Server von Debian genutzt. In Zukunft will das Subgraph-Team eigene Server betreiben. Doch das Team will nicht alle von Debian angebotenen Programme dahin übernehmen. "Wir sehen uns als Kuratoren. Programme, die uns nicht gefallen, fliegen raus", sagt Ahmad. Man habe sich zum Beispiel entschieden, Pidgin als Messenger zu entfernen und stattdessen Coy zu nutzen.

Eine weitere in Entwicklung befindliche Änderung betrifft den Debian-Installer. Subgraph soll künftig in der Lage sein, einzelne Partitionen auf einem externen Datenträger wie einem USB-Stick oder einer SD-Karte zu installieren. Der Nutzer könnte dann zum Booten notwendige Dateien darauf mitführen - nur mit dem entsprechenden Gerät ließe sich das Betriebssystem dann starten.

Auf der Subgraph-Webseite wird bereits ein Mailclient angekündigt, den es aber noch gar nicht gibt. Das Team ist mit existierenden Mailclients unzufrieden und will daher eine eigene Lösung entwickeln. Dabei sollen auch Optionen erforscht werden, einzelne Bereiche des Mailclients gegeneinander zu isolieren, um die Sicherheit weiter zu erhöhen. Wie das genau funktionieren soll, ist aber noch nicht klar.

Fazit: Ausprobieren lohnt

Subgraph OS befindet sich noch ganz am Anfang. Mit der aktuellen Iso hat das Projekt erst den Alphastatus erreicht. Trotzdem macht das System beim ersten Ausprobieren bereits viel Freude - auch wenn man dem Programm den Alphastatus an verschiedenen Stellen deutlich anmerkt. Die Zahl der verfügbaren, als sicher konfigurierten Programme ist noch relativ gering und der Dateiaustausch zwischen den Programmen ist noch recht kompliziert und fehleranfällig - das sollte aber in den kommenden Monaten gefixt werden. Wer weitere Programme benötigt, kann diese über die Debian-Repositories installieren.

Nicht sinnvoll erscheint uns das Tor-Zwangsrouting für alle Betriebssystem-Operationen. Hier freuen wir uns auf eine konfigurierbare Version. Insgesamt wirkt das System aber vielversprechend und die vom Projekt getroffenen Designentscheidungen erscheinen uns sinnvoll. Mehr Konkurrenz auf dem Markt für sichere Betriebssysteme ist für die Nutzer aus unserer Sicht zu begrüßen. Wir werden die Arbeiten an Subgraph daher gespannt verfolgen - und können ein Ausprobieren der Iso in der VM oder über den Livemodus auf einem USB-Stick empfehlen.  (hg)


Verwandte Artikel:
Librem 5: Purism-Smartphone bekommt Smartcard für Verschlüsselung   
(09.03.2018, https://glm.io/133248 )
Fluggastdaten: Regierung dementiert Hackerangriff auf deutsches PNR-System   
(10.03.2018, https://glm.io/133261 )
Sicherheit: Tails 2.11 und 3.0 Beta2 freigegeben   
(10.03.2017, https://glm.io/126648 )
Grsecurity: Open Source Security verklagt Bruce Perens wegen Verleumdung   
(04.08.2017, https://glm.io/129306 )
Pax: Google will Patentstreit im Android-Ökosystem verhindern   
(04.04.2017, https://glm.io/127114 )

© 1997–2020 Golem.de, https://www.golem.de/