AppStores und GrapheneOS: F-Droid, Sanboxed Play Store, Aurora - oder Privacy vs. Securitiy?

Hey,

in der GraoheneOS Community wird spätenstens seid den Sanboxed Lösungen für Play Services und Play Store empfohlen, als App Store möglichst den Play Store zu nutzen.

Insb. mit F-Droid (F-Droid Repository) werden dagegen Sicherheitsrisiken assoziiert, etwa weil Updates teilweise verzögert bereitgestellt werden oder weil F-Droid alle Apps mit eigenen Keys versieht (was, soweit ich verstehe, bedeuten könnte, dass alle Apps aus dem App Store kompromittiert wären, sobald F-Droid selbst kompromitiert wäre).
Siehe dazu z.B. auch hier:https://wonderfall.dev/fdroid-issues/
Oder hier auf deutsch: https://curius.de/2022/02/f-droid-untergraebt-die-sicherheit-von-android/

Mich würde mal interessieren, wie eure Einschätzungen dazu sind, ob ihr den (sandboxed) Play Store trotz Google-Anbindung nutzt, wie ihr zu den aufgeführten Bedenken rund um F-Droid steht und wie’s mit dem Aurora Store aussieht.

  • F-Droid ist für mich bisher eigentlich erste Wahl, wenn ich eine App suche → Open Source und googlefrei.
    Oben angeführte Sicherhheitsprobleme zu F-Droid kann ich zwar nachvollziehen, deren tatsächliche Bedeutung aber nicht so wirklich einschätzen.
    Hier im Blog wird F-Droid ja generell empfohlen, siehe z.B. hier (allerdings von 2018): https://www.kuketz-blog.de/android-kann-man-f-droid-vertrauen-bzw-ist-der-app-store-sicher/
    F-Droid alleine reicht mir allerdings nicht, da ich eine gute Hand voll Apps nutze, die es nur im Play Store gibt. Auf F-Droid könnte ich dagegen schon verzichten, weil es die meisten Apps auch im Play Store gibt

  • Sandboxed Play Store ist mit Blick auf Sicherheit die Empfehlung von GrapheneOS (siehe etwa in den GrapheneOS FAQ) und der direkte Zugang zu den Apps des Stores. Dies erfordert aber, den Play Services Internetzugriff zu gewähren. Durch die Sandbox werden die Play Services dabe ja weitgehen beschränkt (kein Zugriff auf Kontakte, GPS etc.). Sie kommunizieren aber doch direkt mit Google und können sich vorher mit anderen Apps „austauschen“. Was genau da ausgetauscht wird, ist nicht einsehbar, siweit ich weiß.
    So oder so holt man sich mit dieser Methode trotz GrapheneOS wieder Google auf’s Smartphone.
    Aber ist das mit der Sandbox überhaupt ein großes Problem und überwiegen die Sichherheitsvorteile?
    Und ist die „Sicherheitsakrchitektur“ des Play Stores F-Droid wirklich vorzuziehen?

  • Als Alternative zum Play Store gibt es noch den Aurora Store. Hier gibt es allerdings keine automatischen Updates wie im Play Store, im anonymen Modus nutzt man geteilte Accounts und mir werden auch nicht immer die neuesten App-Versionen angezeigt, siehe hier: https://www.kuketz-forum.de/t/aurora-store-zeigt-nicht-die-neuesten-updates-von-apps-an/902

Ich würde mich über ein bisschen Diskussion hier zum Thema freuen.
F-Droid trotzdem nutzen?
Sandboxed Play Store trotz Google-Anbindung nutzen? Oder Aurora als Alternative?

Schon mal vielen Dank für eure Rückmeldungen und viele Grüße

1 „Gefällt mir“

Bei mir laufen die Googel Play services in der Sandbox ohne Internetzugang. Eigentlich nur wegen der eSim.
Und Apps die Googel Play services ( 2 Apps) vorausetzen, laufen in einem Extra-Profil mit Netgurad. Ich nutze eigentlich nur F-Droid und Aurora- Store anonym.

In dem zweiten Link gibt es den Satz

bei denen sich Datenschutz und Sicherheit in die Quere kommen

