Page 1 of 1

Android ohne Google

Posted: 11 Dec 2019, 16:35
by hepek
Ein gehärtetes Android ohne Google, bitte

Quelle

Äußerlich unterscheidet es nicht viel von einem sauberen Android 10 - nur die Google-Apps fehlen. Doch im Inneren von GrapheneOS stecken einige Sicherheitsfunktionen. Wir haben den Nachfolger von Copperhead OS ausprobiert.

Privatsphäre und Sicherheit sind nicht gerade die Schlagworte, die gemeinhin mit Android in Verbindung gebracht werden. Das auf Android basierende GrapheneOS soll jedoch genau diese Verbindung herstellen, indem es Sicherheitsfunktionen implementiert und auf Google-Apps verzichtet. Der Hauptentwickler Daniel Micay will mit GrapheneOS die Entwicklung von Copperhead OS sowie des Projekts Android Hardening weiterführen. Dafür gibt es Anerkennung auf Twitter von Edward Snowden: "Wenn ich heute ein Smartphone konfigurieren würde, würde ich GrapheneOS von Daniel Micay als Basis-Betriebssystem verwenden."

Micay ist kein Unbekannter, er war Mitgründer von Copperhead, der Firma hinter dem gleichnamigen gehärteten Android-System, sowie deren Hauptentwickler. Mitte 2018 überwarfen sich die beiden Gründer. Im April 2019 kündigte Micay dann GrapheneOS als wahren Nachfolger von Copperhead OS an, das dieses funktional beerben solle.

Allerdings hat Copperhead OS den eigenen Code unter einer Creative Commons Lizenz veröffentlicht, die eine kommerzielle Verwendung ausschließt (CC BY-NC-SA 4.0). Um den so lizenzierten Code streiten sich die beiden Copperhead-Gründer, was eine Weiterentwicklung verkompliziert. Micay erklärte, daher seien auch noch nicht alle Funktionen des Vorgängers in GrapheneOS implementiert, das wieder ein richtiges Open-Source-Projekt sei - ohne die vorherigen Einschränkungen, betont der Entwickler. Das System lasse sich jedoch bereits problemlos produktiv einsetzen. Das dürfte vor allem daran liegen, dass es sich bei GrapheneOS um ein um Sicherheitsfunktionen erweitertes AOSP (Android Open Source Project) handelt. Wir haben es installiert und uns angeschaut - und sind angetan, dass wir von dem Mehr an Sicherheit im Alltag nichts mitbekommen.
Nur wenige Smartphones werden unterstützt

GrapheneOS lässt sich nur auf bestimmten Smartphones der Pixel-Reihe von Google installieren. Derzeit werden das Pixel 2 und 2 XL, 3 und 3 XL sowie 3a und 3a XL unterstützt. Diese erfüllen zum einen die Sicherheitsanforderungen von GrapheneOS, zum anderen werden sie von Google über AOSP mit Bugfixes und Sicherheitsupdates versorgt, die GrapheneOS unkompliziert übernehmen kann. Entsprechend endet die Unterstützung der Geräte mit dem Support von Google. Weitere Geräte, auch anderer Hersteller, könnten hinzukommen, wenn sie die Sicherheitsanforderungen von GrapheneOS erfüllten und sich Maintainer fänden, die das System portierten und pflegten, betont Micay. Das Ziel von GrapheneOS sei jedoch kein breiter Geräte-Support, sondern Sicherheit und Privatsphäre, wie der Entwickler bereits in der Ankündigung des Projektes erklärte.

GrapheneOS sichert den Bootvorgang ab

Wir testen GrapheneOS mit einem Pixel 3a XL, das wir, wie bei der Installation eines alternativen Android üblich, zuerst entsperren müssen. Hierfür gehen wir in die Einstellungen des Smartphones und tippen unter "Über das Telefon" mehrfach auf die Build-Nummer, bis die Entwickleroptionen zur Verfügung stehen. Anschließend starten wir das Smartphone im Bootloader-Modus neu und entsperren es über die Software Fastboot der Android Platform Tools. Das mag etwas kompliziert klingen, geht aber recht einfach von der Hand.

Nebenher laden wir das passende Archiv von der Graphene-Webseite herunter. Wir überprüfen es mit Signify, einem OpenBSD-Tool, mit dem Software signiert und überprüft werden kann. Alles ist okay. Wir entzippen das Archiv und starten das enthaltene Script flash-all.sh, das für uns die Installation von GrapheneOS übernimmt. Dieses installiert nicht nur das Betriebssystem auf dem Smartphone, sondern tauscht auch den Geräteschlüssel von Google gegen einen von GrapheneOS aus.

