Open Source macht ein System noch nicht sicher. Dazu gehört heute viel mehr. Die Maßnahmenkette reicht von Updates bis hin zum sogenannten verifizierten Boot. Ein kleiner Überblick über den Unterschied von GrapheneOS zu anderen Projekten.
XDA Developers ist voll von tollen quelloffenen Projekten, die trotzdem Geräte produzieren, die so unsicher sind, dass man vermutlich mit einem China-Smartphone samt Herstellersoftware sicherer unterwegs ist.
Drei Faktoren heben hier GrapheneOS von anderen AftermarketOS („Custom ROMs“) ab.
- Updates für Firmware und Kernel
- Verified Boot
- Notwendige Hardware-Eigenschaften
- Open Source & Hardening
GrapheneOS – Maßnahmen für mehr Sicherheit
1. Updates für Firmware und Kernel
Android in der AOSP-Variante (Android Open Source Project) steht unter einer freien Lizenz und kann von jedem verwendet und adaptiert werden. Das gilt aber nur für das Betriebssystem und nicht für den Linux-Kernel und die Firmware. Diese Bestandteile variieren von Gerät zu Gerät. So nutzt mein Google Pixel 6 z. B. den Linux-Kernel in Version 5.10, während mein Samsung Galaxy S10 den Linux-Kernel in Version 4.14 verwendet. Beides wird sich voraussichtlich über die gesamte Nutzungszeit nicht ändern.
Der Grund dafür ist die Treiberversorgung. Im Gegensatz zu Linux auf dem Desktop ist ein Großteil der Treiber nicht im sogenannten Mainline-Kernel und deshalb kann der Kernel nicht beliebig aktualisiert werden. Das stellt auch die Hersteller vor Probleme, wie immer wieder gebrochene Updateversprechen zeigen. So lange das Gerät noch herstellerseitig unterstützt wird, ist das nur ein beschränktes Problem. Die Entwickler alternativer Betriebssysteme können dann die Updates des Herstellers für die freie Variante übernehmen. In dem Moment, in dem der Hersteller den Support einstellt, gibt es keine Updates für den Kernel mehr. Mithin die wichtigste Komponente des Systems. Auf diesen dann zusehend marode werdenden Kern kann man noch einige Zeit neue AOSP-Versionen aufsetzen, aber die Sicherheitslücken nehmen naturgemäß zu.
Deutlich problematischer ist hier die Versorgung mit der sogenannten Firmware. In der Szene gern mit Baseband, Radio, Modem etc. umschrieben. Auch hier gibt es Sicherheitsaktualisierungen, aber diese können in der Regel nicht über Updates von z. B. LineageOS eingespielt werden. Bei Samsung muss der Besitzer dies – so er nicht das Samsung Stock Android nutzt – über Software wie Odin oder Heimdall im Downloadmodus erledigen. Die Wahrscheinlichkeit, sein Gerät damit unbrauchbar (soft bricked oder noch schlimmer hard bricked) ist gar nicht so unwahrscheinlich. Entsprechend machen das die meisten Nutzer von AftermarketOS-Systemen nicht oder zumindest nicht regelmäßig.
Für das notorische Problem der kurzen Hardwareunterstützung im Android-Ökosystem bietet somit auch GrapheneOS keinen Ausweg. Deshalb unterstützt man nur wenige Geräte (die Google Pixel-Serie) und diese auch nur so lange, wie Google upstream noch Support für die Geräte bietet. Die von Google angekündigten 5 Jahre für das Google Pixel 6 lassen hier aber hoffen, da GrapheneOS dies hoffentlich übernehmen wird.
2. Verified Boot
Die Wahl auf die Pixel-Geräte von Google fiel sicher nicht, weil Google allseitig so beliebt ist, sondern weil die Pixel-Geräte offiziell die Installation anderer Betriebssysteme erlauben.
Dazu muss man sich vergegenwärtigen wie bei anderen Geräten AftermarketOS aufgespielt werden: Immer muss der Bootloader mit komplizierten Methoden über Klammergriffe oder Herstellercodes, manchmal sogar über Maßnahmen an der Grenze zum „Hacking“ (also über z. B. das Ausnutzen von Fehlern) geöffnet werden. Dieser lässt sich anschließend auch nicht mehr schließen. Dadurch lässt sich nicht nur jederzeit ein anderer Betriebssystem installieren, die „Verified Boot„-Kette lässt sich auch nicht mehr gewährleisten. Durch diesen wird sichergestellt, dass das ausgeführte System aus einer vertrauenswürdigen Quelle stammt und nicht manipuliert wurde. Der Rollback-Schutz verhindert zudem, dass ein Exploit sich dauerhaft im System einnistet.
Geräte ohne „Verified Boot“ sind per Definition einfach nicht sicher. Der Datenschutz hinsichtlich Datenabfluss im Betrieb mag vielleicht besser als bei einem Stock Android sein (was aber auch wieder von Konfiguration und genutzten Apps abhängt), aber die Sicherheit ist massiv viel schlechter. Vor allem wenn man an Szenarien denkt, bei denen Angreifer physischen Zugang zum Gerät haben.
Bei GrapheneOS kann und sollte der Bootloader nach der Installation wieder geschlossen werden. Die vollständige Vertrauenskette beim Start ist anschließend wieder intakt.
3. Notwendige Hardware-Eigenschaften
Aktuelle Versionen von Android, Kernel, Firmware und eine verifizierte Vertrauenskette beim Start sind wichtige Aspekte. Zusätzlich kommen weitere Faktoren hinzu. Auf modernen Smartphones werden immer sensiblere Informationen gespeichert. Ganz besonders brisant sind biometrische Daten für Fingerabdruck oder Gesichtserkennung.
Apple hat hier vor einigen Jahren mit dem Secure Enclave Maßstäbe gesetzt, indem man begonnen hat, solche Daten auch hardwareseitig separiert auf dem Gerät zu speichern. Google nennt seine Lösung Titan Sicherheitschip. Beim Pixel 6 kommt der weiterentwickelte Titan M2 zum Einsatz. (Dieser basiert übrigens auf RISC-V wie die Szene interessiert zur Kenntnis nahm)
Der Titan M2 dient unter anderem dazu, dort biometrische Daten zu speichern. Zusätzlich können Apps via Android-API dort private Schlüssel hinterlegen. Der Titan M2 soll eine Extraktion dieser Daten erfolgreich verhindern.
Wegen fehlender entsprechender Sicherheitsmaßnahmen hatte ich z. B. von der Verwendung von Fingerabdrucksystemen bei herkömmlichen Linux-Systemen abgeraten.
4. Open Source & Hardening
Last, but not least: GrapheneOS ist Open Source. Die Entwickler bauen direkt auf AOSP auf und übernehmen Android damit nicht mittelbar über ein drittes Projekt, wie dies in der Szene oft der Fall ist. Es gibt zudem keine proprietären Bestandteile und keine Google-Dienste in der Standardinstallation.
Hinzu kommen zahlreiche Eigenentwicklungen wie der Chromium-Fork Vanadium als Browser, ein eigener PDF-Viewer, eine eigene Kamera-App und zahlreiche Modifikationen für die Sicherheit („Hardening“). Momentan experimentiert man mit sogenannten „Sandboxed Play Services“, was ein interessanter Ansatz für jene sein könnte, die partout nicht auf Google-Dienste verzichten können.
Wer von einem LineageOS-System umsteigt, wird den Unterschied sofort sehen.
Alternativen
Die möglichen Alternativen zu GrapheneOS sind sehr überschaubar. Eine Möglichkeit ist CalxyOS, das eine ähnliche Zielsetzung wie GrapheneOS verfolgt. (Einen ausführlichen Test von CalxyOS kann man bei Golem lesen) Das erkennt man nicht zuletzt an der nahezu identischen Geräteauswahl beider Systeme. Es gibt halt nicht viel Android-Hardware, das diese Vorgaben erfüllt. Die meisten der oben genannten Punkte treffen deshalb auch auf CalyxOS zu.
CalyxOS versucht es dem Anwender ein bisschen leichter zu machen und integriert daher ein paar mehr Funktionen als GrapheneOS in den Standardumfang bzw. erlaubt es dem Anwender diese leicht einzurichten. CalyxOS könnte daher vor allem jene interessieren, die ein paar mehr Kompromisse eingehen müssen. CalyxOS könnte zudem interessant sein, wenn man ein sicheres Android für Familienmitglieder sucht.
Aus meiner persönlichen Sicht sind einige der Funktionen fraglich und werfen einen Schatten auf das Projekt. Dazu gehört nicht nur microG (weil man damit eben doch Google ins System holt), sondern auch die Bewerbung von VPN (weil VPN nichts mit Anonymität zu tun hat), der massenhaften Leitung von Daten über Tor oder Cloudflare-DNS. Das ist aber klagen auf extrem hohen Niveau!
Außer GrapheneOS oder CalyxOS gibt es allerdings nicht viel. Herkömmliche Linux-Systeme, auch solche von Purism, haben viele der Sicherheitsfunktionen, die in den letzten Jahren Standard im Mobilbereich geworden sind, nicht implementiert. Das gilt ebenso für halbfreie Systeme wie Sailfish OS. Sie können also bestenfalls in einer Liga mit LineageOS spielen. Weitere Informationen dazu im ersten Teil der Serie.
Zwei große Defizite
Das erste Defizit liegt in der Geräteauswahl. So gut sie auch begründet ist und so wenig Alternativen es auch gibt, der Ansatz Google Geld für ein Gerät zu überweisen, um anschließend Google mittels eines anderen Systems zu entkommen, verdeutlicht die ganze Schizophrenie der technischen Gegenwart. Für viele – auch für mich – war und ist dies ein großes Hindernis, aber vielleicht der Preis, den man momentan bezahlen muss.
GrapheneOS ist letztlich von der Entwicklung bei Google (Hardware-Support durch Upstream) und AOSP abhängig. Ohne Android gäbe es auch kein GrapheneOS. Ob die AOSP-Community stark genug wäre, das System zu pflegen oder weiterzuentwickeln, wenn Google eines Tages beispielsweise zu Fuchsia wechseln sollte, steht in den Sternen. Es ist somit eine Freiheit von Googles Gnaden.
Kleine Korrektur, beim Vanadium Browser handelt es sich nicht um eine Eigenentwicklung, sondern um einen Fork von Chromium:
https://grapheneos.org/usage#web-browsing
Das ist natürlich völlig richtig. Ich habe das im Text präzisiert, damit das nicht missverständlich ist.
Da hast du ja schon fast alles gesagt. Allerdings stimmt der Teil zu CalyxOS leider nicht, auch wenn dieses Projekt das immer wieder so kolportiert. Es stimmt, Calyx baut microG ein, aber wie du weißt und ich auch gestern schon schrieb, reißt das wieder neue große Sicherheitslöcher ins System. Außerdem ist Calyx auf Stand Android 11 ohne aktuelle Sicherheitspatches (sowohl Firm- als auch Software, auch wenn sie den Securitylevel als aktuell angeben. Dies ist aber schon rein technisch gar nicht möglich, da – um diesen zu erhalten – seit Android 12 auch eben Android 12 Voraussetzung ist, also auch alle vorherigen Firm-/Softwarepatches vorhanden sein müssen. Aber ich will das hier nicht in aller Tiefe erläutern) CalyxOS wiegt also die Nutzer in falscher Sicherheit, um nicht zu sagen belügt sie.
Außerdem ist CalyxOS nicht gehärtet wie GrapheneOS. Während letzteres ein eigens aus AOSP entwickeltes OS ist, nimmt CalyxOS einfach nur AOSP und flanscht microG und ein paar Anwendungen mit grafischen Anpassungen dran, also nicht anders als sonstige AftermarketOS wie LineageOS etc. (mit dem einzigen Vorteil, den Bootloader wieder sperren und die Vertrauenskette wiederherstellen zu können). Es ist also keineswegs vergleichbar mit den Sicherheitsansprüchen von GrapheneOS und nicht mehr empfehlenswert.
Das ist falsch, CalyxOS listet exakt auf, welche Teile auf welchem Stand sind.
Android-Sicherheitsupdate
Platform: 1. November 2021
Kernel: 6. November 2021
Vendor: 1. ktober 2021
Firmware: 1. Oktober 2021
Ja, GrapheneOS ist da aktueller, weil CalyxOS noch nicht den Switch zu Android 12 gemacht hat, das ist aber komplett transparent, da lügt niemand:
https://calyxos.org/news/2021/11/08/november-update/
Und zum letzten Absatz, schau dir mal android-prepare-vendor der AOSP Alliance an, dann wirst du sehen, dass die Basis für GrapheneOS und CalyxOS das selbe, nackte AOSP ist.
Bitte nicht irgendwelches Halbwissen (nach-)plappern, sondern wirklich informieren.
November Security update (2021-11-01)
Das gibts aber nur, wenn vorher ein Security update (2021-10-05) vorhanden war, und das hat CalyxOS nicht.
Und die Basis ist AOSP, ja. Ich habe nichts anderes geschrieben. Beide machen nur was anderes draus. AOSP 10 wird nun mal nicht mehr mit Updates versorgt, AOSP 12 schon.
Bzw. richtiger ausgedrückt: ein sicheres System hast du nur mit den 5ern, Calyx hat aber nur die 1er Updates
Natürlich werden AOSP 10 (und auch 11) weiterhin von Google mit Updates versorgt. Nochmal die Bitte, informiere dich, und lass dein gefährliches Halbwissen stecken.
Damit die Diskussion hier nicht entgleist:
Natürlich ist es unschön, wenn ein sicherheitsorientiertes Betriebssystem bei den Updates partiell hinterherhinkt. Android 12 ist für die Pixel-Serie aber noch nicht so lange raus und die Liste der offenen Sicherheitslücken in der Umsetzung von CalxyOS dürfte aktuell noch überschaubar sein (hab ich ehrlich gesagt nicht weiter geprüft).
Wenn CalyxOS bald nachzieht, ist das nichts weiter als ein bisschen „Geruckel“ beim Versionswechsel. Wirklich bedenklich ist das nur, wenn sie jetzt noch Monate benötigen, um Android 12 auf die Geräte zu bekommen.
Blöd, dass es keine Editierfunktion gibt:
Calyx-Kernel: 6. November 2021
Klar sieht der aktuell aus: es ist ja schließlich microG reingepatcht worden. der hat aber mit dem AOSp-Kernel nix mehr zu tun. Das meine ich mit Augenwischerei mit „Sicherheit“ und „aktuell“
Eine Editierfunktion würde voraussetzen, dass das System dich anhand von Pseudonym, E-Mail-Adresse und IP wiedererkennt. Da E-Mail und IP aus Gründen des Datenschutzes nicht erhoben werden und der Nickname freiwillig ist, kann ich das hier leider nicht bieten.
Kein Ding, das ist auch gut so. Machte nur meine eigenen Ergänzungen zerfledderter.
Oh, und die Sandboxed Google Play Services sind zwar als „nur“ experimentell gekennzeichnet, laufen aber ganz hervorragend. Wie sie funktionieren, weißt du ja selbst schon.
Das werde ich niemals testen können, da ich sie erstens nicht brauche und zweitens Google-Software nicht auf mein System kommt – Sandbox hin oder her. 😉
Sie machen nichts anderes als FCM für Notifications bereitzustellen und Apps, die sie benötigen, zu sagen, dass sie da sind. Sie haben keinerlei Zugriff auf System/Daten/Identifieres jeder Art etc. Und wenn sie dir nicht (mehr) nützen, kannst du sie wie jede andere App einfach deinstallieren. Das ist eben der große Unterschied zu microG.