Android Sandbox wirkungslos?

Guten Abend in die Runde!

Ich bin ganz neu im Thema Datenschutz und Sicherheit, wurde auf die ganze Thematik über eine Doku im ÖRR aufmerksam und bin dann irgendwann beim Kuketz-Blog gelandet.

Neben den ganzen „kranken“ (sorry für das Wort aber ist ja auch so) Datensammelzeugs bin ich auch etwas geschockt über den Artikel von Mike bzgl. den Android Virenscannern – dass die im Grunde nichts bringen (außer Tracker) da Android-Apps in einer Sandbox ausgeführt werden.

Und zu dieser Sandbox habe ich noch kurz eine Frage zum Verstehen. Ich hatte nämlich tatsächlich früher immer eine Anti-Viren-App auf dem Smartphone.

Guckt mal hier – das Teil untersucht ohne eine Berechtigung meine Apps (er fragt nur nach der Berechtigung für das Filesystem – was ich verneint habe).
Sollte die App das nicht können dürfen (sie ist ja selbst „eingesperrt“ + die anderen Apps ja auch), sprich die Sandbox wird umgangen und ist nutzlos?

Was denkt ihr darüber bzw. was steckt technisch dahinter?

Zitat aus dem Artikel:

Aus einem Bericht von AV-Comparatives aus dem Jahr 2019 geht hervor, dass Virenscanner-Apps nur sehr eingeschränkte Möglichkeiten haben (Sandbox), um schädliche Apps bzw. bösartiges Verhalten zu erkennen. Sie verwenden lediglich einfache Listen, in denen schadhafte Apps/APKs hinterlegt sind. Bei einem Scanvorgang wird dann einfach jede installierte App/der Datenspeicher auf dem Smartphone gegen diese Liste überprüft – bei einem Treffer wird eine Warnung ausgegeben. Aufgrund der Systemarchitektur von Android/iOS kann eine Virenscanner-App also nicht den Funktionsumfang bieten, den Nutzer von Desktop-Systemen kennen. Einer Virenscanner-App ist daher bestenfalls ein Placeboeffekt zu bescheinigen.

Die installierten Apps werden einfach gegen eine Liste abgeglichen. Nicht mehr.

Danke für Deine Rückmeldung, Mike.
Verstehe, das bedeutet aber dann, dass quasi jede App meine installierten Apps (ohne Berechtigungsabfrage bzw. Freigabe meinerseits) auslesen darf, richtig?

Falls ja; ist das dann nicht eine „vergessene“ Berechtigungsabfrage bzw. würde das nicht Sinn machen eine zu haben?

Du kannst hier (Achtung: google-Seite) bzw. hier nachlesen, wie das bei aktuellen Android-Versionen funktioniert.

Ohne deine App zu kennen, wird diese vermutlich einfach nur die Berechtigung „QUERY_ALL_PACKAGES“ besitzen. Ein Positivbeispiel einer App, die diese Berechtigung nutzt, ist Netguard. Im Play Store finde ich diese Berechtigung nicht in der Liste, auf der Exodus-Seite ist sie gelistet. Auch in F-Droid wird es angezeigt. Das heißt, dass du bei der Installation zustimmst - beim Play Store ggf. ohne dein Wissen. Ein Update, das die Berechtigung stillschweigend hinzufügt, ist auch möglich.

In meinen Augen: Ja. Ich begrüße es generell, möglichst viel manuell einstellen zu dürfen, weil die Berechtigungen auch bereits existieren. Da ich aber nur Apps installiere, denen ich traue oder den anderen Apps (auf GrapheneOS) die Netzwerkberechtigung entziehe, ist es mir nicht wichtig.
Ein Nachteil bei Berechtigungsabfragen ist aber, dass viele Apps dann nur teilweise oder, wenn sie schlecht programmiert sind, gar nicht mehr funktionieren. Das gibt’s aktuell schon bei Apps, die unbedingt Standortzugriff haben möchten, obwohl diese Berechtigung offiziell existiert.