Nachdem das System installiert wurde, sperren wir das Smartphone wieder. Damit stellen wir einen Verified Boot sicher, nur das signierte GrapheneOS oder ebenfalls signierte Updates können gestartet beziehungsweise installiert werden. Nur durch das erneute Entsperren des Gerätes kann wieder ein anderes System installiert werden. Damit einher geht allerdings ein Reset, bei dem alle privaten Daten gelöscht werden. Wir starten GrapheneOS zum ersten Mal.


So sieht ein sicheres System aus

Nach dem ersten Start begrüßt uns kein Einrichtungsassistent, das Betriebssystem startet vorkonfiguriert und wir bekommen direkt den Startbildschirm zu sehen. Dort geht es eher beschaulich zu: Neben den Standard-Android-Apps zum Telefonieren und SMS-Versenden finden wir eine Kamera-App sowie den Browser Vanadium vor. Letzterer basiert auf Chromium, der von den Graphene-Entwicklern gehärtet wurde. Beispielsweise hat er keinen Zugriff auf die Sensoren, Drittseiten-Cookies werden deaktiviert sowie Duckduckgo als Standard-Suchmaschine gesetzt. Ansonsten sieht alles wie bei einem ganz normalen Stock-Android 10 aus - nur eben ohne Google.

Das Beschauliche und die wenigen Apps gefallen uns. Es gibt keine unnötige Bloatware und auch keinen Appstore. Wir installieren F-Droid, einen Appstore für freie Software. "In Zukunft wird es ein GrapheneOS-App-Repository mit gehärteten Builds aus sorgfältig ausgewählten Apps geben. Es wird auch eine alternative, gesperrte Betriebssystemversion geben, die nicht in der Lage ist, Code aus einer anderen Quelle zu installieren oder auszuführen", wie Micay auf Twitter ankündigt.

Uns reichen die F-Droid-Apps. Nur der Messenger Signal fehlt in F-Droid, wir laden daher die APK von der Signal-Webseite herunter. Der Messenger funktioniert auch ohne Google und bringt einen eigenen Updater mit, der bei uns allerdings nicht immer zuverlässig funktioniert. Manchmal müssen wir von Hand aktualisieren, vielleicht sind wir aber auch einfach nur zu ungeduldig, was Updates angeht.
Schnelle Versorgung mit Android-Sicherheitsupdates

GrapheneOS übernimmt die Android-Sicherheitsupdates direkt nach der Veröffentlichung von Google. Neue GrapheneOS-Images mit den Dezember-Patches stehen nur wenige Stunden später zum Download bereit. Damit gleicht die Update-Geschwindigkeit der von Google selbst und liegt weit vor den Sicherheitsupdates von anderen ROMs wie Lineage oder den Android-Updates der Smartphone-Hersteller - wenn Letztere überhaupt zeitnah Updates bekommen.

Die Supportgeschwindigkeit kommt nicht von ungefähr, GrapheneOS basiert auf AOSP und verwendet Smartphones von Google, die Patches können entsprechend einfach und direkt in den eigenen Build-Prozess übernommen werden. Die so generierten Images werden anschließend per Seamless Update heruntergeladen und neben dem aktuell verwendeten Betriebssystem installiert. Bei einem Neustart des Gerätes wird die neue, aktualisierte Android-Installation gestartet.
Hart, härter, Graphene

GapheneOS aktiviert die Android-Geräteverschlüsselung von Haus aus und setzt dabei auf die Sicherheitsfunktionen von Google. Die persönlichen Daten werden mit Passwort, PIN oder Muster des jeweiligen Nutzers verschlüsselt (File-Based Encryption) und über Googles Titan-M-Sicherheits-Chip abgesichert. Dieser schützt den Schlüssel und verhindert Brute-Force-Angriffe auf Passwort, PIN oder Muster des Nutzers. Eine Full-Disc-Encryption gibt es bei Android 10 nicht mehr.

Viele wichtige Sicherheitsfunktionen von GrapheneOS bekommen Anwender aber nicht zu Gesicht, denn sie haben vor allem mit der Verhinderung von Speicherfehlern und Speicherzugriffen zu tun. Einen Beitrag dazu leistet das Exec-Spawning-Modell für Anwendungen, das auf der GrapheneOS-Webseite hervorgehoben wird.

Anwendungen werden dabei nicht nur wie sonst unter Android üblich per Fork-Aufruf gestartet, sondern eben per Exec-Aufruf. Die Anwendungen erhalten damit ein einzigartiges Adressraum-Layout im Speicher und ebenso zufällige und einzigartige Stack Canaries. Beides kann Angriffe deutlich erschweren. Beim Start jeder Applikation koste dies ein paar Milisekunden Zeit, danach würden jedoch keine Extra-Ressourcen benötigt, heißt es auf der GrapheneOS-Webseite.

