LineageOS

GrapheneOS

09. November 2022 · Betriebssysteme · andreas · Kein Kommentar

Seit dem unrühmlichen Ende meines Nexus 5X war hier ein gebrauchtes Google Pixel der ersten Generation mit dem Betriebssystem LineageOS im Einsatz.

LineageOS ist zwar im Hinblick auf Datensparsamkeit ein Schritt in die richtige Richtung, in Sachen Sicherheit aber leider nicht mehr als ein Kompromiss: oft ist nicht klar, ob und wie vollständig Sicherheitspaches in das System integriert werden (dies variiert von Gerät zu Gerät und dem jeweiligen Maintainer) und auf Grund fehlender Quellcodes für die Blobs bleiben Teile des Systems nach Ende der offiziellen Wartung zwangsweise ungepatcht. Dazu kommt noch ein gravierender Nachteil: nach der Installation muss der Bootloader offen bleiben - das Smartphone sollte anschließend nach Möglichkeit nicht mehr aus den Augen gelassen werden, denn das Aufspielen eines Patchs oder Abziehen der Daten am Betriebssystem vorbei ist - je nach installierter Recovery - für einen Angreifer nur wenige Schritte entfernt.

Nachdem Google den 23. Geburtstag mit entsprechenden Rabatten feierte, rutschte der Preis des Pixel 4a in annehmbare Regionen. Bei dem Gerät handelt es sich um das bisher letzte Hosentaschengerät von Google, welches mit 5,8"-Bildschirm und mit dem Pixel fast identischen Gehäusemaßen (0,2 mm länger, dafür 0,1 mm schmaler) eine problemlos tragbare Alternative darstellt.

Google Pixel 4a mit GrapheneOS

Nach wenigen Wochen mit dem Oiginalbetriebssystem von Google war klar: es ist zwar schön, was Google so alles an Komfortfunktionen bereitstellt, aber einen Großteil davon bezahlt man mit einem permanenten Daten(ab)fluss und es bleibt das Gefühl, permanent eine Wanze mit sich herumzutragen, die “Ich weiß, was Du letzten Sommer getan hast” besser beantworten kann, als man selbst. Somit ging die Suche nach einem alternativen Betriebssystem los, das nach Möglichkeit auch bessere Sicherheitsfeatures bieten sollte, als LineageOS.

Dank entsprechender Artikel des auf Sicherheit folussierten Blogs von Mike Kuketz endete die Suche bei GrapheneOS:

GrapheneOS ist ein auf Sicherheit und Datenschutz ausgerichtetes Open-Source-Betriebssystem mit Android-App-Kompatibilität.

Alle Komponenten, die für die Android-Basiskompatibilität nicht erforderlich sind, werden nicht integriert. GrapheneOS basiert demnach auf dem Android Open Source Project (AOSP), erweitert dieses aber um Funktionen und Maßnahmen, die die Sicherheit und den Datenschutz verbessern. [Quelle]

Der starke Fokus auf Sicherheit und Datenschutz zeigt sich in vielen Details: der Bootloader kann und soll nach Installation wieder geschlossen werden; WiFi und Bluetooth können systemseitig gestoppt werden, wenn für einen einstellbaren Zeitraum keine Verbindung (mehr) besteht; Systemupdates (sowohl Sicherheitsaktualisierungen als auch Versionsupdates) erscheinen teilweise früher als sie für die Google-Geräte verfügbar sind und genau wie beim System aus Mountain View reicht ein Neustart, um in das aktualiserte System zu wechseln. Auch ansonsten gibt es viele durchdachte Details, wie z.B. den eigenen App-Store, über den einige Graphene OS-eigene Apps installier- und aktualisierbar sind und auch die Möglichkeit, den Portal-Check beim Neuverbinden auf Graphene OS- statt der Google-Server umzustellen. Zum Surfen gibt es einen eigenen, auf Chromium basierenden Browser mit stets aktualisertem Webview.

Sofern man über einen Fehler stolpert, kann dieser im projekteigenen Github-Issue-Tracker gemeldet werden und zumindest die eigene Erfahrung zeigt, daß sich auch zeitnah jemand kümmert. Eine deutlich angenehmere Erfahrung als meine Fehlermeldung bei Google bzgl. der Funkverbindung meines “Nexus 4”, zu der ich wohl auch inzwischen keine Reaktion oder einen Fix mehr erwarten darf.

Als Alleinstellungsmerkmal bietet Graphene OS an, über den eigenen App-Store sogenannte “Sanboxed Google Services” zu installieren, also die Google eigenen Dienste inklusive PlayStore nachzuinstallieren. Diese laufen dann aber nicht - wie beim Originalsystem - mit Systemrechten somit fast uneingeschränktem Zugriff, sondern laufen nur mit den Rechten einer “normalen” App, was die Zugriffsmöglichkeiten deutlich einschränkt.

