GrapheneOS und microG?

Ich hab ein paar Apps, die benötigen z.B. für die Push-Services entweder Google Services oder wenigstens microG. Jetzt habe ich verstanden, dass die PlayServices in GOS eingehegt sind (Sandboxed). Das ist natürlich eine gute Sache im Sinne der Protection, weil es die Services nun nur eingeschränkte Rechte haben.
Auf der anderen Seite bin ich aber zumindest für die Apps die die Push-Services oder was auch immer benötigt völlig transparent für Google - anders als mit microG (soweit ich verstanden habe).
Wenn das jetzt nur Apps wären die man alle paar Tage mal benötigt, kann man das auch die Services ein/ausschalten oder mit Profilen arbeiten (eins ohne, eins mit Services). Aber so ist es ja (zumindest im Falle von Push-Notifications - nur als Beispiel) nicht. Die werden 24/7 gebraucht.

Wir haben hier also eigentlich zwei sehr verschiede Fälle und Schutzmechanismen. Eins ist mehr Schutz, das andere mehr Datensparsamkeit. Daher die Frage, ob man nicht beides miteinander verbinden kann - also microG (am besten Sandboxed) in Graphene OS.

Sollte ich völlig falsch liegen mit meinen Annahmen, bitte um (laiengerechte) Aufklärung.

Nein, mit GrapheneOS wird das nicht möglich sein. Dafür muss das System Apps vorgaukeln dass MicroG in Wahrheit die Play Services sind.
Dafür bräuchtest du schon einen Fork, der das eventuell implementiert - das ist dann aber nicht mehr GrapheneOS.

Auf GrapheneOS ist deine einzige Option die Play Services, oder ein „gänzlich google-freies“ Gerät.

Das wärst du auch mit MicroG:
Auch mit MicroG wird ein (bzw. mehrere) „Pushtoken“ bei Google registriert. Diese allein sind schon einzigartig.
Anhand dessen kann Google auch ein Schattenprofil anlegen, in der jede Nachricht die über Push versandt wird (bei vernünftigen Apps zum Glück nur ein „Aufwecksignal“), jede IP-Adresse über die eine Verbindung zum Google Server aufgebaut wird, der Startzeitpunkt der Verbindungen, etc. protokolliert werden.

Was kann erhoben werden?

Die Play Services können momentan alle Apps im jeweiligen Nutzerprofil in dem sie installiert sind auslesen, ebenso den Akkustand, verwendete Menge des Speicherplatzes, und andere Nutzungsdetails des Gerätes versenden - jedoch sind Zugriffe auf „Hardware-Identifier“ des Gerätes eingeschränkt, laut GrapheneOS: https://grapheneos.org/faq#hardware-identifiers

Ob das wichtig für dich ist, wenn der Webbrowser (Vanadium) keine korrekten Werte für den Akkustand, Speicherplatz, … liefert, und auch keine Liste der installierten Apps für Webseiten auslesbar sind - jedoch für andere Apps auf dem selben Gerät?

Auch könntest du hierbei daran denken, ob es sich für Google lohnt, extra Code zu pflegen und unterzubringen, wenn sie mehr Daten bereits durch die privilegierten Play Services auf fast allen anderen Android Geräten erhalten.
Und wie verwertbar diese überhaupt sind, wenn du ansonsten eher datenschutzfreundliche Apps verwendest.
Dein Anruf-Protokoll wird jedenfalls mit GOS, auch trotz Play Services nicht übertragen - mindestens sofern du keine Berechtigung hierfür erteilst. Das soll wohl unter Stock-Android der Fall (gewesen?) sein.

Freiwillig geteilte Daten:

Möglich ist, dass Apps oder du mehr Daten mit Google Diensten teilen, die eventuell dann bei Google landen, als wenn du MicroG verwendest.

FIDO, U2F, PassKeys ist bspw. auf einen aktuellen Android meist über die Play Services implementiert, und (noch) gar nicht (richtig) im Basissystem implementiert.

Du kannst auch, Stand jetzt, keine Apps von der freiwilligen Kommunikation mit den Play Services abhalten, auch wenn das geplant ist - aber das Feature ist erst fertig, wenn es fertig ist.