Meine Sicht darauf: Es kommt darauf an …
was einem wichtig ist und was das Bedrohungsmodell ist.

Zudem gibt es einige Punkte in dem Artikel, die zwar richtig sind, aber eher ein organisatorisches Problem darstellen als direkt eine Bedrohung. Bspw. mit der Ziel-SDK für Apps.

Soweit ich den Text von GrapheneOS richtig verstanden habe, ist dies nur für das Setup und nicht für den Betrieb erforderlich

1 „Gefällt mir“

oder weil F-Droid alle Apps mit eigenen Keys versieht

Das ist das übliche Prozedere. Derjenige, der eine Anwendung baut, signiert.

F-Droid holt sich den Quellcode, baut die APK und signiert diese mit dem F-Droid Key. Der Entwickler kann die APK auch selber bauen, mit seinem Key signieren und dann irgendwo veröffentlichen, z.B. GitHub Repository.

Im Playstore funktioniert das ähnlich: Der Entwickler baut die App, signiert sie mit seinem Key und lädt die APK dort hoch. Neuerdings müssen die Entwickler ihren privaten Key dort ebenfalls hochladen. Einen solchen Key in der Cloud zu halten, ist für gewöhnlich keine gute Idee. Google wirbt zwar damit, dass der Bereich dort besonders geschützt ist, aber mit Sicherheit hat das mMn nicht viel zu tun.

Ähnlich zu F-Droid funktioniert es übrigens auch mit Browser Erweiterungen. Der Entwickler lädt seine Erweiterung dort hoch und Mozilla bzw. Google signiert die Erweiterung mit den Mozilla-/Google-Keys. Im Amazon Appstore wird ebenfalls mit AWS-Keys signiert.

Durch die Sandbox werden die Play Services dabe ja weitgehen beschränkt (kein Zugriff auf Kontakte, GPS etc.).

Das hat speziell mit den „Sandboxed Playservices“ nichts zu tun, sondern die Standard-Android-Sandbox.

Aber ist das mit der Sandbox überhaupt ein großes Problem und überwiegen die Sichherheitsvorteile?

Die Playservices selbst sind unverändert. Der Unterschied besteht darin, dass sie nicht mit Systemrechten laufen. Um die Playdienste sollte man, wenn einem etwas an Privatsphäre liegt, einen großen Bogen machen. Nicht nur weil dadurch Daten vom Gerät abfließen können, sondern aus den Apps, die diese Dienste nutzen.

Ich persönlich bevorzuge F-Droid, weil ich weiß was in der APK ist. Ich kann den Build-Prozess einsehen und nachvollziehen. Diese Gewissheit habe ich mit Playstore/Aurora nicht, da APKs dort eine Blackbox sind. Im Playstore selbst fliegen immer wieder mal Apps auf, die „böse“ Dinge tun und dann entfernt werden - per Google Play Protect auch remote von den Geräten. Zusammenfassend halte ich den Playstore nicht für die vertrauenswürdigste Quelle, sondern eher als zweite oder dritte Wahl.

Hallo,

vielen Dank für eure Rückmeldungen! Für mich wirklich interessant.

Soweit ich verstehe, ist es ja auch bei den Linux Repos nicht anders, oder?

Aber ist es nicht wirklich problematisch, dass alle Apps dann von einer Quelle gebaut werden, also viele Apps kompromittiert wären, wenn in diesem Fall z.B. F-Droid Probleme hätte (hypothetisch)?
Wie weit wäre so etwas eigentl7ch pr9blematisch, wenn man aus der Repo nur Apps nutzt, die keinen Netzwerkzugriff haben?

Bzw. was wäre denn eine mögliche Verbesserung oder Alternative?
Vielleicht wirklich der Download via GitHub? Da wäre man je nach App ja weiterhin bei FOSS, müsste sich dann allerdings manuell um Updates kümmern.

Es gibt hier ja auch noch das IzzoOnDroid Repo. Wenn ich es richtig verstehe, werden hier direkt die APKs der Entwicklerinnen von GitHub genutzt, oder? Also Signatur der Entwicklerinnen, trotzdem Update via z.B. Neo-Store und FOSS. Klingt eigentlich super!? :slight_smile: Oder stimmt das nicht?

