Android

GrapheneOS

9. 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.


NVIDIA Shield TV und die Discover UI

17. Januar 2022 · Anwendungen · andreas · Kein Kommentar

Seit Freischaltung der Discover UI zeigt der Homescreen der NVIDIA Shield genau wie die meisten anderen Android-TV-Geräte Werbung an. Im oberen Drittel des Bildschirms sowie im Hintergrund werden Anzeigen für Abonnements und Sendungen eingeblendet und will man versuchen, die Vorschäge auch nur geringfügig anzupassen (Registerkarte “Discover”), so soll man Google gleich das Tracken aller Aktivitäten erlauben.

Da dieser Mechanismus zentral von Google gesteuert wird, hat NVIDIA auch keine Chance, hieran etwas zu ändern.

I did check with the developers team and has been informed that it is indeed an implementation of Google’s Discover UI, which is part of the Android itself. Nvidia is only the manufacturer of the hardware and we do not have control over the User interface of Android. This is not just specific with Shield, but is already being implemented on all Android tv boxes. [Quelle]

Konnte man mit der Version 8.2.3 noch zur alten UI zurückkehren, in dem die vorhanden Updates für die Android TV Home-App deinstalliert wurden, wird die aktualisierte App seit Version 9.0.0 direkt mit dem Betriebssystemupdate ausgeliefert.

Eine Möglichkeit, zu einem werbefreien Startschirm zurückzukehren, ist die Installation eines alternativen Launchers, welche die Android TV Home-App ersetzt. Hier kann z.B. der quelloffene FLauncher direkt über den PlayStore installiert werden. Dieser ist anschließend unter “Apps” zu finden und kann erst einmal ausgiebig konfiguriert und getestet werden.

Sofern die Tests zufriendenstellen verlaufen, kann der Launcher auch dauerhaft als Alternative verwendet werden. Hier hatte NVIDA eine direkte Auswahlmöglichkeit implementiert, wurde aber ebenfalls von Google ausgebremst.

Back on shield experience 8.0.1 we enabled 3rd party launchers. We were the only device with this feature and other manufactures went to Google asking why we could do this and they could not. As a result, we had to disable the ability to select a 3rd party launcher (without doing adb commands) on all future releases in order to get through the google release process. [Quelle]

Glücklicherweise hat man als Android-Nutzer aber trotzdem noch eine Chance, das Verhalten wie gewünscht zu ändern - wenn auch etwas unkomfortabler über die adb-Schnittstelle.

Hierzu werden zuerst auf der Shield die Entwickleroptionen freigeschaltet: Im Menü auf “Geräteeinstellungen”, dann auf “Info” und in der Zeile “Build” insgesamt sieben mal auf die OK-Taste drücken, bis eine entsprechende Meldung erscheint.

Anschließend wird das “Geräteeinstellungen”-Menü am Ende um den Punkt “Entwickleroptionen” ergänzt. Dieser wird nun geöffnet und unter “Debugging” der Punkt “Netzwerk-Debugging” aktiviert. Nach erfolgreicher Aktivierung erscheint der Text “Aktiviert auf a.b.c.d:5555”

Nun wird auf einem PC eine aktuelle Version der Android SDK Platform Tools benötigt. Diese gibt es sowohl für Windows, Mac OS und Linux direkt bei Google zum Download. Wer Linux verwendet, kann direkt auf wget zurückgreifen:

$ wget https://dl.google.com/android/repository/platform-tools_r31.0.3-linux.zip

Sind die SDK Platform Tools heruntergeladen und entpackt, so kann im Verzeichnis “platform-tools” direkt mit adb gearbeitet werden. Nach Eingabe von (natürlich sind a, b, c und d mit der oben angezeigten Adresse zu ersetzen)

$ ./adb connect a.b.c.d:5555

muss auf der Shield der Dialog “Netzwerk-Debugging erlauben?” mit “ERLAUBEN” bestätigt werden. Anschließend wird die Verbindung überprüft:

$ ./adb devices
List of devices attached
a.b.c.d:5555 device

Sofern das Gerät angezeigt wird und verbunden ist, fehlt lediglich noch ein Befehl:

$ ./adb shell pm disable-user --user 0 com.google.android.tvlauncher

Beim Druck auf die “Home”-Taste der Fernbedienung wird automatisch FLauncher gestartet (da einziger verfügbarer Launcher) und als Standardanwendung eingerichtet. Sollte eine Rückkehr zum Standard-Android TV Home notwendig sein, so reicht das Ausführen des oben genannten Befehls mit dem Parameter “enable-user” statt “disable-user” un diesen wieder zu reaktivieren.


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.


Nexus 5X R.I.P.

9. März 2019 · Hardware · andreas · Kein Kommentar

Im August 2016 im Ausfverkauf erworben, hat sich mein Nexus 5X vorletzte Woche nach rund 2 1/2 Jahren außerplanmäßig verabschiedet. Auch bei mir hat der berüchtigte Mainboard-Fehler zugeschlagen, der wie ein Damoklesschwert über jedem der Geräte schwebt. Mitten während einer Photoaufnahme ist das Bild eingefroren, das Display wurde schwarz und das Telefon reagiert seither nicht mehr.

Wie bei den meisten von Murphy sorgfältig geplanten Aktionen ist dies natürlich nicht kurz nach der mehr oder minder regelmäßig durchgeführten Datensicherung am heimischen PC passiert, sondern mitten im Urlaub. Der Verlust des Telefons und der damit verbundenen Kommunikationsmöglichkeiten war ärgerlich aber nicht weiter tragisch - deutlich schwerer wiegt der Verlust von rund 200 Photos, welche im Laufe des Urlaubs gemacht wurden und noch im internen Speicher des Telefons liegen.

Es gibt zwar verschiedene Methoden, mit denen das Telefon mit Glück kurz zum Leben erweckt werden kann, aber bis zur Datenrettung hat leider keine geführt. Zwar konnte mit Hilfe der Kühlmethode das Telefon nochmal bis in den Fastboot-Modus gestartet werden, aber schon das installierte TWRP-Revovery war bereits nicht mehr erfolgreich zu starten. Mit Hilfe eines modifizierten Bootimages, das die Anzahl der benutzten Prozessorkerne reduziert, gelang einmalig der Start im Recovery-Modus - aber auch hier erfolgte nach wenigen Sekunden ein Neustart.


Spiegel Online: Gut gemeint ist noch lange nicht ...

1. November 2017 · IMHO · andreas · Kein Kommentar

Es ist gut und lobenswert, wenn sich Medien, die sich normalerweise mit einem breiten Spektrum an Themen beschäftigen (und somit auch eine breite Leserschaft haben) auch Technik-Themen in ihre Veröffentlichungen aufnehmen - so kann auch unter einer vielleicht nicht unbedingt technikaffinen Leserschaft die Aufmerksamkeit auf bestimmte Themen gelenkt werden.

Dies hat Spiegel Online mit dem Artikel “Vorsicht, Schnäppchenhandy” probiert und sich dabei zielsicher eines der denkbar schlechtesten Beispiele ausgesucht: das HTC Tablet Nexus 9.

Der Einleitungstext erklärt:

Elektromärkte werben mit Sonderpreisen für Handys und Tablets. Was sie verschweigen: Viele Geräte sind Hackerangriffen schutzlos ausgeliefert. Was hilft?

und begründet das Beispiel mit

Ab November stellt Google gar keine Sicherheitsupdates mehr für das Gerät zur Verfügung. … Versionsupdates des Betriebssystems Android gibt es für das Modell schon seit Oktober 2016 nicht mehr.

Die (eigentlich nicht vorhandene) Update-Politik vieler Hersteller ist ein Graus: solange es sich nicht gerade um Top-Modelle handelt, bekommen viele Geräte so gut wie nie ein Update oder wenn, dann nur extrem unregelmäig.

Dabei sind die oben angesprochenen Versionsupdates zwar für das Marketing gut und wichtig, für die eigentlich im Spiegel-Online-Artikel angesprochenen Sicherheitsprobleme sind Sicherheitsupdates deutlich relevanter. Dies ist analog zu z.B. Windows-PCs, wo die aktuelle Betriebssystemversion bereits seit über einem Jahr “Windows 10” heißt, das noch vielfach eingesetzte Windows 7 aber trotzdem noch bis 2020 mit Sicherheitsupdates versorgt wird.

Genau an dieser Stelle ist das von HTC hergestellte und von Google mit naktem Android ausgestattete Nexus 9 als schlechtes Beispiel nur bedingt geeignet, denn für das Tablet sind zum Zeitpunkt des Artikels (29. Oktober 2017) die aktuellsten, für Android erhältlichen Sicherheitsupdates (Patchlevel 05. Oktober 2017) verfügbar.

Vergleicht man das mit einem ebenfalls im Haushalt vorhandenen Samsung Galaxy Tab A T580 stellt man fest, daß dieses aktuelle Tablet auf dem Patch-Stand “1. August 2017” ist, also dem aktuellen Stand zwei Monate hinterherhinkt.

Dies soll nicht heißen, daß es heute noch sinnvoll wäre, ein neues Nexus 9 zu kaufen, denn das Supportende ist entweder nah oder da, aber mit dem aktuellen Patch-Stand ist das Nexus 9 zumindest besser aufgestellt, als ein Großteil der als brandneu verkauften Geräte, bei denen ungewiss ist und bleibt, ob und wann sie eventuell ein Update erhalten.

Für die Besitzer eines Nexus 9 bleibt, sollte ab nächstem Monat tatsächlich kein Sicherheitsupdate mehr erscheinen, ein Ausweg: der Umstieg auf ein Custom Rom wie z.B. Lineage OS, mit dem auch ein inzwischen zwei Jahre aus der offiziellen Wartung gefallenens Nexus 4 mit Android 7.1.2 inklusive aktuellsten Sicherheitsupdates versorgt wird.