Mein Nutzungsprofil unterscheidet sich wahrscheinlich deutlich von dem der meisten Smartphone-Nutzer: ich verwende das Gerät hauptsächlich zum Telefonieren und als tragbaren Kalender und Kontaktverwaltung. Instant Messenger - egal, ob sie Signal, Threema oder WhatsApp heißen - sind bei mir nicht installiert, ich fand solche Dienste schon zu Zeiten von ICQ absolut überflüssig.

Die “Sanboxed Google Services” sind bei mir mangels Bedarf nicht installiert. Als Appstore kommt neben dem Graphene OS-eigenen lediglich F-Droid zum Einsatz, welcher eine ganze reihe frei verfügbarer, quelloffener Apps bündelt:

  • DAVx5: Synchronisation von Kontakten und Kalendereinträgen mit der Nextcloud-Instanz

  • Gadgetbridge: Companion-App zur Verbindung von Smartwatches wie z.B. der Pebble2 mit dem Smartphone

  • KeepassDX: hat nach einigen Jahren auf Grund erweiterter Funktionalität das bisher installierte KeepassDroid ersetzt

  • K-9 Mail: wenn auch zwischenzeitlich etwas angestaubt, ist K-9 Mail seit meinen ersten Schritten auf Android ein zuverlässiger Begleiter, mit dem ankommende Mails zumindest gelesen werden

  • Music Player GO: die Auswahl an Musikplayern ist riesig, aber viele davon werden nur mäßig bis gar nicht geplegt. Der “Music Player Go” ist schlank, erhält regelmäßig Updates und sieht gut aus

  • Nextcloud, Nextcloud News und Nextcloud Notizen: Kontakte, Kalender und Notizen werden über eine Nextcloud-Instanz synchronisiert

  • OpenTracks: ideal, um ab und an eine Wanderung oder eine Radtour mitzutracken. Keine GPS-Daten, die in Richtung Cloud wandern, sondern auf dem Gerät bleiben

  • Privacy Browser: auf dem System-Webview aufsetzende Browseroberfläche, welche bereits einige Filterlisten eingebaut hat und domänenspezifische Konfigurationseinstellungen (Javascript, Cookies, User Agent, …) mitbringt

  • Schlichter Kalender: eine der sog. “schlichten Apps”, die funktional hochwertig und ohne Werbung sind

Auch wenn sich Graphene OS für den Produktiveinsatz uneingeschränkt eignet, so ist eine Baustelle anfangs irritierend: alle neu hinzugefügten (oder geänderten) Einstellungsmöglichkeiten und Apps sind zum aktuellen Zeitpunkt ausschließlich in englischer Sprache erhältlich, was sich stellenweise seltsam anfühlt. Auch wären ein paar zusätzliche Konfigurationsmöglichkeiten, wie z.B. den Eintrag eines privaten Portalservers zum “Internet Connectivity Check” wünschenswert. Aber das sind letztendlich Wohlfühl-Detailverbesserungen an einem ansonsten hervorragenden Produkt.


Congstar, VoLTE und ein Google Pixel der ersten Generation

02. März 2021 · Anwendungen · andreas · Kein Kommentar

Technik kann frustrierend sein, vor allem, wenn die mehr oder minder geplante Obsoleszenz zuschlägt. Ein gutes Beispiel dafür ist VoLTE, eine neue Technik, deren Vorteil in einem schnelleren Gesprächsaufbau sowie dem Wegfallen des Netzwechsels auf 2G / 3G beim Telefonieren liegt.

Das Google Pixel der ersten Generation ist seit Android 7.1.1 VoLTE-fähig, Congstar hat VoLTE im Laufe des Jahres 2020 freigeschaltet, trotzdem fehlt im Einstellungsdialog die benötigte Option:

Weiterlesen


Update Google Pixel von LineageOS 16 auf 17.1

19. April 2020 · Betriebssysteme · andreas · Kein Kommentar

Vor wenigen Tagen wurde LineageOS 17.1 veröffentlicht - Zeit auf die aktuelle Version zu wechseln und hierbei gleich neue Lineage Recovery auszuprobieren. Der in LineageOS eingebaute Updater erkennt zwar, daß eine neue Version vorliegt, kann das Update aber nicht manuell durchführen.

LineageOS

Die sehr kurz gehaltene Upgrade-Doku spart leider aus, daß man das Lineage Recovery nicht wie bisher für TWRP empfohlen mittels “fastboot boot …” direkt starten kann, denn dann erscheint lediglich eine Fehlermeldung:

$ sudo fastboot boot lineage-17.1-20200418-recovery-sailfish.img ... FAILED (remote: dtb not found)

Ein Blick in die Installations-Doku zeigt, daß die Lineage Recovery installiert werden soll:

$ fastboot flash boot lineage-17.1-20200418-recovery-sailfish.img