Darüber hinaus nutzt GrapheneOS das aus OpenBSD abgeleitete Hardended Malloc zur direkten Speicherverwaltung in der Libc. Dieses setzt auf einige spezielle Designentscheidungen und Sicherheitsfunktionen. So sind zugewiesene Speicherbereiche klar voneinander isoliert und werden zufällig genutzt. Ebenso wird der Speicher beim Freigeben mit null überschrieben, wodurch etwa Use-after-Free-Fehler verhindert werden sollen. Eine ausführliche Beschreibung von Hardended Malloc bietet die Dokumentation auf Github.

Neben den fehlenden Google-Apps versucht GrapheneOS, die Privatsphäre mit Funktionen wie einer zufällig generierten MAC-Adresse beim Verbinden mit oder Scannen nach Wi-Fis zu schützen. Dies soll vor Tracking in Kaufhäusern und Fußgängerzonen schützen. Auch Android selbst baut die MAC-Randomisierung seit Version 8 kontinuierlich aus. Noch seien nicht alle Funktionen von Copperhead OS in GrapheneOS gelandet, erklärt Micay. Das liege jedoch nicht nur an den begrenzten Ressourcen des Projektes.

Verfügbarkeit und Fazit

In Beiträgen auf Twitter und Reddit betonen Micay und Graphene-Nutzer immer wieder einen Mangel an Entwicklern und Maintainern. Der Support für die Pixel-Smartphones der ersten Generation habe daher eingestellt werden müssen, auch der für die zweite Generation könnte eingestellt werden, erklärt Micay. Derzeit kann GrapheneOS für die Google-Smartphones Pixel 2 und 2 XL, 3 und 3 XL sowie 3a und 3a XL heruntergeladen werden.

Bisher sei GrapheneOS wie dessen Vorgänger Copperhead OS fast komplett von ihm entwickelt worden, sagt Micay. Er könne sich im Moment jedoch nur um die Systempflege kümmern. Für die Weiterentwicklung müsse die Community mehr beitragen. Ein paar Entwickler hätten jedoch damit begonnen, zu GrapheneOS beizutragen. Maintainer hätten sich bisher noch nicht gefunden, sagte Micay.
"Copperhead hat die Entwicklung zurückgeworfen"

Ein weiterer Faktor sei der Streit mit Copperhead, der die Entwicklung massiv zurückgeworfen habe, erklärt Micay. Eigentlich sei die Firma gegründet worden, um die bereits bestehende Entwicklung eines sicheren, mobilen Betriebssystems zu fördern. Doch Micays Geschäftspartner habe begonnen, andere Interessen zu verfolgen, ihn aus der Firma zu drängen und die Infrastruktur zu übernehmen. Edward Snowden sei ihm in der schwierigen Zeit zur Seite gestanden, schreibt Micay auf Twitter.

Bis heute seien Micay selbst und GrapheneOS den Angriffen des Copperhead-Mitgründers ausgesetzt. Diese hätten dem Projekt massiv geschadet, Geschäftsbeziehungen zerstört und viele Menschen verwirrt zurückgelassen. Die Entwicklung eines gehärteten Androids werde aber weitergeführt - als GrapheneOS. Er sei im Moment immer noch dabei, alte Funktionen wiederherzustellen, schreibt der Entwickler. Daher solle GrapheneOS im Moment noch als Vorschau gesehen werden, auch wenn das Betriebssystem schon aktiv genutzt werden könne.
Fazit

Im Test konnten wir GrapheneOS verwenden wie jedes andere Android auch. Die Google-Freiheit genießen wir, von dem zusätzlichen Speicherschutz bekommen wir nichts mit, aber so soll es ja auch sein. Bedauerlich ist, dass durch den Streit der Copperhead-Gründer die Entwicklung eines abgesicherten Android zurückgeworfen wurde. Etwas Sorge macht uns zudem, wie wenige Entwickler und Maintainer derzeit an GrapheneOS arbeiten - das Projekt gleicht derzeit eher einer One-Man-Show. Auch wenn dies bei Copperhead ähnlich gewesen sein dürfte, ist das kein schöner Zustand - der sich hoffentlich schnell ändert.

Dass es nur wenige kompatible Geräte gibt, ist zwar schade, dass jedoch auf der anderen Seite viele Altgeräte aus einer Sicherheitsperspektive nicht unterstützt werden können, ist wiederum konsequent. Denn ohne die Sicherheitsupdates der Hersteller, insbesondere für Treiber und Kernel, kann derzeit kein sicheres Android-System existieren. Daher werden die meisten frisch eingeführten Android-Geräte aus einer Sicherheitsperspektive spätestens nach drei Jahren zu Müll. Das ist weder nachhaltig noch im Sinne des Verbrauchers. Daran kann allerdings auch GrapheneOS nichts ändern. Es kann die Geräte während ihrer verbleibenden Laufzeit besser absichern und gleichzeitig die Privatsphäre schützen. Das ist bei Android-Geräten aber schon eine ganze Menge.