Noch zur eSim unter GrapheneOS: Ich glaube, man braucht die PlayServices auch, um die eSim zu verwalten, also z.B., wenn man sie temporär deaktivieren will.

Nochmal vielen Dank an euch und sorry für meine vielen Fragen.

Viele Grüße!

1 „Gefällt mir“

Wie schon gesagt ist bei einer solchen Frage das Thread-Modell. Dann kann man darüber hinaus weitere Fragen in Betracht ziehen:

  • Welchen Thread-Actors siehst du dir gegenüber und vor welchen möchtest du dich schützen?
  • Was ist mir wichtiger Sicherheit (langfristig) oder Datenschutz (kurzfristig)
  • Geht es vor allem anderen um die Vermeidung von Datenspuren bei Google?
  • Dann wäre eine weitere mögliche Frage, wie sehr vertraue ich den App-Entwicklern z.B. bei ihrer Veröffentlichung der Apps auf Github oder im PlayStore? (Bspw. bieten manche Entwickler wirklich nur im F-Droid Store eine komplett OpenSource und Tracking-freie Version ihrer Anwendung an)
  • Welche Quellen musst du „eh schon“ nutzen um bestimmte Anwendungen zu beziehen (bspw. Banking, Firmenapps …)
  • Dann wäre noch die Frage, bin ich bereit die Quellen zu mischen oder ist es dann schon egal?

Das lässt sich noch viel weiter vortsetzen.

Hast du richtig verstanden. Aber nicht wenn du nachträglich eine eSim aktivierst. Dann müsstest du neu flashen und da man kein root hat und demzufolge auch kein Titanium Backup oder Neo Backup nutzen kann, geht es nachträglich nur so.

Im Grunde ja, allerdings macht das jede Distribution etwas unterschiedlich: Digitale Signaturen im Paketmanagement (www.linux-magazin.de).

Problematisch ist vielleicht der falsche Begriff dafür. Ein gewisses Risiko verlorener oder gestohlener Schlüssel gibt es immer. Ein einzelner Key eines einzelnen Entwicklers hat zwar eine geringer Reichweite als der F-Droid Key, allerdings muss jeder einzelne Entwickler seinen Key sicher verwahren. Auf ein einzelnes Gerät mit 20 Apps bezogen, würde das bedeuten 1 Key vs. 20 Keys.

Direkt vom Entwickler wäre eine Alternative, aber dann fehlt ein Stückchen Transparenz.

Ja.

Kommt drauf an, was dir wichtiger ist. Wenn dir Transparenz wichtig ist, wäre F-Droid geeigneter. Wenn dir wichtiger ist wer etwas signiert und du bereit bist, dafür einen Teil der Transparenz aufgeben, dann ist Playstore/IzzyOnDroid geeigneter. Diese Abwägung kann dir kein Experte und kein Ratgeber abnehmen.

Ich habe mir auch so meine Gedanken zum F-Droid Store gemacht.

Auf einem englischsprachigen Kanal wurde komplett von F-Droid abgeraten, da es sicherheitstechnisch sehr problematisch ist.

So wie ich das verstanden habe, wird das begründet damit, dass F-Droid immer x-Android-Versionen hinterher ist, also das SDK.

F-Droid hat wohl das SDK Version 25, was etwa Android 7 entspricht, ca. 6 Jahre alt ist.

Angeblich funktioniert es besser mit Neo Store.

Mit Neo Store funktionieren die automatischen Updates beispielsweise besser, da aktueller.

Beide, der F-Droid Store, als auch das Neo Store greifen auf die F-Droid App Repository zurück.

Ein weiterer Kritikpunkt ist, dass bei F-Droid (F-Droid App Repository) die Programme nicht von den Entwicklern signiert werden, sondern von F-Droid.

Ebenfalls habe ich es so verstanden, dass die Entwickler von Programmen dadurch teilweise eine extra Update-Version für F-Droid entwicklen müssen, damit dieses mit der F-Droid Repository funktioniert.

Aus den Gründen bietet angeblich Signal, ihre App nicht über F-Droid an.

Aber gerade das kann doch auch das „Gute“ sein. Ich muss „nur“ F-Droid vertrauen und nicht den ganzen Apps, da F-Droid signiert und nicht die Anbieter der Apps?!?

Die erste Alternative wäre somit Neo Store, aber noch in Verbindung mit der F-Droid App Repository.

Um komplett unabhängig zu sein, wäre es wohl das Beste, die Apps direkt von GitHub zu installieren.

Informationen über Updates müsste über einen RSS feed Reader erstellt werden.

Wie ist Eure Meinung dazu?

  1. Weiterhin F-Droid Store mit der F-Droid App Repository?

  2. Neo Store mit der F-Droid App Repository?

  3. GitHub in Verbindung mit einem RSS Reader?

Ich finde das eine gute Zusammenfassung. Allerdings können wir dir leider bei deiner Einschätzung nicht helfen, da wir nicht deine Prioritäten und dein Trhread-Modell kennen. Vielleicht helfen dir die oben aufgeführten Fragen:

https://www.kuketz-forum.de/t/appstores-und-grapheneos-f-droid-sanboxed-play-store-aurora-oder-privacy-vs-securitiy/917/6?u=nr845h

1 „Gefällt mir“

Also ich fände Sicherheit und usability wichtig.
In Sachen usability wäre somit GitHub in Verbindung mit dem RSS Reader raus.
Spricht irgendetwas gegen den Neo Store?

Wenn für dich vor allem Sicherheit und Usability wichtig ist, wäre auch der Play-Store eine Option.

Ich verwende auch NeoStore mit dem F-Droid Repository (beside others) ich hab aber auch kein Problem damit aurora-store zu nutzen.

Mein Fokus liegt aber beim Quellenbezug auf Datenschutz und nachgelagert erst die Sicherheit.
Meine Reihenfolge ist:

  1. F-Droid Repository
  2. Anbieterspezifisches Repository (z.B. für Tor Browser …)
  3. Izzys Repository (entspricht den APKs von Github)
  4. Play Store via Aurora Store

Vielen Dank für Deine Antwort.
Genau so, werde ich das machen.
Der Play Store ist sooo weit weg gewesen, auf die Idee bin ich gar nicht gekommen.
Aber klar, Nummer eins, keine Spuren zu Big Data. Daher aktuell mein Wechsel zu GrapheneOS.
Somit werde ich das so machen, wie Du.

Ob ein höhers SDK-Level sinnvoll bzw. notwendig ist, hängt u.a. von der jeweiligen App ab. Für einen Taschenrechner spielt es keine Rolle, welches SDK verwendet wird. Ein potentieller Angriffsvektor ist praktisch nicht vorhanden.

Eine App kann sowohl bei niedrigeren als auch höheren SDK-Level böse Absichten haben, daher sollte man sich eher Fragen, ob und wie vertrauenswürdig eine App ist. Wenn eine App nur die Dinge tut, die es tun soll, dann bietet ein höheres SDK-Level praktisch keinen Vorteil - aber auch keinen Nachteil. Vertraut man der App nicht, dann hat die App auf dem Gerät sowieso nichts verloren.

Apps die externe Daten empfangen und verarbeiten (Browser, E-Mail Clients, Messenger, usw.) profitieren allerdings durchaus von einer höheren SDK. Man muss aber auch ganz nüchtern sagen, dass im Playstore immer wieder Apps landen, die sich auf nicht-gerooteten Geräte Root-Rechte erschleichen oder massenhaft Daten sammeln und ausleiten, obwohl im Playstore ein höheres SDK-Level vorgeschrieben wird.

Speziell bei F-Droid ist es schwer (bzw. unmöglich) Sicherheit und Kompatibelität in Einklang zu bringen. Weltweit sind (aus unterschiedlichen Gründen) noch viele ältere Geräte am Markt, die technisch in hervorragendem Zustand sind, aber nicht mehr mit Updates versorgt werden.

(siehe oben) :wink:

Das ist auch meine Reihenfolge :+1:

Um sich über Updates unabhängig von F-Droid informieren zu lassen gibt es auch dafür eine App:
Obtainium via Android-Hilfe
Und das wäre dann eine brauchbare Alternative zu:

Es gibt auch noch:
OSS Tracker
https://apt.izzysoft.de/fdroid/index/apk/com.jroddev.android_oss_release_tracker

1 „Gefällt mir“