Sicherheitskompromisse freier Android-Derivate
Do, 3. Juni 2022, nor
Mobilgeräte sind Wanzen. Darüber sind sich die meisten einig. Die Betriebssysteme von Google und Apple 'telefonieren nach Hause', senden also eine Menge Daten über den Nutzer an ihre Hersteller. Um hier Abhilfe zu schaffen, ist es bei den Freunden von Privatsphäre und freier Software nicht unüblich, den Bootloader von Androidgeräten zu entsperren und freie Android-Derivate zu installieren.
In diesem Artikel sollen ein paar Probleme aufgezeigt werden, die das mit sich bringt, und welche Kompromisse an Androids Sicherheitskonzept eingegangen werden, um die Ziele der freien Android-Derivate umzusetzen.
Google Services und microG
Androidgeräte haben in der Regel die Google Services vorinstalliert, und dies als Systemapps, also als nicht deinstallierbare Apps mit erhöhten Privilegien. Hier liegt das grösste Problem des Standard-Android. 'Entgoogelte' Android-Derivate werden ohne diese Google-Apps erstellt, um die Privatsphäre besser zu schützen.
Während dies für die meisten Android-Apps keinen grossen Unterschied macht und sie auch ohne Google-Apps funktionieren, sind sie für einige eine Abhängigkeit. Manche Anwendungen erhalten auf entgoogelten Systemen keine Benachrichtigungen, ohne im Vordergrund geöffnet zu werden. Selten sieht man auch Apps, die direkt nach dem Öffnen abstürzen, weil die von ihnen erwartete Umgebung so nicht existiert.
Es gibt zwei Wege, wie die Custom ROMs damit umgehen. Einige, wie /e/, LineageOS for microG sowie CalyxOS, installieren hierzu microG. MicroG ist ein Projekt, bei dem die Funktionalität, die sonst von den proprietären Googlediensten bereitgestellt wird, weitestmöglich mit freier Software reimplementiert wird. Je nach Nutzung baut auch microG wiederum Verbindungen zu den Googleservern auf, z.B. für die Pushbenachrichtigungen.
Andere Systeme wie LineageOS und DivestOS lehnen das Einbinden von microG strikt ab. Grund dafür ist nicht nur, dass microG – wenngleich in sehr viel kleinerem Rahmen – je nach Nutzungsweise wiederum Daten an Google schickt.
Ein wesentliches Problem ist auch, dass sich microG, um im System die Rolle der Google-Komponenten einzunehmen, als diese ausgeben muss. Dies erfordert Signaturspoofing: Das System muss also die Kontrolle, welche App welche ist, schwächen. Dieses Signaturspoofing wird als grosses Sicherheitsproblem angesehen: wenn sich Apps als andere Apps ausgeben und an deren Stelle auf Daten zugreifen können, die somit eigentlich ausserhalb ihrer App-Sandbox liegen, wird letztere deutlich geschwächt.
Es herrscht Uneinigkeit darüber, wie ernst diese Sicherheitsbedenken sind. Betriebssysteme mit Unterstützung für Signaturspoofing schränken dieses oft ein, z.B. indem es nur microG zur Verfügung stehen soll oder manuell festgelegt wird, wo Signaturspoofing möglich ist. Andererseits ist es dennoch eine bewusste Schwächung von Androids Sicherheitskonzept, welche von einigen als inakzeptabel angesehen wird. Einen Sonderweg geht GrapheneOS, welches Signaturspoofing und somit microG ebenfas strikt ablehnt, stattdessen aber eine Kompatibilitätsschicht bereitstellt, welche es erlaubt, die Google-Apps ohne Privilegien innerhalb der normalen App-Sandbox zu installieren und somit in ihren Befugnissen eingeschränkt, z.B. netzwerklos, zu betreiben.
Sicherheitsupdates und Supportdauer
Ein weiterer häufiger Grund zur Installation von sogenannten Custom ROMs ist der Wunsch, ein Gerät länger als vom Hersteller unterstützt zu betreiben. Die meisten Androidgeräte sind bereits 2-3 Jahre nach Erscheinen am 'EOL', dem 'End of life', angekommen, erhalten also keine Updates und somit keine Sicherheitspatches vom Hersteller mehr. Manche Custom ROMs versprechen, EOL-Geräte weiterhin mit Updates zu versorgen.
Hierbei muss man sich bewusst sein, dass diese von Freiwilligen unterhaltenen Systeme zwar all das Updaten und Patchen können, was freie Komponenten sind, beim Patchen von proprietären BLOBs in Treibern und Firmware allerdings ebenfalls auf den Hersteller der jeweiligen Hardwarekomponenten angewiesen sind. Sicherheitslücken in nicht mehr offiziell unterstützten, auf Mobilgeräten leider sehr häufigem hardwarespezifischem Code bleiben somit oft auch mit diesen lebensverlängernden freien Systemen ungepatcht.
Root und Bootloader
In Kürze soll noch auf zwei weitere bedenkenswerte Haken eingegangen werden. Hin und wieder werden Androidsysteme gerootet oder auch mit vorab verfügbarem Rootzugriff installiert. Auch hier sollte man sich bewusst sein, dass Androids Sicherheitskonzept eigentlich vorsieht, dass der Rootzugriff gesperrt bleibt.
Zum Installieren eines anderen Android-Derivats muss der Bootloader entsperrt werden. Empfehlenswert ist hier, eine Kombination aus Hardware und Software zu wählen, bei der anschliessend der Bootloader nach der Installation mit dem neuen System wieder gesperrt werden kann, da dies für den verifizierten Boot und somit die Systemintegrität sehr wichtig ist.
Fazit
Google-Android-Systeme durch freie Android-Derivate zu ersetzen, wirft ein paar Probleme auf, mit denen von unterschiedlichen Betriebssystemen wie auch unterschiedlichen Personen unterschiedlich behandelt werden. Zum Betreiben bestimmter Apps können microG und somit Signaturspoofing, oder der Rootzugriff notwendig sein. Manche Hardware, die man betreiben möchte, kann nur noch mit ungepatchten Blobs oder mit offengelassenem Bootloader verwendet werden.
Alle vier Kompromisse sind hinsichtlich ihrer Bedeutung für die Systemsicherheit umstritten. Das bedeutet nicht, dass diese Kompromisse niemals eingegangen werden sollten, doch man sollte sich dabei bewusst sein, dass man sie überhaupt eingeht. Absolute Sicherheit ist ohnehin nicht möglich, doch ist es gut zu wissen, welche Entscheidungen welche Implikationen für die Sicherheit der eigenen IT-Geräte haben.
Links
Dies sind ein paar von vielen Links (englischsprachig), die das Thema aus unterschiedlichen, teils sehr einseitigen Meinungsperspektiven beleuchten. Sie geben allerdings einen guten Einblick, warum angesprochene Kompromisse als bedenklich oder unbedenklich sehr umstritten sind.
https://divestos.org/index.php?page=faq
https://lineage.microg.org/#faq
https://wiki.lineageos.org/faq#my-device-doesnt-pass-safetynet
https://wiki.lineageos.org/faq#will-you-enable-signature-spoofing
https://grapheneos.org/faq#legacy-devices
https://madaidans-insecurities.github.io/android.html
https://calyxos.org/docs/guide/microg/#is-using-microg-a-privacy-risk
https://calyxos.org/docs/guide/microg/#is-microg-a-security-risk-in-calyxos-because-it-requires-signature-spoofing