Da viele Google Funktionalitäten jedoch mit „Programm-Bibliotheken“ von Google in den Apps von den Entwicklern selbst eingebunden sind, können diese von sich aus, ohne Play Services oder trotz MicroG, einfach Verbindungen zu Google Servern aufbauen, und Daten übertragen (so z.B. Google Firebase).
Dagegen helfen dann (Firewall) Apps wie RethinkDNS - welche noch immer ein paar Probleme bei der Verwendung mit VPNs hat.

Schlussendlich, sollten deine Apps wirklich Google für Push Benachrichtigungen benötigen¹, oder du dir wünschen, dass nur eine Verbindung dafür aufrecht erhalten wird, um den Akkuverbrauch zu verringern, wäre deine einzige Option auf GrapheneOS die Play Services von Google.
Sicherheitstechnisch ist das wohl auch „besser“, weil die MicroG Implementierung wohl nicht so toll sein soll, und veraltete Programm-Bibliotheksfunktionen in Apps angeblich wohl durch neuere aus den Play Services ‚ersetzt‘ werden können (Quelle? Das habe Ich drüben im GOS-Forum öfters gehört, aber nie eine gesehen).

¹ Apps wie Threema, Signal, WhatsApp, Telegram, … benötigen keine Play Services (außer letzterer zur Registration), da sie eigene Funktionen implementieren. Die Akkulaufzeit könnte mit Play Services jedoch erhöht werden - gerade, wenn du mehrere dieser Apps verwendest.
Die Apps der Sparkassen z.B. benötigen diese schon, wenn du Push Benachrichtigungen dieser brauchst.


Ich verwende Google Play tatsächlich auf meinen GOS Handy, zwar in einen separaten Profil um es von wenig genutzten Apps abzuschotten, welche keine Google Dienste benötigen aber verwenden würden, und hauptsächlich zum installieren von Play Store Apps.
Würde jedoch - bei hauptsächlich FOSS Apps - diese auch ggf. einfach im Hauptprofil laufen lassen - gerade wegen der handvoll Fehler die die Nutzungserfahrung mit Nutzerprofilen trüben.

Dabei dann jedoch eine Verbindung über Wireguard zu einen VPN Dienstleiter offen halten, und den gesamten Netzwerk-Datenverkehr des Gerätes über diesen senden (aufgrund von Mitnutzern im heimischen WLAN), oder ausschließlich Mobilfunk verwenden. Betreibe aber auch kein ernsthaftes Surfen am Mobilgerät, welches kritisch/relevant genug zum Schutz vor IP basiertem Tracking gegenüber Google wäre.

Langer Post, entschuldige bitte.
Edit: Danke an @Mynacol für die Kritik zu meiner Aussage, dass alle Apps im System ausgelesen werden können! Stimmte so nicht, das ist nun korrigiert.

3 „Gefällt mir“

@Astolfo Toller Zusammenschrieb, das ist auch mein Kentnissstand. Nur eine eventuell missverständliche Stelle habe ich gefunden:

Die Play Services können auf GrapheneOS, wie alle Apps, die Liste aller installierten Apps in dem entsprechenden Nutzerprofil auslesen. Die privilegierten Play Services auf anderen Systemen können tatsächlich alle Apps aus allen Nutzerprofilen sehen, in GOS meines Wissens nur die im jeweiligen Nutzerprofil.

1 „Gefällt mir“

Es gibt eine Menge Google Apps, die auch offline funktionieren (Translater, Maps, Sprachausgabe) nachdem man Sprach oder andere Daten runtergeladen hat. Jetzt wurde mir gesagt - egal ob due dem Translater die Internetverbindung verbietest - via PlayServices kann er trotzdem ins Netz. Das finde ich schräg, weil warum kann man sonst Apps die Permission nehmen oder eine Firewall oder was immer einrichten. Das würde ja alles gar nichts nützen. Also vielleicht gehen paar Byte von den Playservices hin und her, aber doch nicht zum Beispiel der Text der zu übersetzen ist oder Fotos für den magischen Radierer oder so… Oder?