Das ist zu allgemein gefasst.

Grundlegendes: Berechtigungen sind immer im Manifest einer App deklariert und müssen durch einen Prozess gerechtfertigt sein. Welche Berechtigungen wofür gebraucht werden, legt Google fest. Google legt auch fest, welche Gefahr von ihrer Benutzung ausgeht und teilt sie entsprechend in Kategorien ein.
Die sog. „gefährlichen Berechtigungen“ sind die, die von dir bestätigt werden müssen und auch von dir wieder entzogen werden können. Aber der größte Teil lässt sich nicht steuern. Dazu zählt auch QUERY_ALL_PACKAGES.

Das bedeutet aber nicht, dass jede App diese Berechtigung im Manifest deklarieren und nutzen darf. Wie die Links meines Vorredners zeigen, muss diese Berechtigung gesondert bei Google beantragt werden und wird nur genehmigt, wenn ihr Verwendungszweck glaubhaft dargestellt werden kann. Diese Prozedur entfällt nur dann, wenn in der Natur der Sache an sich diese Berechtigung begründet liegt, z.B. Virenscanner.

Google ist bewusst, wie sensibel diese Datenabfrage ist. Daher geht sie einher mit gesonderten Regelungen (User Data Policy) und bei Verstoß droht die sofortige Kündigung! Sie ist maßgeblich für Apps, die mit Android 11+ kompatibel sind und findet nur auf Geräten Anwendung, die mit Android 11+ betrieben werden. Die Policy tritt Dezember 2023 in Kraft.

In der App-Info deines Handy wird sie auch nicht angezeigt.
Exodus und F-Droid listen lediglich das gesamte Manifest, bzw. die darin enthaltenen Berechtigungen auf. Aber nicht all diese Berechtigungen werden auch im System dargestellt und der Play Store macht das auch nicht. Den Grund dafür kenne ich nicht. Es könnte sein, dass diese Berechtigung erst nach in Krafttreten der User Data Policies zum Vorschein kommt oder evtl. auch überhaupt nicht, da Google diese Berechtigung intern schon unter Beobachtung gestellt hat. Sie wird auch in der Dokumentation als „nicht empfohlen“ aufgeführt. Jedenfalls zeigt der Play Store nicht immer die vollständige Liste aller Berechtigungen laut Manifest an.

Sie kann und wird hier nicht umgangen. Es gibt ein Verzeichnis, in dem für jede App bei Installation ein Ordner angelegt wird. Dieser Ordner wird dann für alle Appdaten der jeweiligen App genutzt. Dieser Ordner ist ausschließlich für diese eine App und niemanden sonst im System zugänglich. Weder für Google oder irgendeinen Systemdienst. Die Appdaten sind dadurch stets geschützt und können nicht gelesen werden. BTW: Daher gibt es auch kein vollumfängliches Backup bei Android. :wink: Eine App könnte immer nur sich selber, aber nicht die anderen sichern.
Wie du siehst, beziehst sich das Sandbox-Prinzip nur auf die Appdaten. Diese werden durch den Virenscanner auch nicht ausgelesen. Er weiß nur, welche Apps installiert sind. Das ist alles.

2 „Gefällt mir“

Zumindest in der aktuellen Version unter GrapheneOS wird es angezeigt, wenn unter „App info“ auf „Permissions“ und dort bei den drei Punkten auf „All permissions“ geklickt wird. Hier ein Beispiel der App-Info des Neo-Stores:

Mit Android 11+ wird die Berechtigung angezeigt, darunter nicht. Sowohl im Play Store als auch in der App-Info.

Android 9:

Android 12:

Also bei Android 12 steht es auch in der App-Info, hab nur keinen Screenshot.

Wow, vielen lieben Dank an euch allen für die tolle Erklärung!
Das hat mir echt sehr weitergeholfen :+1: