GrapheneOS mit Play-Diensten + RethinkDNS (mein Setup und meine Erfahrungswerte)

Hallo zusammen,

Mike hatte letztens über RethinkDNS geschrieben und GrapheneOS analysiert, darunter auch die Play-Dienste in der Sandbox. Ich möchte hier meinen Ansatz vorstellen, wie ich die beiden kombiniere und welche Fragen ich dazu noch habe sowie welche Vorteile ich darin sehe.

Also, zunächst einmal wollte ich ursprünglich GOS ohne jegliches Zeug von Google verwenden. Ich hatte damit aber große Probleme mit der Akkulaufzeit meines damals neuen Pixel 6a. Mit installierten Play-Diensten war es in Ordnung.

Mit RethinkDNS wollte ich jetzt ganz genau definieren, welche App sich wohin verbinden darf. Daher setze ich alle Apps auf „Isolate“. Und ich bin super überrascht, wie gut es funktioniert, auch wenn man Verbindungen zu Google-Servern unterbindet. Die einzigen Apps, die sich zu Google-Servern verbinden dürfen, sind eben der Play-Store und die Play-Dienste.

Konkreter:

Etwas aufwändig ist es, wenn ich über den Play-Store Updates ziehe und wieder andere Domains *.gvt1.com aufgerufen werden. Dann muss ich die halt neu freischalten. Das ist für mich aber vollkommen in Ordnung.

Auch Signal und Threema wollen ständig Verbindungen zu Google aufnehmen über „firebaseinstallations.googleapis.com“, was ich aber unterbinde. Auch Whatsapp (leider komme ich noch nicht ohne aus) funktioniert, wenn ich die erlaubten Domains auf *.whatsapp.net beschränke.

Meine Frage an der Stelle: Wenn ich die Google-Dienste auf diese Art weiter einschränke, dann gibt mir das ein Gefühl von minimalem Verlust an Datenschutz durch die Installation der Google-Dienste. Ist das eine Illusion oder würdet ihr das unterschreiben? Dank der Sandbox wird an Google eh schon weniger geliefert als auf „normalen“ Android-Installationen. Bei meinem Setup sollte es jetzt ja noch weniger sein.

Dazu gibt es noch einen unbeabsichtigten Nebeneffekt: Meine Akkulaufzeit hat sich massiv(!) verbessert!!! Ich lade meinen Akku mittlerweile morgens nur noch bis maximal 65-70% und nach einem Tag mit moderater Nutzung (was auch immer das heißt, ich weiß) ist er noch locker über 50%. So wird der Akku ewig leben! :partying_face: Das war vor diesen harten Beschränkungen innerhalb von RethinkDNS nicht so, da war die Akkulaufzeit ungefähr halb so lang, wie sie jetzt ist.

Ich bekomme sämtliche Nachrichten, sowohl in den Messengern als auch im Schulmanager, den ich beruflich nutze, ohne Verzögerung. Die Updates über den Play-Store funktionieren ebenso. Ich spüre keinerlei Einschränkung (bis auf den Aufwand mit den *.gvt1.com-Domains, der sich aber ja mit der Zeit legen wird, je mehr dieser Domains ich erlaubt habe)

2 „Gefällt mir“

Hallo sekret,

ich finde deine Umsetzung super!
Besonders gefällt mit die Balance zwischen Sicherheit/Kontrolle und Funktion/Akkuverbrauch.

LG vom Klaus

Wieso verwendenst du den play store und nicht aurora?
So könntest du doch einen weiteren Schritt ohne google auskommen!?
Zudem gibt es unter F-Droid eine Signal Fork mit der es auch ohne google services funktioniert (Standort teilen).

Hi nlein,

über Aurora hab ich schon nachgedacht, ich will noch testen, welche Verbindungen die App konkret aufnimmt. Hab ich zu meiner LineageOS-Zeit ja auch ständig verwendet, das Ding taugt schon recht gut, wenn man nen eigenen Account nutzt.

Wenn man dem Play-Store innerhalb der GrapheneOS-Sandbox sämtliche Rechte (außer Netzwerk) entzieht und mittels RethinkDNS weiter in seinen Möglichkeiten einschränkt, ist die App dann trotzdem weniger datenschutzfreundlich als Aurora (ggf. auch inklusiver dieser Einschränkungen)?

Den Signal-Fork hab ich ausprobiert, aber das Ding hat meinen Akku brutalst leergesaugt (wenn ich mich recht erinnere 10% pro Stunde oder so), das ging gar nicht… Man könnte argumentieren, dass das ein akzeptabler Preis ist, aber das geht für mich gar nicht.

Schöner Kompromissansatz.

Für mich ist es schwierig, die Anzahl der Verbindungen als Kennzahl für wenig oder viel Datenschutz herzunehmen. Du kannst nicht ohne weiteres quantifizieren, wie viele und vor allem welche Daten an gewisse Domains abfließen.
Und ich persönlich bin nicht im Bilde, ob Google im Falle dauerhaft unerreichbarer Subdomains die erreichbaren solchen für „Umleitungen“ nutzt.

mtalk.google.com bedeutet beispielweise die Weitergabe sämtlicher Metadaten deiner Push-Notifications an Google. Von der Geschichte, die in den letzten Wochen auftauchte, dass Apple und Google auch Inhalte in vielen Fällen mitlesen können, mal ganz zu schweigen.
Der Einsatz der Play Services und das Erlauben dieser Domain bedeuten für mich das bewusste Wiedereinbinden eines der ganz großen NoGo’s von Google, nämlich die Auswertung meiner kompletten Kommunikation.

Das klingt sehr viel negativer, als es gemeint ist, aber zeigt einfach nur einen anderen Ansatz in Sachen IT Security. Meiner ist sehr restriktiv: Umstände sind entweder bewiesen sicher oder unsicher.

Das Thema Akku ist ein valider Punkt, ich komme allerdings auch ohne Play Services immer locker über den Tag, manchmal sogar über zwei Tage. Solange ich über den Tag komme, reicht mir das. Alles darunter wäre indiskutabel.

Aurora kann auch komplett anonym verwendet werden, das gefällt mir persönlich daran noch mal?besonders gut.

Ein erhöhter Akkuverbrauch durch alternative Apps ist immer ärgerlich, das kann ich gut verstehen.
Allerdings kann ich die Erfahrung nicht teilen. Ggf. bereits behoben oder meine Wahrnehmungschwelle ist da toleranter!?

Ich nutze Aurora auch auf einem anderen Smartphone und mit dem anonymen Account habe ich immer wieder Probleme. Aber ich habe einen Account mit Wegwerfadresse und damit funktioniert er dann zuverlässig.

@mabu ich stimme dir bei allem zu und ich würde liebend gerne auf alles von Google verzichten, 100%ig, daher erlaube ich auch grundsätzlich (bis auf die Google-Services, leider) keinerlei Verbindungen zu Google. Wenn eine App dann nicht funktioniert, byebye, Pech gehabt. Es funktionieren aber tatsächlich alle, die ich nutze!

Beim Umstieg auf GrapheneOS war mein Ziel, Google komplett zu umschiffen. Auch auf meinem Linux-System habe ich dank asn_ipfire --iptables sämtliche Verbindungen zu Google (und anderen) gekappt. Bei GrapheneOS ist das ausschlaggebende Argument aber eben der Strombedarf.

Vielleicht plätte ich mal mein Android-System und versuche es nochmal, evtl kann ich ja auch dann durch das Unterbinden von Verbindungen am Strombedarf etwas herausholen. Aber gerade Signal war so unterirdisch! Komischerweise hatte Whatsapp keinen erhöhten Strombedarf. Bei Threema hatte ich da Polling aktiviert, alle 15 Minuten, aber dann kannst nicht angerufen werden, was auch kacke ist.
Mal schauen, eventuell probiere ich das mal.

Doofe Frage:

Warum wird noch WhatsApp genutzt, wenn man auf der anderen Seite komplett Googlefrei sein will?

1 „Gefällt mir“

Weil es eben Menschen gibt, mit denen ich in Kontakt bleiben möchte, die aber nur Whatsapp nutzen und auch nichts anderes nutzen wollen.

Mein Ziel ist es, mein Smartphone möglichst sicher und datenschutzfreundlich zu betreiben, ohne dabei in irgendeiner Art eingeschränkt zu sein. Auf Whatsapp bzw. genauer gesagt auf diese Menschen zu verzichten sehe ich dabei als Einschränkung.

Sehr sehr viele meiner Kontakte nutzen Threema oder Signal, daher nutze ich Whatsapp tatsächlich am wenigsten häufig unter den drei Messengern. Dank Contact Scopes und dem Entzug von sowohl Berechtigungen als auch Datenverbindungen kann man Whatsapp ja auch „klein“ halten.

2 „Gefällt mir“

Threema bietet jetzt einen eigenen Push-Service und Lizenzen für die F-Droid-Version können mit Bargeld bezahlt werden! :slight_smile:

Threema Push Service: „rein hypothetisch könnte jedoch das sogenannte «Push Token» (ein Identifikator, der auf die Ziel-App auf dem betreffenden Gerät verweist) dazu dienen, einen Zusammenhang zwischen einem gegebenen Threema-Nutzer und dessen Google-Konto herzustellen. Aus diesem Grund war es bisher bereits möglich, auf Threemas Polling-Funktion zurückzugreifen, statt Googles Push-Dienst zu verwenden.“ https://threema.ch/de/blog/posts/threema-push-de

Deshalb schrieb ich „hatte“, denn damals gab es den eigenen Push-Service von Threema noch nicht.

Gute Idee, ich wusste gar nicht, dass bei bei RethinkDNS haargenau einstellen kann dass eine App (z.B. Play Services) nur eine Whitelist an URLs (z.B. mtalk.google.com fuer Push-Benachrichtungen) haben kann.

Ist es des weiteren noch moeglich, dass man in RethinkDNS z.B. eine Verbindung von Play Services zum Internet nur ueber Orbot (Tor) oder Wireguard (VPN) erlauben kann ohne dass andere Apps davon betroffen sind?

Dazu würde ich eher ein neues Thema eröffnen. Ich weiß das persönlich leider nicht und passt auch nicht in meinen Anwendungsfall.

Etwas peinlich ist es mir, aber ich habe heute Morgen festgestellt, dass RethinkDNS ja auch Wildcards unterstützt! Das macht die Sache natürlich noch weitaus angenehmer! Jetzt erlaube ich z.B. für Threema einfach *.threema.ch usw. Natürlich muss man damit sorgsam umgehen. Z.B. bei Whatsapp kann man natürlich auch *.whatsapp.net erlauben, aber dann erlaubt man auch dit.whatsapp.net, also die Erfassung von Telemetriedaten. Das kann man dann aber auch gezielt verbieten.

Ich bin jetzt wieder auf Aurora Store gewechselt. Dort erlaube ich jetzt via Wildcard *.gvt1.com. Bzw. eigentlich könnte ich da alles erlauben, weil die App nur wirklich nötige Verbindungen eingeht. Diese Wildcard wäre aber auch eine Option für den Play-Store, weil zumindest in meinem Testzeitraum über diese URLs nur die Apps heruntergeladen wurden.

Noch zum Abschluss, ich habe vor 3 Tagen mein Smartphone versehentlich auf 85% geladen (so weit lade ich es eigentlich nie) und heute Morgen habe ich es bei 48% wieder eingesteckt. Hammer!!!

Kurze Frage hier zu:

  1. Brauchen beide Apps die Netzwerk-Erlaubnis? Oder würde eins reichen, wenn es nur um die Push-Benachrichtigungen geht?
  2. Kann man android.googleapis.com weglassen wenn man den Play Store nicht braucht sondern nur Push-Benachrichtigungen?

Die einzigen Apps, die sich zu Google-Servern verbinden dürfen, sind eben der Play-Store und die Play-Dienste.

Das bringt dir jar nischt. Die Apps verwenden die Play services ja für diese Verbindung. Alle Apps auf Android können mit einander kommunizieren, egal ob Sandbox oder nicht. Deswegen: Shelter fürs Arbeitsprofil oder für Paranoide ganze Android Profile.

Du kannst die Play sachen auch nur im Arbeitsprofil installieren, so mache ich das. Brauche sie aber gar nicht, also wieder deaktiviert.

Auch kann jede Android app:

  • Geräte ID lesen und genau identifizieren
  • alle Apps lesen
  • mit allen Apps auf freiwilliger Basis kommunizieren
  • von selber starten (etwas das ich nicht verstehe)

Ansonsten sehr cooles Setup! Ich würde nicht meine ganzen Pushnachrichten über Google laufen lassen wollen, aber diese Akkulaufzeit ist schon beeindruckend.

Wäre cool wenn wir dazu ein Git* repo machen könnten, und dort die benötigten Server (mit *) je App sammeln können.

Zu 1.: Wenn du einer der beiden die Netzwerk-Berechtigung entziehst, entziehst du sie automatisch auch der anderen. Die beiden Apps teilen sich das.

Zu 2.: Ja. Ich hab den Google-Play-Store deaktiviert und nur mit mtalk kommen die Nachrichten sauber durch.

@Seppl:
Ok klar, es ist und bleibt ein Kompromiss, aber die Gründe, warum ich die Play-Dienste drauf lasse, habe ich ja dargelegt. Wie immer im Leben: Kompromiss.

Es ist natürlich auch schwierig, genau zu wissen, was alles über mtalk.google.com übertragen wird, dann auch von anderen Apps, was die sich darüber potenziell erschleichen. Da müsste man dann ähnlich ran, wie Mike das immer macht.
Ich halte die Wahrscheinlichkeit aber ehrlich gesagt für verschwindend gering, dass da dann letztlich alles, was bei Otto-Normalo so übertragen wird, über mtalk.google.com geleitet wird. Geben sich die Entwickler dafür extra Mühe, wo doch fast 100% der Smartphones einfach alles rausschicken?
Wäre das eine Erklärung dafür, warum diese Apps so aufgebläht sind? :wink:

Das Arbeitsprofil wäre noch ein Experiment wert, ja. Andererseits verwende ich fast ausschließlich Apps aus F-Droid, die von Haus aus sicherlich nichts mit den Play-Diensten austauschen. Es würde mir glaub nichts bringen.

Hm, so ein Git-Repo wäre nicht schlecht, aber bei manchen Apps ist das so ne Sache. Z.B. bei der Bahn-App (ja ich weiß, dieses verschissene Ding) hat Mike eine Liste angegeben, die laut seiner Aussage ausreicht. Stimmt aber nicht für alle, ich hab da mehr URLs erlauben müssen, damit ich an jedes Feature herankomme, das ich brauche. Andere wollen aber weniger damit machen und wollen dann auch weniger Verbindungen erlauben.
Will sagen: Einem Anspruch auf Allgemeingültigkeit gerecht zu werden mit so einem Repo, ist recht schwierig bis unmöglich. Man könnte aber natürlich Kategorien machen: von „funzt gerade so“ bis „alles funzt“. Das wäre wahrscheinlich machbar. Gibt es da dann aber bei manchen Apps womöglich regionale Unterschiede?
Aus meiner Erfahrung in den letzten paar Wochen (und dank der erst jetzt entdeckten Möglichkeit, Wildcards zu verwenden) würde ich sagen, dass es besser ist, wenn alle das für sich einstellen. Das dauert nicht allzu lange! Die App ist recht unübersichtlich, da stimme ich 100% zu, aber es geht und wenn man ein wenig Mühe investiert hat, kriegt man sehr schnell super Ergebnisse!

Ein Arbeitsprofil fuer Play Services ist eine interessante Idee. Zumindest fuer ausgewaehlte Apps, bei denen Benachrichtigungen nett sind, aber nicht anders gehen (z.B. Banking-App).

Meine Sorge ist dann aber, dass Apps, die an sich keine Play Services brauchen (z.B. Signal, Whatsapp) und im Hauptprofil installiert sind dann irgendwie erkennen koennen, dass im Arbeitsprofil die Play Services installiert sind, und dann versuchen darauf „umzuschalten“, mit dem Ergebnis, dass es gar keine Push-Benachrichtigungen mehr gibt?

Deine Sorge ist unbegründet, außer es gibt einen bösen Bug in Android, den Whatsapp ausnutzt. Ich würde sagen die Wahrscheinlichkeit dafür geht gegen null. Das Arbeitsprofil ist doch vom Design her genau dafür da, eine komplett abgeschottete Umgebung zu sein.

1 „Gefällt mir“

Ich weiß dass das Arbeitsprofil die Kommunikation zwischen den Apps verhindert. Ich mache mir nur Sorgen dass WhatsApp dann trotzdem irgendwie sehen kann, dass play services installiert sind (das hatte ich nämlich mal so gelesen) und dann seine Websocket-Verbindung abschaltet - selbst wenn es keine Verbindung zu Play aufbauen kann.