Wenn du sagst du installierst in einem Extra Profile Apps aus dem Playstore (was wegen der Prüfung sicherer erscheint als über Aurora), dann musst du aber auch einen Account haben oder - ohne geht das ja nicht. Das würde ich gern vermeiden.

Das mit dem Extra Profil klingt ja soweit gut. Aber angenommen man hat ein Google-Profil in dem man dann alle „kritischen“ und wegen Push auch Messanger hat - kommt die Notification dann auch in das Owner Profil durch? Dann muss man aber zum Nachrichten lesen immer hin und herschalten.

Ja, so funktioniert Android und nahezu jedes andere Betriebssystem. Prozesse können bei Unix-Systemen über mindestens 100 verschiedene Wege Daten untereinander austauschen. Bei Android ist das soweit eingehegt, dass Kommunikation zwischen zwei Apps nur erlaubt ist, wenn die beiden Apps es jeweils erlauben.
Diese Kommunikation zwischen Apps ist in vielerlei Hinsicht nützlich, so funktioniert das „Teilen“ oder „Drucken“ Menü darüber, und Apps im Zusammenhang mit Nextcloud können sicher über die Nextcloud-Dateien App Zugriff auf das dort verfügbare Konto erhalten (womit aller Netzwerkverkehr auch über die Nextcloud-Dateien App läuft soweit ich weiß). Auch nutzen die Google Play Dienste dieses Feature ständig, z.B. bei der Lizenzprüfung, In-App-Käufen oder bei der unliebsamen Play Integrity.
Das bedeutet entsprechend auch, dass eine App ohne Internet-Berechtigung Daten an eine andere zusammenarbeitende App geben kann, die dann ihren Netzwerkzugriff zur Übermittlung nutzt.

GrapheneOS plant, eines Tages ein neues „… Scopes“ Feature einzuführen, womit man limitieren kann, welche App welche andere sieht und Zwischenprozesskommunikation durchführen kann.

Das ist richtig. Zum App-Download aus dem Play Store braucht man einen Account. Bei Aurora Store wurde der halt von jemand anderem registriert.
Ich möchte erinnern, dass z.B. Push-Benachrichtigungen keinen Account benötigen. Allein der installierte Play Store reicht aus (aber man soll ein mal im Play Store auf „Anmelden“ drücken, zur Initialisierung einiger Daten).

GrapheneOS bietet an, Benachrichtigungen anderer aktiver Nutzerprofile in dem aktuellen Profil anzuzeigen. Ein Wechsel ist jedoch notwendig, um die Benachrichtigung auch anzuschauen.
Als Alternative empfiehlt sich das „Vertrauliche Profil“, das fast wie ein zweites Nutzerprofil arbeitet, aber sich wie eine Erweiterung des Eigentümerprofils anfühlt.

Anfangs war ich begeistert von Graphene OS. Und es ist ja auch sehr gut in Hinsicht auf Härtung gegen Angriffe von aussen. Allerdings liegt mein Focus eher auf der Privatspähre. Und je länger ich darüber nachdenke, desto (potenziell) löchriger ist das sobald die PlayServices ins Spiel kommen. Um die (oder deren Umsetzung in MicroG) komme ich nicht herum. Aber wenn damit trotz Restrictionen in den Apps munter Daten zu wo auch immer hin gesendet werden, nur weil die PlayServices offen sind - ja wo ist da noch ein Schutz? Klar können die Kontakte die Kontakte lesen. Und auch wenn die keine Verbindung ins Netz haben dürfen - könnten sie (wenn ich das richtig verstanden hab) über die Playservices Daten (und womöglich auch die Kontakte selbst) weitersenden. Ich wäre jetzt der Meinung, dass das mit microG nicht passieren könnte, weil ja nur bestimmte wichtige Features implemtiert sind. (Klar microG hat andere offene Punkte - aber bleiben wir bei diesem mir wichtigen punkt).
Oder ist das alles Paranoia?
Und wenn Playservice die installierten Apps lesen kann - ja das ist doch ein fast 100% Fingerprint - niemand hat genau die gleichen Apps installiert!

AFAIK können das sogar alle Apps (in ihren jeweiligen Profilen).