Anschließend kann die Recovery gestartet werden (Power & Volume down) und über die Menüpunkte “apply update” / “apply from adb” empfangsbereit gemacht werden. Die eigentliche Installation des Updates ist unspektakulär:

$ adb sideload lineage-17.1-20200418-nightly-sailfish-signed.zip

GApps (optional)

Die Dokumentation weist darauf hin, daß es wichtig ist, den Zustand bzgl. eventuell verwendeter GApps beizubehalten, d.h. wenn welche installiert waren, müssen sie vor dem ersten Start des Betriebssystems aktualisiert werden.

Hierzu wird die Recovery erneut gestartet und bereit zum Datenempfang gemacht, dann kann das Paket installiert werden.

$ adb sideload open_gapps-arm64-10.0-pico-20200418.zip

Root

Das bisher für LineageOS 16 angebotene “addonsu” ist aus technischen Gründen leider nicht mehr erhältlich

… our usual provided AddonSU zip to enable root access for the user is no longer feasible

weshalb auf Alternativen wie Magisk ausgewichen werden muss.

… if you want root for apps, flash magisk zip in recovery. Just don’t flash it during initial lineage install, as it’s known to cause bootloop if you do.

Wichtig ist, Magisk nicht zusammen mit LineageOS zu installieren, ob hier ein erneuter Start der Recovery reicht oder ein Systemstart erfolgen sollte, ist nicht ganz klar. Die Installation erfolgt analog zu LineageOS bzw. den GApps am sinnvollsten nach einem Systemstart.

$ adb sideload Magisk-v20.4.zip

Nacharbeiten

Nach der Installation kam von Magisk keine Aufforderung von AFWall+ zum Erhalt von Root-Rechten. Nach einem weiteren Reboot kam dann aber die erwartete Aufforderung.

Der Captive-Portal-Check lief trotz übernommener AFWall+-Einstellungen immer auf einen Verbindungsfehler, die Liste der Freigaben musste noch um “[1073] Network Stack, com.android.server.NetworkPermissionConfig” erweitert werden, ansonsten wurde dauerhaft das “X” beim Verbindungsstatus angezeigt und einige Apps haben erst gar nicht versucht, sich mit dem Internet zu verbinden.


Entrust IdentityGuard Mobile und LineageOS

25. März 2020 · Anwendungen · andreas · Kein Kommentar

Auf den Versuch, Entrust IdentityGuard Mobile auf (m)einen Google Pixel mit aktuellem LineageOS 16 in Betrieb zu nehmen, hat die App nur mit einem

Manuelle Aktivierung wird auf einem ungesicherten Gerät nicht unterstützt

reagiert. Tatsächlich fördert die Suche auf der Entrust-Website die Info hervor, daß der Betrieb der App auf einem Custom Rom nicht möglich ist.

Entrust IdentityGuard mobile has detected that it is running on an unsecured device. Application exiting

The issue is that you have Jail broken (iPhone) Rooted (Android) or hacked/cracked your mobile device, you will not be able to install the soft token and will need to either install it on a different device (e.g. workstation or other mobile device) or switch to the eGrid Card.

Stattdessen läuft die App jetzt auf einem Nexus 4 unter Android 5.1.1mit Softwarestand Juli 2015, bestimmt ein riesiger Sicherheitsgewinn.


Samsung Galaxy Tab S2 mit LineageOS

09. Juni 2019 · Betriebssysteme · andreas · 16 Kommentare

Auch wenn der Markt für Android Tablets auf den ersten Blick nach halbwegs Ausahl aussieht - spätestens beim Blick auf die Sicherheitsupdates kommt der Gedanke, daß es um diese nicht nur gefühlt nochmals eine ganze Ecke schlechter bestellt ist als bei Smartphones.

Denkt man gar darüber nach, ein alternatives Betriebssystem wie LineageOS einsetzen zu wollen, bleiben von den aktuell am Markt befindlichen Geräten nur noch wenige übrig. Als “Preis-Leistungssieger” entpuppt sich das Samsung Galaxy Tab S2, welches mit immer noch ausreichender Ausstattung als Neugerät erhältlich und für das offiziell LineageOS 16 verfügbar ist.

Wichtig ist, die richtige Version des Gerätes zu erwischen. Statt der Urversion des S2 von 2015 wird die aktualisierte Version von 2016 benötigt, in welcher der Samsung eigene Exynos-Prozessor durch einen Qualcomm Snapdragon ersetzt wurde. Wie das LineageOS Wiki verrät, handelt es sich hierbei um die Modellnummer SM-T813, Codename “gts210vewifi”.

Im Wiki findet sich auch eine Installationsanleitung, welche sich im Vergleich zu z.B. den Google-eigenen Nexus-Geräten nicht einfach nachklicken lässt, sondern so manchen Stolperstein beinhaltet.

Weiterlesen