Ja, es ist ein Fingerprint (außer man hat nur ein paar Standardapps installiert).

Du hast mit priviligiertem microG keine Vorteile, die die Nachteile gegenüber Sandboxed Play Services überwiegen.

Ich verstehe deinen Punkt nicht.

Das kann jede App.

Das jede App alle anderen Apps sehen kann finde ich bedenklich. Das war mir nicht klar.
Ob die Vorteile von microG die Nachteile aufwiegen ist sicher Ansichtssage. Wenn man auf die Playservices (oder deren Nachbildung) nicht verzichten kann ist man aus meiner Sicht bei dem Sandboxed sicherer und kompatibler, bei microG aber privater und weniger überwacht. Ich bin da kein Experte, aber so stellt sich das für mich da.
Das System zu härten macht sicher Sinn. Und man kann seine Spuren etwas verringern. Aber manchmal denke ich für mich, dass diese Hide and Seek nicht viel Sinn macht, da zwecklos. Ist das nicht nur eine Illusion?

1 „Gefällt mir“

Apps müssen dazu die Berechtigung QUERY_ALL_PACKAGES in der AndroidManifest.xml hinterlegen. Wenn du wissen möchtest welche App diese Berechtigung hat, hilft z.B. „Permission Manager X

  • Über das Menü Exclusion Filters auswählen
  • Exclude permissions not changeable → deaktivieren
  • zurück und auf die Lupe tippen
  • Lupe auf der linken Seite und Deep search aktivieren
  • Suche nach QUERY_ALL_PACKAGES

Letztendlich finde ich beides „schlecht“, denn so oder so werden Google Dienste bzw. Server genutzt. Ich mache um Google Dienste einen möglichst großen Bogen und verzichte schon seit Jahren lieber ganz auf Apps. Sollte es jemals dazu kommen, dass ich dennoch eine App „benötige“, würde ich lieber ein 08/15 Stock-ROM Gerät verwenden und dieses netzwerkseitig nach dem Whitelist-Ansatz isolieren.

1 „Gefällt mir“

GrapheneOS ist messbar sicherer als vergleichbare Systeme. Und das Schöne ist: Ich kann es meiner Familie geben, evtl. Play Store installieren und es funktioniert in fast allen Belangen wie ein normales Android. Es ist sehr komfortabel und funktioniert einfach (außer bei Randerscheinungen wie Play Integrity). Das ist ein Level an Schutz, den man nach der Installation ohne Arbeit bekommt. Ein Hide and Seek gibt es vielleicht darauf aufbauend je nach Apps, das System ist aber abgefrühstückt.

Rein Theoretisch hat (annähernd) jede App, die den Google Pushdienst (FCM) nutzt, bereits eine Softwarekomponente von Google enthalten. Das heißt theoretisch könnte jede dieser Apps egal ob mit Play Dienste, microG oder keins von beiden alle Informationen ausleiten, auf die diese App (mit Berechtigungen) Zugriff hat. Das passiert im Ansatz mit der Google-Werbebibliothek. Die funktioniert auch ohne Play Dienste und versendet sicherlich einige Nutzungsdaten zur Werbung.

Demgegenüber sehen wir praktisch, dass die Push-Bibliothek von Google nicht direkt unnötige Daten heraussendet. Die Play Dienste hingegen senden einige unnötige Geräteinfos an Google (evtl. Akku, freier Speixherplatz, allgemeine Geräteinfos wie das Modell und die Softwareversion), und microG sendet weniger dieser Daten an Google. MicroG könnte also in praktischen Begriffen datenschutzfreundlicher sein.

Demgegenüber beschädigt das Signature Spoofing bei microG die Sicherheitsmechanismen von Android. Du verlierst die lange Liste an Vorteilen von GrapheneOS, insbesondere die Sicherheitsgewinne und das privatsphärefreundliche System.
Mit dem „Vertraulichen Profil“ in Android 15 kannst du sehr komfortabel ein separates, aber integriertes Profil für alle Apps mit Google-Zwang nutzen, das limitiert die Liste an Apps, die Google zu Gesicht bekommt. Auch kannst du das Profil beenden, wenn du es nicht brauchst, was Verhaltenstracking stoppt. Damit ist Google soweit eingehegt, dass es für viele Menschen akzeptabel sein sollte und man dazu die Vorteile von GrapheneOS nutzen kann.

1 „Gefällt mir“

Könnte man meinen, ist aber wohl nicht so.

Auszüge aus https://discuss.grapheneos.org/d/7800-how-to-mitigate-identifiability-from-google-accessing-installed-apps/6 :

In fact, QUERY_ALL_PACKAGES does not provide the ability to do anything that cannot be done without it.

An app not defining a single query or having QUERY_ALL_PACKAGES doesn’t mean it can’t see the apps installed in the same profile

Those low-level permissions are not supposed to be visible to end users because they aren’t actually part of the privacy or security model

Ja, es gibt auch Apps, die sind automatisch immer sichtbar: https://developer.android.com/training/package-visibility/automatic

Dazu passend: Wer jetzt meint, den Play Store mit Aurora Store zu ersetzen, der sendet weiterhin vermutlich eine Liste aller(?) Apps an Google bei der Prüfung nach Updates, um wissen zu können, für welche der installierten Apps es Updates gibt. Auch übermittelt Aurora standardmäßig die allgemeinen Geräteinformationen (Modell etc.), wenn nicht das „Gerät Vortäuschen“ aktiviert wird. Das hat auch seine technische Nützlichkeit, um nur Apps angezeigt zu bekommen, die auch kompatibel mit dem eigenen Gerät sind.
Wer den Play Store nutzt (über Aurora oder direkt), sendet eine Liste der Installierten Apps im jeweiligen Nutzerprofil an Google. Entweder akzeptiert es oder wechselt zu anderen App-Quellen.

1 „Gefällt mir“

Ja, noch was, das man bedenken muss :slightly_frowning_face:

Ich verfolge ja einen Zwei-Geräte-Ansatz, indem ich die Datenkraken, die ich dennoch nicht missen will, auf einem extra Phone installiere, das meistens nur zuhause liegt.

Auf dem Pixel mit GOS habe ich aber auch den Aurora Store mit drei Apps, auf die ich unterwegs nicht verzichten will, im Standard-Profil. Auf deinen Hinweis hin überlege ich jetzt, die samt Aurora doch lieber in das geschützte Profil zu verfrachten. Das sind allerdings Apps, die ich sehr viel benutze, eine davon quasi ständig :thinking:

Evtl. bekommst du die Apps auch direkt vom Developer per Obtainium

Leider nein, die Apps sind nicht open source und nur per Play/Aurora Store erhältlich. Nur für solche nutze ich den Aurora Store überhaupt. Libby ist zB eine davon.

Das stört Obtanium nicht. Die Mindestvorraussetzungen von Obtainium ist eine Veröffentlichung als APK/XAPK des Developers auf einer (z.B. der eigenen Seite). Wer suchet, der findet: https://help.libbyapp.com/de-de/6279.htm (derzeit scheint aber der Link down zu sein, das müsstest du dem Support einmal melden, denn der weiß vermutlich nichts davon).

Libby bekommst du zusätzlich auch aus dem Amazon AppStore (da brauchst du dann natürlich ein Amazon-Konto).

Vielleicht können wir die durch den Aurora-Store zu aktualisierenden Apps mithilfe von Obtainium noch weiter reduzieren? Wie heißen die anderen Apps?

1 „Gefällt mir“

Interessant, das wusste ich nicht.

Danke.

Amazon meide ich genauso wie Google, ich kaufe da auch nichts.

Jetzt, wo ich das weiß, kann ich ja selber schauen. Die anderen wären Flora Incognita (APK nur per Mail), Magic Earth (habe ich auf die Schnelle auch nichts gefunden) und BirdUp (gibt es noch in einem mir bislang unbekannten Appstore).

If you use a degoogled phone, please use the direct apk link on our website(you need to send us an email to request the apk link).

Die App habe ich noch nicht verwendet, allerdings habe ich gute Erfahrungen mit whoBIRD gemacht.

1 „Gefällt mir“