Mastodon IzzyOnDroid


Say thanks!
Privacy Links
↓ Your product here? ↓
Das Inoffizielle Android-HandbuchAndroid kennenlernen, Tipps & TricksDas Inoffizielle Android-Handbuch
Android kennenlernen, Tipps & Tricks
Für EUR 16,99 bei Amazon kaufen
Das Inoffizielle Android SystemhandbuchTiefer ins System einsteigenDas Inoffizielle Android Systemhandbuch
Tiefer ins System einsteigen
Für EUR 7,00 bei Amazon kaufen
Die besten Android-AppsDen Androiden austattenDie besten Android-Apps
Den Androiden austatten
Für EUR 5,00 bei Amazon kaufen
 

Permissions

Normalerweise sieht man eine Kurzbeschreibung der Permission (z. B. bei der Installation einer App). Die technische Bezeichnung taucht selten im Klartext für den Anwender auf – man kann aber z. B. auch einen Blick auf das Manifest werfen, und da stehen sie im Klartext.

Eine aktuelle Übersicht aller Permissions findet sich, in englischer Sprache, im Entwickler-Handbuch. Ein Wiki zum Thema, an dem sich jeder beteiligen kann, existiert ebenfalls, und zwar bei Stack Exchange (wiederum auf Englisch), eine weitere gute (englische) Übersicht mit zusätzlichen Sicherheits-Tipps findet sich bei OWASP. Bei Go2Android hat MaTT einen gut erklärten Artikel verfasst, der Teil der Serie "anDROID für Anfänger" ist.

Permission Groups

Zunächst einmal sind die Permissions in "Berechtigungs-Gruppen" eingeteilt. Besucht man die Playstore-Seite einer App, findet man diese "Permission Groups" als Überschriften bei den "Berechtigungen" wieder. Eine aktuelle Auflistung gibt es in der API Dokumentation; leider scheint diese Liste auch ständigem Wandel unterworfen. Da selbige in englischer Sprache gehalten sind, findet sich im Folgenden ein übersetzter (und mit Erklärungen ergänzter) "Abzug" – der „Wandel-bedingt“ nicht unbedingt aktuell ist. Das, worauf man wirklich achten muss, findet sich jedoch in den einzelnen Permissions.

Name Bedeutung Beschreibung
ACCESSIBILITY_FEATURES Barrierefreiheit Permissions für Features zur Barrierefreiheit.
ACCOUNTS Konten Permissions für den direkten Zugriff auf vom Account Manager verwaltete Konten.
AFFECTS_BATTERY Auswirkungen auf den Akku Permissions für direktem Hardware-Zugriff mit Auswirkungen auf den Akku-Verbrauch – Ruhezustand deaktivieren, Vibrator, Blitzlicht, u. ä.
APP_INFO App Informationen Permissions mit Bezug auf andere installierte Apps; beispielsweise das Abrufen laufender Anwendungen, oder das Beenden von Hintergrund-Prozessen.
AUDIO_SETTINGS Audio Einstellungen Permissions, die direkten Zugriff auf Lautstärke-Einstellungen ermöglichen.
BLUETOOTH_NETWORK Bluetooth Zugriff auf andere Geräte via Bluetooth.
BOOKMARKS Lesezeichen Permissions zur Verwaltung von Lesezeichen und Browserverlauf.
CALENDAR Kalender Alles, was auf den Kalender zugreift.
CAMERA Kamera Zugriff auf die im Gerät verbaute Kamera zum Aufnehmen von Fotos und Videos. Schließt auch Barcode-Reader mit ein.
COST_MONEY Kosten verursachen Permissions, die ohne Zutun des Anwenders Kosten verursachen können – etwa indem sie SMS verschicken, Anrufe tätigen, etc.
DEVELOPMENT_TOOLS Entwicklerwerkzeuge Diese Gruppe sollte eigentlich in Apps für Endanwender nicht auftauchen, hier gilt daher besondere Vorsicht. Jedoch lässt sich damit u. U. auch auf Dinge zugreifen, für die die passende Permission gar nicht angefordert wurde.
DEVICE_ALARMS Alarme Alarme setzen, das Gerät aufwecken, Tasks zeitlich planen (a la Cron)
DISPLAY Anzeige Permissions zur Manipulation von Display, Anzeige, UI.
HARDWARE_CONTROLS Direkter Hardware-Zugriff Direkter Zugriff auf die Gerätehardware – einschließlich Audio, Kamera, Vibrator, etc.
LOCATION Standort Alles, was für Zugriffe auf den aktuellen Standort benötigt wird.
MESSAGES Nachrichten Empfangen, Abfangen, Lesen, Schreiben, und Versenden von SMS/MMS etc., auch ohne Zutun des Anwenders.
MICROPHONE Mikrofon Zugriff auf das im Gerät verbaute Mikrofon.
NETWORK Netzwerk Beinhaltet sowohl den Zugang zum Internet, als auch die Anpassung von Netzwerkeinstellungen, Erstellung/Löschung von Zugangspunkten, etc.
PERSONAL_INFO Personenbezogene Daten Lesender und schreibender Zugriff auf Dinge wie Kontakte, Kalender, Profil-Informationen.
PHONE Telefonanrufe Anrufe automatisch tätigen, abfangen, beantworten – aber auch abfragen des Telefonstatus sowie Zugriff auf Identifikationsdaten wie IMEI, IMSI, etc.
SCREENLOCK Bildschirm-Sperre Permissions mit Bezug auf die Bildschirmsperre.
SENSORS Sensoren Zugriff auf Sensoren, Sammeln von Sensordaten
SOCIAL_INFO Soziale Informationen Permissions für den lesenden und schreibenden Zugriff auf Informationen im sozialen Umfeld: Kontakte, Anruf-Protokolle, etc.
STATUS_BAR Status-Bar Permissions zum Verändern der Status-Bar.
STORAGE Speicher Zugriff auf die SD-Karte, lesend und schreibend.
SYNC_SETTINGS Synchronisierungseinstellungen Für alles, was mit Synchronisation zu tun hat – wie beispielsweise das Ein- und Ausschalten der Synchronisation.
SYSTEM_CLOCK Systemuhr Zugriff auf die Systemuhr (Zeiteinstellung etc.)
SYSTEM_TOOLS System-Tools Laut API Beschreibung als "ungefährlich" eingestuft ("das Meiste wird der Anwender ohnehin nicht verstehen, und sollte daher mit dem Protection-Level 'normal' versehen werden, damit es ihm nicht angezeigt wird", aha). Ändern von Systemeinstellungen beispielsweise. "Schädliche Apps können so die Systemkonfiguration beschädigen."
USER_DICTIONARY Benutzerwörterbuch Für (Lese?) Zugriffe auf Benutzer-Wörterbücher. Tastaturen benötigen solches für die Auto-Korrektur.
VOICEMAIL Sprachmailbox Zugriff auf die Sprachmailbox des Anwenders.
WALLPAPER Wallpaper Festlegen von Hintergrundbildern u. ä.
WRITE_USER_DICTIONARY Benutzerwörterbücher schreiben Schreibzugriff auf Benutzer-Wörterbücher. Tastaturen benötigen solches für die Auto-Korrektur, um neue Begriffe hinzuzufügen.

Protection Level

Eine weitere Einteilung stellen die so genannten Protection Level dar (siehe Referenz zu Permission Element und protectionLevel). Vier verschiedene Ebenen legen dabei fest, wie mit den entsprechenden Permissions umgegangen wird (die Kürzel sind für die Referenz in der eigentlichen Permissions-Tabelle).

Der einer Permission zugewiesene Protection Level kann sich mit der Zeit ändern, und hängt nicht zuletzt von der verwendeten Android-Version ab.

Level Kürzel Beschreibung
normal no Niedriges Risko bzw. "Standard". Diese Permissions werden dem Anwender bei der Installation nicht extra "vorgeführt", sondern stillschweigend akzeptiert.
dangerous da Höheres Risiko: Zugriff auf persönliche Daten, oder Kontrolle über das Gerät mit potentiellem negativen Impakt für den User. Das sind die Permissions, die bei der Installation vom Anwender explizit bestätigt werden müssen.
signature si Der Herausgeber des Zertifikats muss mit dem des ROM-Zertifikats übereinstimmen. In der Regel heißt dies: Eine solche App muss vom gleichen Hersteller stammen. Derartige Apps sind meist bereits "vorinstalliert".
signatureOrSystem sy Wie "Signature"; alternativ darf es aber auch eine beliebige "System-App" sein. Da man eine solche nur mit root-Rechten installieren kann, ist dies für "normale Anwender" eher uninteressant.
development dv Das ROM muss mit einem Entwickler-Key signiert sein. Diese Permissions sind eigentlich nur für Entwickler/Entwicklung gedacht. I. d. R. scheinbar als "developmentOrSignatureOrSystem" zu verstehen.

Protection Levels können zusätzliche Flags erhalten. Auf diese wird hier nicht näher eingegangen. Eine Auswahl:

Flag Beschreibung
appop diese Permission steht in engem Zusammenhang mit einer App op zur Zugangskontrolle.
installer diese Permission kann automatisch zugewiesen werden an System Apps, die Packages (Apps) installieren.
instant diese Permission kann an Instant Apps vergeben werden.
pre23 Diese Berechtigung kann automatisch für Anwendungen erteilt werden, die auf API-Ebenen unterhalb von Build.VERSION_CODES.M abzielen (bevor Laufzeitberechtigungen eingeführt wurden).
preinstalled Diese Berechtigung kann automatisch jeder Anwendung erteilt werden, die mit dem System vorinstalliert ist (nicht nur privilegierten Anwendungen).
privileged Diese Berechtigung kann auch für alle Anwendungen erteilt werden, die als privilegierte Anwendungen im System installiert sind. Dieses Berechtigungsflag wird für bestimmte spezielle Situationen verwendet, in denen mehrere Hersteller Anwendungen in ein Systemabbild eingebaut haben, die explizit bestimmte Funktionen gemeinsam nutzen müssen, weil sie zusammen gebaut werden.
runtime diese Permission kann nur von Apps verwendet werden, welche für „Runtime Permissions“ geschrieben wurden (Android 6 und neuer)
vendorPrivileged diese Berechtigung kann privilegierten Anwendungen in der Herstellerpartition („vendor partition“) gewährt werden.

Die vollständige Liste findet sich in der Referenz für protectionLevel.

Permissions

Auch hier wieder ein Auszug einiger gerbäuchlicherer Kandidaten. Nochmals kurz zur Erklärung: "PL" bezeichnet den Protection Level. "Risk" steht für das mit der jeweiligen Permission verbundene Risiko:

Dieses Risiko muss jedoch auch immer im Zusammenhang mit dem Protection Level gesehen werden: Von einer "kritischen Permission" ist der Normal-Anwender (ohne root) beispielsweise überhaupt nicht betroffen, wenn der Protection Level "Signature" bzw. "SignatureOrSystem" heißt. Gelegentlich ändert sich eine solche Zuordnung mit neueren Android-Versionen (Beispiel: READ_LOGS wanderte ab Android 4.1 nach "sy"). Quelle für die Risiko-Klassen ist hier übrigens die bereits genannte Seite bei OWASP (Werte mit Bereichsangabe habe ich nach meiner groben Einschätzung bei einigen Berechtigungen ergänzt, die dort nicht aufgeführt sind), die meisten Protection-Level finden sich in einem Blog-Eintrag zugeordnet.

Ein weiterer Punkt ist der „Google Glue Level“ (Ǥ), der in den Hilfe-Seiten näher erklärt wird. Kurz gesagt beschreibt er, wie weit eine Permission die sie anfordernde App als von den Google Apps abhängig erkennbar macht: Gar nicht (0), eingeschränkte Funktionalität (1), oder gar Arbeitsverweigerung (2).

Name Bedeutung Gruppe Lv Ǥ Risk Beschreibung
ACCESS_ALL_DOWNLOADS Auf alle System-Downloads zugreifen Netzwerk si 0 Ermöglicht einer App den Zugriff auf alle Downloads im System über die /all_downloads/ URIs. Derzeit nicht für Drittanbieter-Apps verfügbar, was jedoch in Zukunft gelockert werden könnte.
ACCESS_ALL_EXTERNAL_STORAGE Zugriff auf den externen Speicher aller User Entwicklerwerkzeuge da 0 Erlaubt der App den Zugriff auf den externen Speicher (SD-Karten) aller eingerichteten User.
ACCESS_BACKGROUND_LOCATION Standortzugriff bei Ausführung im Hintergrund Standort da 0 3 Erlaubt einer App, auf Standortdaten zuzugreifen während sie im Hintergrund läuft. Sie benötigt dafür zusätzlich entweder ACCESS_COARSE_LOCATION oder ACCESS_FINE_LOCATION; hält sie keine dieser beiden, hat Background Location keine Auswirkungen.
Diese Berechtigung wird ab Android 10 benötigt, wenn Standortzugriff bei Ausführung im Hintergrund gewünscht ist. Außerdem muss der Anwender explizit um seine Zustimmung angefragt werden; diese kann dann entweder verweigert, nur bei Vordergrund-Ausführung oder generell gewährt werden. Wird sie gewährt, erscheint bei Anforderungen aus dem Hintergrund eine Benachrichtigung, über die sich der Zugriff auch wieder unterbinden lässt.
ACCESS_CHECKIN_PROPERTIES Zugriff auf Checkin Daten Standort sy 0 Erlaubt Lese- und Schreibzugriff auf die "properties" Tabelle der (Unix-Security) Checkin-Datenbank, um Werte für den Upload zu ändern.
ACCESS_COARSE_LOCATION Ungefährer (netzwerkbasierter) Standort Standort da 0 2 Apps mit dieser Berechtigung können auf Standortinformationen zugreifen, die durch WLANs und Mobilfunkmasten ermittelt werden. Dazu muss die Funktion „Standortdienste“ auf dem Smartphone aktiviert sein. Siehe auch ACCESS_FINE_LOCATION.
Ab Android 10 kann eine App den den Standort nur noch abfragen, wenn sie im Vordergrund läuft – es sei denn ihr wurde zusätzlich vom User die Berechtigung ACCESS_BACKGROUND_LOCATION gewährt.
ACCESS_DOWNLOAD_MANAGER Zugriff auf den Download Manager Netzwerk sy 0 Erlaubt der App den Zugriff auf den Download Manager, sowie die Nutzung desselben zum Herunterladen von Dateien. Böswillige Apps könnten diese Berechtigung ausnutzen um Downloads zu unterbrechen und auf private Informationen zuzugreifen.
Steht nur System-Apps zur Verfügung.
ACCESS_DOWNLOAD_MANAGER_ADVANCED Erweiterte Download-Manager Funktionen Netzwerk sy 0 Gibt der App Zugriff auf erweiterte Funktionen des Download-Managers. Böswillige Apps könnten dies nutzen, um Downloads abzubrechen und auf private Informationen zuzugreifen.
ACCESS_DRM Auf DRM-Inhalt zugreifen 0 Ermöglicht einer Anwendung, auf DRM-geschützte Inhalte zuzugreifen.
ACCESS_FINE_LOCATION Genauer (GPS-) Standort Standort da 0 3 Apps mit dieser Berechtigung können auf die genauen Standortdaten zugreifen, die das Gerät mit Hilfe von GPS, Funkmasten und WLANs ermittelt. Dazu muss die Funktion „Standortdienste“ und GPS auf dem Smartphone aktiviert sein. Hauptsächlich gedacht für Apps zur Navigation, zum Versehen von Fotos mit Standortdaten (wo wurde das Foto aufgenommen?) u. ä., wird der Zugriff aber häufig auch zur Anzeige ortsbasierter Werbung von Anbietern wie Admob (Google) genutzt. Ebenso kann eine mit dieser Berechtigung ausgestattete App auch Bewegungsprofile erstellen und ggf. „in die Cloud“ hochladen.
Ab Android 10 kann eine App den den Standort nur noch abfragen, wenn sie im Vordergrund läuft – es sei denn ihr wurde zusätzlich vom User die Berechtigung ACCESS_BACKGROUND_LOCATION gewährt.
Diese Berechtigung wird übrigens bis Android 12 auch benötigt, um einen localen WLAN-Hotspot zu erstellen.
ACCESS_LOCATION_EXTRA_COMMANDS Zusätzliche Standort-Befehle verwenden Standort no 0 2-3 Die Dokumentation ist hier wieder nicht sehr aussagekräftig, doch offensichtlich sollen zusätzliche Daten zum Standort erlangt werden. Was Bücher aus derart mangelhafter Dokumentation machen, zeigt ein Beispiel aus Android application development: The Android documentation doesn’t tell us which location commands are “extra,” so we’ll ask for all of them.
Einen Hinweis gibt die Dokumentation von Locus Map: Erlaubt das Deaktivieren des Status der A-GPS Daten und Erzwingen des Neuladens derselbigen. Das heißt Apps mit dieser Berechtigung könnten die Funktionsweise von GPS oder anderen Standortquellen beeinträchtigen.
ACCESS_MEDIA_LOCATION Standorte aus meiner Mediensammlung abrufen Speicher da 0 2 Wird ab Android 10 für den Zugriff auf Standort-Metadaten in Bilddateien („Exif Data“) benötigt. Hierbei handelt es sich nicht um eine „Runtime Permission“ – der Anwender wird also nicht gefragt: Jede App, die es verlangt, erhält die Berechtigung automatisch. Zumindest derzeit (9/2020) weist Google Play Store sie nicht einmal aus. Also besser vor der Installation prüfen – über die App-Listen hier, oder über Appbrain.
ACCESS_MOCK_LOCATION Falsche Standortquellen für Testzwecke Standort da 0 2 Fake Location (falsche Standortdaten vom System anfordern). Für Testzwecke gedacht (z. B. im Emulator); wird aber scheinbar auch benötigt, um ein externes GPS Gerät nutzen zu können.
Erfordert die Aktivierung der Option "Falsche Standorte zulassen" in Einstellungen → Entwickleroptionen.
ACCESS_NETWORK_STATE Netzwerkstatus anzeigen Netzwerk no 0 0 Informationen über Netzwerke: Besteht eine Verbindung, und wenn ja zu welchem Netzwerk? Ist Roaming aktiv? Wenn die Verbindung fehlgeschlagen ist: warum?
Guter Cop: Überprüfen der Verbindung, um größere Transfers auf WLAN zu beschränken.
Böser Cop: Nur in Verbindung mit anderen Permissions (z. B. Datensammlung). Kann auch genutzt werden, um z. B. anhand der IP-Adresse den ungefähren Standort zu Ermitteln, ohne Standort-Berechtigungen anzufordern.
ACCESS_NOTIFICATION_POLICY Permission für Apps, welche auf die Notification Policy zugreifen wollen. no 0 0 Ermöglicht einer App das Ändern der Notification Policy (Keine / Wichtig / Alle) – um z. B. auch im „Do not Disturb“ (bitte nicht stören) Modus „stören“ zu dürfen. Runtime Permission – d. h., muss mindestens einmal vom Anwender explizit bestätigt werden.
ACCESS_NOTIFICATIONS Zugriff auf Benachrichtigungen System-Tools sy 0 2 Erlaubt einer App Benachrichtigungen zu empfangen, auszuwerten und zu entfernen – einschließlich der von anderen Apps erstellten Benachrichtigungen.
Diese Permission ist System-Apps vorbehalten. Sie wurde mit Android 4.3 als Teil des neuen Notification Service eingeführt.
ACCESS_SUPERUSER Root-Privilegien nutzen System-Tools da 0 Eine mit dieser Permission ausgestattete App möchte root Privilegien nutzen. Diese bekommt sie (trotz der Permission) nicht automatisch zugeteilt. Jedoch lassen sich verschiedene "SuperUser Apps" derart konfigurieren, dass Apps ohne diese Permission generell keine root Privilegien zugeteilt bekommen. Bei allen anderen muss der Anwender dies zunächst "abnicken". Eine mit dieser Permission ausgestattete App erhält also nicht automatisch root-Rechte – sondern erst, wenn der Anwender dies in der "SuperUser App" explizit bestätigt.
Warnung: Eine mit root-Rechten ausgestattete App darf so ziemlich alles. Man sollte also sicher sein, dem Entwickler (und der Installations-Quelle) vertrauen zu können.
ACCESS_SURFACE_FLINGER Zugriff auf die API des "Surface Flinger" System-Tools sy 0 SurfaceFlinger ist Teil des Medien-Frameworks unter Android: Es stellt einen systemweiten "Oberflächen-Kompositor" bereit, der sich um das Rendering in Framebuffer-Devices kümmert - also Grafik, Grafik-Beschleunigung und so.
ACCESS_WEATHERCLOCK_PROVIDER Zugriff auf Huawei WeatherClock Daten no 0 Diese Permission erlaubt den Zugriff auf die vom Huawei Content Provider für WeatherClock bereitgestellte Daten. Details finden sich bei Android.SE.
ACCESS_WIFI_STATE WLAN-Status anzeigen Netzwerk no 0 3 Informationen über WiFi-Netzwerke: besteht eine Verbindung, und wenn ja zu welchem Netzwerk (inkl. MAC-Adresse & IP)? Welche Netzwerke sind verfügbar? Apps können damit zum Beispiel die Funktion „Download nur im WLAN“ anbieten, um das mobile Datenvolumen zu schonen. Analog zu ACCESS_NETWORK_STATE.
ACCESS_WIMAX_STATE WIMAX-Status anzeigen Netzwerk no 0 Informationen über WIMAX-Netzwerke: besteht eine Verbindung, und wenn ja zu welchem Netzwerk? Welche Netzwerke sind verfügbar? Analog zu ACCESS_NETWORK_STATE.
ACCOUNT_MANAGER Als Konto-Manager fungieren Konten sy 0 Berechtigt zur Interaktion mit Konto-Authentifizierern (für Systemanwendungen reserviert). Ein Account-Manager arbeitet im Hintergrund und sorgt dafür, das alles mit rechten Dingen zugeht.
Detaillierter beschrieben ist dies in einem Artikel bei Stack Exchange: What does permission “MANAGE_ACCOUNTS” mean?
ACTIVITY_RECOGNITION Aktivitäts-Erkennung Personenbezogene Daten no 1 Erlaubt einer App, periodische Updates zu Bewegungs-Aktivitäten des Anwenders zu empfangen – z. B. ob dieser geht, fährt, oder sich “still verhält”. Bereitgestellt werden diese Daten vom ActivityRecognitionClient, der Bestandteil der Google Play Services ist.
Die App erhält dabei (laut API Referenz) keine Koordinaten, sondern die ermittelte Aktivität – also etwa WALKING, RUNNING, oder STILL.
AD_ID Zugriff auf die Google Werbe-ID Personenbezogene Daten no 1 Die Werbe-ID (AD_ID) ist eine eindeutige, vom Nutzer zurücksetzbare ID für Werbung, die von Google Play Services bereitgestellt wird. Im Rahmen der Aktualisierung der Google-Play-Dienste Ende 2021 wird die Werbe-ID entfernt, wenn ein Nutzer die Personalisierung über die Werbe-ID in den Android-Einstellungen abbestellt. Durch die Beantragung dieser Berechtigung können Entwickler benachrichtigt werden, wenn ein Nutzer die Personalisierung abgewählt hat.
ADD_VOICEMAIL Sprachnachrichten hinzufügen Sprachmailbox da 0 Erlaubt einer App, dem System Sprachnachrichten (Sprach-Mailbox) hinzuzufügen.
adm.permission.RECEIVE Amazon Device Messaging Nachrichten empfangen Netzwerk 0 Erlaubt den Empfang von "Cloud 2 Device" Nachrichten, die vom Service der App gesendet werden (Amazon Device Messaging – analog zu GoogleCloudMessaging). Die Nutzung dieses Service verursacht logischerweise Datentraffic.
ANSWER_PHONE_CALLS Automatisches Annehmen von Anrufen Telefonanrufe da 0 Erlaubt der App, eingehende Telefonanrufe automatisch anzunehmen – also ohne Zutun des Anwenders. Gedacht ist dies zum Beispiel für Apps, die einen besonderen Screen zeigen wollen, wenn Telefonanrufe eingehen.
Dies ist eine Runtime-Permission; keine App erhält sie also, ohne dass der Anwender zuvor gefragt wurde.
ANT Mit ANT Sensoren verbinden Netzwerk 0 Erlaubt das Verbinden mit ANT und ANT+ Sensoren. Details dazu finden sich bei Wikipedia, und auf der ANT Android Seite.
ANT_ADMIN Verbindungen zu ANT Sensoren verwalten Netzwerk 0 Erlaubt das Verwalten von Verbindungen zu ANT und ANT+ Sensoren. Details dazu finden sich bei Wikipedia, und auf der ANT Android Seite.
AUTHENTICATE_ACCOUNTS Als Kontoauthentifizierer fungieren Konten da 0 Konto-Authentifizierungsfunktionen verwenden, Konten erstellen, Abrufen und Einstellen der zugehörigen Passwörter. In der Regel stellt eine solche App eine Schnittstelle zu einem neuen Dienst bereit, der nicht von Haus aus in Android integriert ist (Beispiel: Dropbox) – implementiert also die Art und Weise, wie bei diesem die Anmeldung funktioniert. Darüber hinaus kann die App u. U. auch einschränken, was eine aufrufende App mit dem Zugang anstellen darf. Weitere Details lassen sich u. a. diesem Artikel bei Stack Exchange entnehmen.
BACKUP System-Backup und Restore kontrollieren sy 0 Erlaubt es einer App, die Backups anderer Apps zu verwalten. Dies schließt beispielsweise ein, dem BackupManager mitzuteilen: dass sich Daten geändert haben (dataChanged()), alle Backups der App gelöscht werden sollen (clearBackupData()), oder dass Backups für die App (de-)aktiviert werden sollen.
BACKUP_DATA An System-Backup und Restore teilnehmen sy 0 Dies scheint eine alte (und nicht mehr genutzte) Permission zu sein. Der ursprünglichen Beschreibung nach konnte keine App ohne diese Permission am Backup/Restore teilnehmen. Eine Commit-Message vom Februar 2010 schreibt dazu: Jede App kann nun am Backup/Restore Prozess teilnehmen, ohne dafür irgend eine Permission zu verlangen.
badge.permission.READ Notification Badges lesen no 0 Die com.sec.android.provider.badge.* Permissions beziehen sich auf den sogenannten "Badge Provider", mithilfe dessen sich auf Home- und Lockscreen-Icons "Nummern" anzeigen lassen – etwa, wie viele ungelesene Nachrichten oder verpasste Anrufe auf einen warten. Nicht ganz klar ist, warum eine App diese lesen wollen sollte (könnte sie dem Service nicht einfach mitteilen: "2 mehr/weniger auf Icon X"?). Als Referenz sei auf diesen Artikel bei Stack Exchange verwiesen.
Es könnte sich um eine Berechtigung handeln, die sich lediglich auf Samsung Touchwiz bezieht ("sec" dürfte dann auf den "seclauncher" verweisen). Wie immer, sind die Quellen leider dünn gesät …
badge.permission.WRITE Notification Badges schreiben no 0 Ermöglicht es einer App, mittels des unter badge.permission.READ beschriebenem "Badge Service" Nummern auf Icons zu zaubern.
BATTERY_STATS Akku-Statistiken sammeln System-Tools sy 0 Erlaubt das Sammeln von (und den Zugriff auf) Akku-Statistiken. Akku-Widgets und andere Akku-Informations-Tools verwenden diese Permission.
BIND_ACCESSIBILITY_SERVICE Service zur Barrierefreiheit auswählen Barrierefreiheit si 0 3 Muss von einem AccessibilityService angefordert werden, um sicherzustellen, dass er ausschließlich vom System verwendet werden kann. Dies geschieht mittels eines Dialog-Fensters, in dem der Zugriff (einmalig) bestätigt werden muss. Eine derart privilegierte App kann sodann das aktuelle Bildschirmfenster sehen und Eingaben in anderen Apps machen. Eigentlich dient diese Funktion der Barrierefreiheit, zum Beispiel, um vorzulesen, was gerade auf dem Bildschirm zu sehen ist, oder um Eingaben per Sprachbefehl durchzuführen. Allerdings nutzen auch Spionage-Apps, Kindersicherungen und Schadprogramme diese Funktion, um den Inhalt geöffneter Fenster auszulesen.
BIND_APPWIDGET Widgets auswählen Personenbezogene Daten sy 0 Erlaubt einer App dem AppWidget-Service mitzuteilen, welche App auf die AppWidget-Daten zugreifen darf. Mit dieser Berechtigung kann anderen Anwendungen Zugriff auf persönliche Daten gewährt werden. Laut API-Referenz sollten nur sehr wenige Apps diese Permission benötigen.
BIND_DEVICE_ADMIN Bind Device Admin System-Tools si 0 Muss vom Receiver eines Geräteadministrators angefordert werden, um sicherzustellen, dass ausschließlich das System mit ihm interagieren kann.
Für weitere Details, siehe auch: What permissions are granted to an app with device administration privileges?
Apps mit dieser Berechtigung können den Bildschirm sperren, Muster oder Passwort ändern und das Gerät aus der Ferne auf Werkseinstellungen zurücksetzen. Solange eine App den Status „Geräteadministrator“ hat, kann sie zudem nicht deinstalliert werden. Den Zugriff brauchen zum Beispiel Sicherheits-Apps, mit deren Hilfe man sein Gerät im Verlustfall aus der Ferne löschen kann. Auch Apps zur Kindersicherung fragen nach der Berechtigung, um auf diese Weise den Bildschirm nach einer festgelegten Zeit zu sperren. Bösartige Apps können Euch mit dieser Berechtigung aus dem Gerät aussperren und sich vor Deinstallation schützen.
Wurde ab Android 10 aufgeteilt und besteht in dieser Form nicht mehr.
BIND_GET_INSTALL_REFERRER_SERVICE Get Install Referrer Service App Informationen no 0 Lässt den Entwickler wissen, we die Installation der App empfohlen hat – wenn eine Website auf die App im Playstore verlinkt hat, der Anwender diesem Link folgte, und die App von dort über den „Installieren“ Button installiert hat.
BIND_INPUT_METHOD Bind Input Method System-Tools si 0 Muss von einem InputMethodService angefordert werden, um sicherzustellen, dass ausschließlich das System mit ihm interagieren kann.
BIND_JOB_SERVICE Anwendung im Hintergrund ausführen System-Tools si 0 Diese Permission gibt Zugriff auf den JobService und erlaubt dem Android system, die Anwendung auf Anfrage im Hintergrund auszuführen.
BIND_NFC_SERVICE Bind NFC Service System-Tools si 0 Muss von einem HostApduService bzw. OffHostApduService angefordert werden, um sicherzustellen, dass sich ausschließlich das System mit ihm verbinden kann.
BIND_NOTIFICATION_LISTENER_SERVICE Bind Notification Listener Service System-Tools si 0 Muss von einem NotificationListenerService angefordert werden, um sicherzustellen, dass nur das System sich mit ihm verbinden kann.
BIND_PRINT_SERVICE Druckerdienste anbinden System-Tools si 0 Muss von einem PrintService angefordert werden, um sicherzustellen, dass nur das System sich mit ihm verbinden kann.
BIND_REMOTEVIEWS Bind Remote-Views System-Tools sy 0 Muss von einem RemoteViewsService angefordert werden, um sicherzustellen, dass nur das System sich mit ihm verbinden kann.
BIND_TEXT_SERVICE Bind Text-Service System-Tools si 0 Muss von einem Text-Service (z. B. Rechtschreib-Korrektur) angefordert werden, um sicherzustellen, dass nur das System sich mit ihm verbinden kann.
BIND_VPN_SERVICE Bind VPN Service System-Tools si 0 Muss von einem VpnService angefordert werden, um sicherzustellen, dass nur das System sich mit ihm verbinden kann.
BIND_WALLPAPER Bind Wallpaper System-Tools sy 0 Muss von einem WallpaperService angefordert werden, um sicherzustellen, dass nur das System sich mit ihm verbinden kann.
BLUETOOTH Bluetooth-Verbindungen herstellen Bluetooth da 0 1 Zugriff auf bereits „autorisierte“ Bluetooth-Geräte.
Apps, die typischerweise diese Permission benötigen. sind u. a. Sharing-Apps, Apps zur Dateiübertragung, sowie Apps zur Anbindung von Headsets, SmartWatches und drahtlosen Lautsprechern.
BLUETOOTH_ADMIN Bluetooth-Verwaltung Bluetooth da 0 2 Ermöglicht einer Anwendung, das lokale Bluetooth-Telefon zu konfigurieren, Remote-Geräte zu erkennen und eine Verbindung zu diesen herzustellen. Schließt u. a. auch das Autorisieren ("pairen") ein. Eine mit dieser Permission ausgestattete App darf also selbständig Bluetooth-Verbindungen aufbauen und etablieren – auch zu "wildfremden" Geräten.
BLUETOOTH_ADVERTISE Inhalte an Bluetooth-Geräte in der Nähe senden Bluetooth da 0 Erlaubt der App, Inhalte an Bluetooth-Geräte in der Nähe zu senden. Dies ist eine Runtime-Permission; die App muss also explizit die Erlaubnis des Anwenders einholen.
BLUETOOTH_CONNECT Mit gekoppelten Bluetooth-Geräten verbinden Bluetooth da 0 Erlaubt der App, sich mit gekoppelten Bluetooth-Geräten zu verbinden. Dies ist eine Runtime-Permission; die App muss also explizit die Erlaubnis des Anwenders einholen.
BLUETOOTH_PRIVILEGED Privilegierte Bluetooth-Rechte Bluetooth sy 0 2 Diese Permission erlaubt einer App das Pairen von Geräten ohne Interaktion mit dem Benutzer. Sie steht jedoch Drittanwendungen nicht zur Verfügung.
BLUETOOTH_SCAN Bluetooth-Geräte in der Nähe finden und koppeln Bluetooth da 0 Erlaubt der App, Bluetooth-Geräte in der Nähe zu finden und zu koppeln. Dies ist eine Runtime-Permission; die App muss also explizit die Erlaubnis des Anwenders einholen.
Für potentielle Implikationen auf die Privatsphäre siehe auch NEARBY_WIFI_DEVICES.
BODY_SENSORS Körpersensoren (Pulsuhr etc.) Personenbezogene Daten no 0 2 Erlaubt der App den Zugriff auf Daten von zusätzlich ans Handy angeschlossenen Sensoren (hier sind nicht die im Handy fest verbauten Sensoren gemeint) um zu ermitteln, was im Körper passiert. Ein Beispiel wären Pulsuhren bzw. Herzfrequenzmesser.
BRICK Brick System-Tools si 0 Für Funktionalitäten, die das Gerät unbrauchbar machen können. Extrem gefährlich – zum Glück aber für System-Apps reserviert, die vom Hersteller signiert wurden – und anscheinend nirgendwo verwendet (siehe Warum verlangen manche Apps zu viele Permissions?.
BROADCAST_CLOSE_SYSTEM_DIALOGS Broadcast zum Schließen offener Systemdialoge System-Tools sy 0 Erlaubt einer App den Intent ACTION_CLOSE_SYSTEM_DIALOGS zu broadcasten. Nicht für Drittanbieter-Apps gedacht. Wird bis Android 11 hauptsächlich genutzt, um einen ggf. offenen Benachrichtungsbereich („Notification Area“) zu schließen. Ab Android 12 deprecated.
BROADCAST_DATA_MESSAGE Broadcast von Datennachrichten an Apps Netzwerk sy 0 Kann aus dem Internet empfangene Daten-Nachrichten per Broadcast an Apps versenden, die dafür Listener registriert haben. Für System-Apps reserviert.
BROADCAST_PACKAGE_ADDED Broadcast Package Added System-Tools si 0 Erlaubt einer App das Verschicken von Broadcast-Nachrichten, dass ein App-Package hinzugefügt (installiert) wurde.
BROADCAST_PACKAGE_REMOVED Broadcast Package Removed System-Tools si 0 Erlaubt einer App das Verschicken von Broadcast-Nachrichten, dass ein App-Package entfernt wurde.
BROADCAST_SMS Broadcast SMS-Eingang Nachrichten si 0 Erlaubt einer App, Broadcasts für SMS-Eingang zu senden.
BROADCAST_STICKY Sticky Broadcasts senden System-Tools no 0 Erlaubt einer App, "Sticky Broadcasts" zu senden. Dies sind Broadcasts, die vom System gepuffert werden – so dass Clients diese Daten jederzeit abrufen können, ohne auf den nächsten Broadcast warten zu müssen.
Bei dieser Permission geht es darum, wie sich Apps untereinander verständigen, indem sie Intents verwenden. Gegenwärtig sind keine bösartigen Ausnutzungen dieser Permission bekannt.
BROADCAST_WAP_PUSH Broadcast WAP-Push Empfang Nachrichten si 0 Erlaubt der App das Senden von Broadcasts über den Empfang einer WAP-Push Nachricht.
Steht Drittanwendungen nicht zur Verfügung.
c2dm.permission.RECEIVE Daten vom Internet empfangen Netzwerk 1 Erlaubt den Empfang von "Cloud 2 Device" Nachrichten, die vom Service der App gesendet werden (GoogleCloudMessaging). Die Nutzung dieses Service verursacht logischerweise Datentraffic.
c2dm.permission.SEND Daten ins Internet senden Netzwerk 1 Erlaubt das Senden von "Cloud 2 Device" Nachrichten (GoogleCloudMessaging). Die Nutzung dieses Service verursacht logischerweise Datentraffic.
CALL_COMPANION_APP Anrufe durch das System einsehen und verwalten. Telefonanrufe no 0 Erlaubt den Zugriff auf Anruf-Details (während laufender Anrufe), aber auch, diese Anrufe zu „kontrollieren“. Da diese Berechtigung als „protection level: normal“ eingestuft ist, hat der Anwender kaum Einfluss darauf („normal“ wird i. d. R. nicht als „Runtime Permission“ eingesetzt, es erfolgt also keine separate Bestätigung). Laut einem Kommentar im zugehörigen Quellcode handelt es sich bei einem „Call Companion“ um eine App ohne eigene Benutzeroberfläche, die Informationen an eine andere „Oberfläche“ weiter gibt – etwa an eine Smartwatch. Gesteuert wird dies über eine Rolle (aka „Standard App“), die der Anwender gezielt festlegen kann. Im Gegensatz zu „Default Apps“ lässt sich die Rolle jedoch mehreren Apps zuweisen.
CALL_PHONE Telefonnummern direkt anrufen Telefonanrufe da 0 3 Anruf ohne Bestätigung durch den Anwender tätigen. Wird z. B. für Kontakt-Widgets benötigt, wenn ein „Tapp“ auf selbige direkt einen Anruf auslösen soll – macht aber bei einer Mal-App herzlich wenig Sinn. Gilt nicht für Notruf-Nummern.
Hier handelt es sich um eine kritische Permission: Eine damit ausgestattete App kann ohne das Wissen oder Zutun des Anwenders teure Premium-, Auslands- oder gar SAT-Nummern anrufen, und ihm so enorme Kosten verursachen. Jedoch scheint diese Praxis eher die absolute Ausnahme darzustellen (mir ist kein solcher Fall bekannt).
Natürlich kann jede App auch ohne diese Permission den Dialer aufrufen, und das Nummernfeld entsprechend vorbelegen. Das Tätigen des eigentlichen Anrufs muss in diesem Fall jedoch der Anwender explizit per Button bestätigen. Diese Permission wird also nur benötigt, um den gesamten Prozess zu automatisieren.
CALL_PRIVILEGED Alle Telefonnummern direkt anrufen Telefonanrufe sy 0 Wie CALL_PHONE, aber inklusive Notruf-Nummern ("Hallo, Polizei – Anwender ist gerade in Bank eingebrochen… Bitte Fußboden reparieren…")
CAMERA Fotos aufnehmen Kamera da 0 4 Vollzugriff auf die Kamera. Nebenwirkung: Diese App lässt sich nicht auf Geräten installieren, die über keine Kamera verfügen.
Theoretisch könnte eine mit dieser und der INTERNET Permission ausgestattete App heimlich Fotos/Videos aufnehmen, und "irgendwo" hochladen.
Diese Permission wird, völlig legitim, beispielsweise von Kamera-Apps und Barcode-Readern benötigt.
CAPTURE_AUDIO_OUTPUT Audio-Ausgabe abfangen sy 0 3 Erlaubt das Abgreifen ausgegebener Audio-Streams (beispielsweise von Media-Playern). Steht Drittanwendungen nicht zur Verfügung.
Wird u. a. von Google Play Services angefordert.
CAPTURE_SECURE_VIDEO_OUTPUT Capture Secure Video Output sy 0 Erlaubt einer App, gesicherte Video-Ausgaben abzugreifen. Steht Drittanwendungen nicht zur Verfügung.
Wird u. a. von Google Play Services angefordert.
CAPTURE_VIDEO_OUTPUT Capture Video Output sy 0 Video-Ausgabe abfangen. Steht Drittanwendungen nicht zur Verfügung.
Wird u. a. von Google Play Services angefordert.
CHANGE_BACKGROUND_DATA_SETTING Einstellungen für Hintergrunddaten ändern Netzwerk si 0 Erlaubt das Ändern der Einstellungen für Hintergrunddaten.
CHANGE_COMPONENT_ENABLED_STATE Komponenten anderer Apps (de)aktivieren System-Tools sy 0 2 Erlaubt einer App festzulegen, ob eine Komponente einer anderen App aktiviert ist oder nicht.
Eine böswillige App könnte dies missbrauchen, um wichtige Gerätefunktionen zu deaktivieren.
CHANGE_CONFIGURATION UI-Einstellungen ändern Entwicklerwerkzeuge dv 0 2-3 Änderungen an der Umgebung durchführen: Ermöglicht einer Anwendung, die aktuelle Konfiguration zu ändern, etwa das Gebietsschema oder die Schriftgröße. API-Ref nennt als Beispiel "Locale", also Ländereinstellungen wie Währung und Zeitformat.
Diese Permission sollte von "gewöhnlichen Apps" nicht angefordert werden. Abgesehen von der explizit genannten "Locale" ist völlig unklar, welche Zugriffe sie ermöglicht. Hier sollte man daher besondere Vorsicht walten lassen.
CHANGE_NETWORK_STATE Netzwerkkonnektivität ändern Netzwerk da 0 Netzwerk-Status ändern (also z. B. Verbindung trennen oder herstellen).
Guter Cop: Netzwerkverbindung im Sinne des Anwenders nur bei Bedarf herstellen.
Böser Cop: Aus reiner Schadenfreude Kosten verursachen (insbesondere mit Roaming), in Verbindung mit INTERNET heimlich Daten verschicken.
CHANGE_WIFI_MULTICAST_STATE WLAN-Multicast-Empfang zulassen Auswirkungen auf den Akku da 0 WiFi MultiCast aktivieren. Damit können Datenpakete an mehrere Empfänger zeitgleich verschickt werden, ohne dass dies zusätzliche Bandbreite erfordert. Macht z. B. Sinn bei einem Streaming-Server, der mehrere Clients bedient ("Radio"). Gleichzeitig ermöglicht dies auch den Empfang von Netzwerk-Paketen, die nicht an das eigene Gerät gerichtet sind (Netzwerk-Sniffer).
Diese Einstellung verbraucht mehr Energie als der Nicht-Multicast-Modus.
CHANGE_WIFI_STATE WLAN-Status ändern Netzwerk da 0 CHANGE_NETWORK_STATE für WiFi. Kann auch Änderungen an konfigurierten WLAN-Netzen vornehmen.
CHANGE_WIMAX_STATE WIMAX-Status ändern Netzwerk da 0 CHANGE_NETWORK_STATE für WIMAX. Kann auch Änderungen an konfigurierten WIMAX-Netzen vornehmen.
CLEAR_APP_CACHE Alle Cache-Daten der Anwendung löschen System-Tools da 0 0 Cache beliebiger/aller Anwendungen leeren.
Klingt gefährlicher als es ist: Cache ist lediglich eine Art "Zwischenspeicher", in dem Daten für schnelleren (erneuten) Zugriff abgelegt werden. Das Leeren des Caches führt daher nicht zu einem "Datenverlust", kann aber oftmals Probleme beseitigen – etwa wenn im Cache fehlerhafte Daten enthalten sind.
CLEAR_APP_USER_DATA Alle Daten der Anwendung löschen System-Tools si 0 Benutzerdaten beliebiger/aller Apps löschen (siehe Einstellungen → Anwendungen verwalten, der Button "Daten löschen" bei jeder Anwendung). Für vom Hersteller signierte Apps reserviert.
COLLECT_METRICS Nutzungsdaten sammeln sy 0 Erlaubt einer App das Sammeln von Daten über deren Nutzung (customer metrics). Diese Permission ist an die Amazon Metrics Service Application (com.amazon.client.metrics) gebunden, und wird daher nur bei deren Vorhandensein vergeben.
CONFIGURE_SIP Vollzugriff auf SIP Konten/Anrufe/Nachrichten Telefonanrufe da 0 3 SIP Konten und Einstellungen konfigurieren, auf SIP Inhalte (Anruflisten, Nachrichten) zugreifen, etc.
Eine böswillige App kann damit zusätzliche Kosten verursachen, indem sie etwa einen kostenpflichtigen/teuren SIP account konfiguriert.
CONNECTIVITY_INTERNAL Nutzung privilegierter ConnectivityManager APIs Netzwerk sy 0 2 Erlaubt einem internen User die Benutzung privilegierter ConnectivityManager APIs.
CONTROL_LOCATION_UPDATES Control Location Updates Standort sy 0 Erlaubt das aktivieren/deaktivieren von Update-Notifications des Empfängers ("Radio"). Nicht für "normale" Anwendungen bestimmt.
dashclock.permission.READ_EXTENSION_DATA Daten von DashClock-Erweiterungen laden si 0 Lädt Daten von DashClock-Erweiterungen.
DELETE_CACHE_FILES Cache Dateien anderer Apps löschen System-Tools sy 0 (einzelne) Dateien aus dem Cache löschen. Steht Drittanwendungen nicht zur Verfügung.
DELETE_PACKAGES Anwendungen löschen System-Tools sy 0 1 Apps entfernen/löschen/deinstallieren. Nicht für Drittanbieter-Apps gedacht.
DEVICE_POWER Eingriff in die Energieverwaltung System-Tools si 0 1 Tiefgreifender (low-level) Eingriff in die Energieverwaltung (Power Management). Hat nicht direkt etwas mit "Power Off" zu tun, könnte aber bei Missbrauch durchaus zu selbigem führen…
Nicht für Drittanbieter-Apps freigegeben.
DIAGNOSTIC Diagnose-Elemente lesen und schreiben System-Tools si 0 Ermöglicht einer Anwendung, alle Elemente in der Diagnosegruppe zu lesen und zu bearbeiten, etwa Dateien in /dev. Dies könnte eine potenzielle Gefährdung für die Stabilität und Sicherheit des Systems darstellen und sollte NUR für Hardware-spezifische Diagnosen des Herstellers oder Netzbetreibers verwendet werden.
Nicht für Drittanbieter-Apps gedacht.
DISABLE_KEYGUARD Tastensperre deaktivieren Bildschirm-Sperre da 0 2-3 Tastensperre (inkl. deren Passwort-Schutz, also den "Lock-Screen") deaktivieren, sodass der Bildschirm nicht mehr automatisch gesperrt wird. Sinnvoll z. B. bei Video-Apps und insbesondere bei Navis – und bei eingehenden Telefonaten.
DOWNLOAD_WITHOUT_NOTIFICATION Dateien ohne Benachrichtigung herunterladen Netzwerk no 0 1 Erlaubt es, Dateien zum Download in die Warteschlange einzufügen, ohne dass dem Anwender eine Benachrichtigung über den Download angezeigt wird.
Guter Cop: Ein PodCast-Player kann so den gewünschten Content "zum Zwischenspeichern" herunterladen, ohne die Benachrichtigungsleiste "vollzuspammen".
Böser Cop: Malware nachladen, ohne dass der Anwender es mitbekommt.
DUMP Internen System-Status auslesen Entwicklerwerkzeuge dv 0 4 Erlaubt den Zugriff auf den Status von System-Services. Nicht für Drittanbieter-Apps gedacht.
Die mit dieser Permission zugänglichen Daten dürften in etwa denen des Tools dumpsys entsprechen. Schädliche Apps könnten hiermit Zugriff auf eine Vielzahl an privaten und geschützten Daten erhalten.
email.ACCESS_PROVIDER Auf Daten des E-Mail-Anbieters zugreifen Nachrichten si 0 Ermöglicht der App, auf Ihre E-Mail-Datenbank zuzugreifen, einschließlich erhaltener Nachrichten, gesendeter Nachrichten, Nutzernamen und Passwörtern. Nicht für Drittanbieter-Apps zugänglich.
EXPAND_STATUS_BAR Statusleiste ein-/ausblenden Status-Bar no 0 2-3 Status-Bar erweitern/kollabieren. Wohl die Lite-Version von STATUS_BAR.
Durch das Ausblenden der Statusleiste steht der App natürlich mehr Platz auf dem Screen zur Verfügung ("Fullscreen"); eine bösartige App könnte so aber auch dort auftauchende Hinweis-Icons vor dem Anwender verbergen.
FACTORY_TEST Factory Test System-Tools si 0 Als Test-App des Herstellers laufen. Eine solche App kann mit root Rechten laufen. Die Permission wird allerdings nur zugeteilt, wenn das Gerät im "Manufacturer Test Mode" (also im Test-Modus des Herstellers) betrieben wird – und steht für "normale Apps" ohnehin nicht zur Verfügung.
FLASHLIGHT Blitzlicht Auswirkungen auf den Akku no 0 0 Zugriff zum Blitzlicht. Eine damit ausgestattete App kann auf einem damit ausgestatteten Gerät den LED-Blitz der Kamera ein- und ausschalten. Kein besonderes Risiko – außer vielleicht für die Akku-Laufzeit…
FORCE_BACK Vordergrund-Aktivitäten beenden System-Tools si 0 Erlaubt einer App, die gerade im Vordergrund laufenden Activity zu schließen.
FORCE_STOP_PACKAGES Schließen anderer Apps erzwingen System-Tools si 0 Erlaubt einer App, das schließen einer anderen App zu erzwingen. Dies sollte eigentlich System-Apps vorbehalten sein. Malware könnte dies ausnutzen, um Schutzprogramme außer Gefecht zu setzen.
FOREGROUND_SERVICE Vordergrund-Service System-Tools no 0 Wird von Apps benötigt, die für Android P oder höher erstellt wurden und einen Vordergrund-Service nutzen wollen.
(Ein Vordergrund-Service führt eine Aktion aus, die für den Anwender wahrnehmbar ist (z.B. Abspielen eines Audio-Tracks). Er läuft auch weiter, wenn der Anwender nicht mehr mit ihm interagiert; muss jedoch ein Benachrichtigungs-Icon anzeigen.)
FOREGROUND_SERVICE_SPECIAL_USE Typ des Vordergrundservices übermitteln System-Tools no 0 Erlaubt einer App dem System mitzuteilen, welche Art von Vordergrund-Service sie verwendet.
FREEZE_SCREEN Bildschirm einfrieren System-Tools si 0 Ermöglicht der App, den Bildschirm für einen Vollbild-Übergang vorübergehend einzufrieren. Diese Permission wird von Android selbst zur Verfügung gestellt, und steht Drittanbieter-Apps nicht zur Verfügung.
GALLERY_PROVIDER GALLERY_PROVIDER da 0 Mangels Dokumentation kann ich bei dieser Permission nur anhand der Apps, die sie verwenden, und deren Gemeinsamkeiten raten, dass sie für den Zugriff auf MultiMedia-Daten über den Content-Provider der Medien-Galerie benötigt wird.
GET_ACCOUNTS Bekannte Konten suchen Konten no 0 Liste konfigurierter Accounts abrufen (nur die Accounts, nicht die Zugangsdaten selber). Mit dieser Permission lässt sich lediglich feststellen, welche Accounts existieren. So kann beispielsweise eine App, die Dropbox verwenden möchte, feststellen, ob bereits ein passendes Zugangskonto eingerichtet ist. Eine böswillige App kann diese Informationen natürlich für "andere Zwecke" an "andere Stellen" weiterleiten.
Um die gefundenen Accounts auch nutzen zu können, bedarf es übrigens der Permission USE_CREDENTIALS.
GET_APP_OPS_STATS App-Vorgangsstatistiken abrufen System-Tools dv 0 Ermöglicht der App, erfasste App-Vorgangsstatistiken abzurufen (zum Beispiel, wie oft und wie lange eine App genutzt wird). Kann nicht von normalen Apps verwendet werden.
APP_OPS ist das Modul des Android Berechtigungs-Systems, über das sich ab Android 4.3 Berechtigungen der Apps auch im Nachhinein anpassen lassen. Es war bis einschließlich Android 4.4 jedoch nicht offiziell “freigeschaltet”.
GET_PACKAGE_SIZE Get package size System-Tools no 0 1 Erlaubt die Ermittlung des von einer anderen App belegten Speichers.
GET_TASKS Laufende Anwendungen abrufen App Informationen da 0 1-3 Informationen über laufende Anwendungen abrufen: Ein Thumbnail (des Screenshots), welche Aktivität gerade ausgeführt wird, etc.
Wird natürlich von Task-Managern und -Killern, aber auch von Akku-Statistik-Apps benötigt. "Böse Apps" können dies nutzen um auszukundschaften, wo sich lohnende Daten zum Klauen finden lassen: Welche Apps nutzt der Anwender (und wie oft)?
GET_TOP_ACTIVITY_INFO Informationen der Vordergrund-Aktivität abrufen App Informationen si 0 Erlaubt das Abrufen privater Informationen der aktuellen Top-Activity (also der gerade im Vordergrund laufenden Aktivität). Nicht für Drittanbieter-Apps gedacht.
GLOBAL_SEARCH Globale Suche System-Tools sy 0 Content Providern eine Schnittstelle für die Globale Suche zum lesenden Zugriff auf sonst geschützte Daten bereitstellen. Kann nicht von regulären Apps genutzt werden.
GLOBAL_SEARCH_CONTROL Steuerung der Globalen Suche System-Tools si 0 Erlaubt der App, die Globale Suche zu kontrollieren. Steht Apps von Drittanbietern nicht zur Verfügung.
GOOGLE_AUTH Konfigurierte Accounts anzeigen Konten no 0 Erlaubt einer App, die Benutzernamen (EMail-Adressen) der auf dem Gerät konfigurierten Google-Accounts aufzulisten.
Guter Cop: Accounts für den Login zu Google-Diensten ermitteln, um sie dem User zur Nutzung anzubieten
Böser Cop: Schnüffeln, ermitteln von "gültigen Mail-Adressen" für andere Zwecke (Spam u. a. m.)
GOOGLE_AUTH.mail Google Mail Konten da 1 Erlaubt einer App, sich mit den auf dem Android Gerät gespeicherten Accounts bei Google Mail anzumelden.
Guter Cop: Automatische Anmeldung zur Nutzung der Google-Dienste im Sinne des Anwenders
Böser Cop: Automatische Anmeldung ohne Wissen des Anwenders zur Versendung von Spam und/oder ausspionieren persönlicher Informationen
GOOGLE_AUTH.wise Google Spreadsheets Konten da 1 Erlaubt einer App, sich mit den auf dem Android Gerät gespeicherten Accounts bei Google Spreadsheets anzumelden.
Guter Cop: Automatische Anmeldung zur Nutzung der Google-Dienste im Sinne des Anwenders
Böser Cop: Automatische Anmeldung ohne Wissen des Anwenders zum ausspionieren persönlicher Informationen
GOOGLE_AUTH.writely Google Docs Konten da 1 Erlaubt einer App, sich mit den auf dem Android Gerät gespeicherten Accounts bei Google Docs anzumelden.
Guter Cop: Automatische Anmeldung zur Nutzung der Google-Dienste im Sinne des Anwenders
Böser Cop: Automatische Anmeldung ohne Wissen des Anwenders zum Ausspionieren persönlicher Informationen
GOOGLE_PHOTOS Auf bei G+ gespeicherte Fotos zugreifen 1 Diese Permission wird benötigt, um auf von der Google Photos App in die Cloud gesicherte Fotos zuzugreifen (siehe XDA).
google.MAPS_RECEIVE Kartenmaterial von Google Maps empfangen Netzwerk 2 Apps, die Google Maps einbinden, brauchen diese Berechtigung (sowie zusätzlich READ_GSERVICES, INTERNET and WRITE_EXTERNAL_STORAGE). In der Berechtigung muss der Name der zugreifenden App enthalten sein, da nur bei dem Google-Dienst registrierte Apps zugreifen dürfen. Diese Berechtigung sieht man nur in der Manifest-Datei, sie wird dem Nutzer nicht bei Installation angezeigt.
GTALK_SERVICE Google Talk Service Nachrichten da 1 Zu dieser Permission konnte ich keinerlei Dokumentation finden. Sie steht in Zusammenhang mit der Nutzung von Google Talk bzw. Google Hangouts.
Der mit dieser Permission verbundene "Protection Level" scheint von Gerät zu Gerät verschieden.
HARDWARE_TEST Hardware Testen Direkter Hardware-Zugriff si 0 Ermöglicht einer Anwendung, verschiedene Peripherie-Geräte zu Hardware-Testzwecken zu steuern.
HIGH_SAMPLING_RATE_SENSORS Zugriff auf Sensordaten mit einer Sampling-Rate größer als 200 Hz. Sensoren no 0 Erlaubt einer App, hochauflösende Sensordaten (größer 200 Hz, also mehr als 200 Datensätze pro Sekunde) zu erfassen.
im.permission.READ_ONLY Chatnachrichten lesen Nachrichten da 0 3 Diese Permission bezieht sich auf das Lesen von "Instant Messages" (Chat Nachrichten), wie etwa denen von GoogleTalk.
INJECT_EVENTS Tasten und Steuerungstasten drücken System-Tools sy 0 "Generieren" und "ausführen" bestimmter Events, wie z. B. Benutzer-Eingaben. Die App kann also vermutlich andere Apps "fernbedienen" – für die eigene Anwendung wird diese Permission nicht benötigt.
INSTALL_DRM DRM-Content installieren System-Tools no 0 1-3 Ermöglicht einer Anwendung, DRM-geschützte Inhalte zu installieren.
DRM steht für Digital Rights Management (Digitale Rechteverwaltung), wird aber auch oft als "Digital Restriction Management" (Digitale Einschränkungs-Verwaltung) genannt. Damit soll kontrolliert werden, wer auf welche Medien wann Zugriff hat. Genutzt wird DRM beispielsweise von Google Books/Musik/Film oder Amazon‘s Kindle.
INSTALL_LOCATION_PROVIDER Location-Provider installieren Standort sy 0 Einen Location-Provider im Location Manager installieren. Für Systemanwendungen reserviert.
INSTALL_PACKAGES Anwendungen direkt installieren System-Tools sy 0 5 Andere Apps installieren. Kann OK sein (App-Manager), muss aber nicht (Wallpaper etc. wollen vielleicht eher Schadsoft nachladen, wenn sie diese Permission anfordern). Ist aber ohnehin für System-Apps reserviert.
INSTALL_SHORTCUT Verknüpfungen auf dem Homescreen erstellen da 0 1-3 Widgets, Shortcuts, App-Icons, etc. ohne Benutzer-Interaktion auf dem Homescreen erstellen. Malware nutzt dies, um unerwünschte Dinge dort abzulegen. Beispielsweise ein Icon, dass wie das vom Playstore aussieht – allerdings ganz woanders hinführt.
INTERACT_ACROSS_USERS Interact Across Users System-Tools sy 0 2 Erlaubt einer App, Benutzer-Übergreifende Aktionen auf dem Gerät auszulösen. Nicht für Drittanbieter-Apps verfügbar.
Eine damit ausgestattete App kann beispielsweise auf die zu ihr gehörigen Daten aller User (nicht nur des gerade aktiven) zugreifen. Ein Beispiel wäre der Sperrbildschirm, der auf die Profilbilder aller User zugreifen muss, um die GUI für den Benutzerwechsel anzuzeigen (siehe hier).
INTERACT_ACROSS_USERS_FULL Full license to interact across users System-Tools si 0 3 Vollständigere Form von INTERACT_ACROSS_USERS, welche zusätzliche Funktionalitäten verfügbar macht. Nicht für Drittanbieter-Apps verfügbar.
INTERNAL_SYSTEM_WINDOW Interne System-Fenster öffnen System-Tools si 0 3 Erlaubt das öffnen von Fenstern, die Teil des System-UI sind. Für System-Apps reserviert.
INTERNET Uneingeschränkter Internetzugriff Netzwerk da 0 Apps mit dieser Berechtigung können eine vorhandene Internetverbindung (WLAN oder Mobilfunk) nutzen, um Daten zu übertragen. Auch die WLAN-MAC-Adresse ist damit auslesbar. Alle Apps, die ohne Euer Zutun über das Internet mit einem Server Kontakt aufnehmen, brauchen diese Berechtigung. Wird insbesondere auch für Werbezwecke genutzt. In Verbindung mit anderen Permissions, die beispielsweise auf persönliche Daten (Kontakte, Kalender, etc.) Zugriff gewähren, ist jedoch besondere Vorsicht anzuraten.
Die Internetverbindung selbst muss allerdings schon aufgebaut sein. (Dafür ist die Berechtigung CHANGE_WIFI_STATE oder CHANGE_NETWORK_STATE nötig.) Allerdings: Auch ohne diese Berechtigung können Apps Daten über das Internet versenden. Zum Beispiel, wenn sie Schnittstellen zur E-Mail-App, zur Browser-App oder zum Google Play-Store nutzen. Das geht in der Regel nur mit kleinen Datenmengen.
k9.permission.DELETE_MESSAGES K-9 Mail Nachrichten löschen Nachrichten 0 3 Ermöglicht einer App, in K-9 Mail gespeicherte Mails zu löschen.
k9.permission.READ_ATTACHMENT K-9 Mail Attachments lesen Nachrichten 0 2-3 Bezieht sich auf Dateianhänge in K-9 Mail. Siehe auch READ_ATTACHMENT.
k9.permission.READ_MESSAGES In K-9 Mail gespeicherte Mails lesen Nachrichten 0 2-3 Ermöglicht einer App, in K-9 Mail gespeichter Mails zu lesen. Dabei kann es sich um sensible persönliche Informationen handeln, also Vorsicht!
KILL_BACKGROUND_PROCESSES alle Anwendungen im Hintergrund schließen System-Tools no 0 2-4 Hintergrund-Prozesse "töten", also beenden. Dabei kann es sich um die eigenen Prozesse handeln (was dem Anwender die Möglichkeit gibt, das Programm tatsächlich zu beenden, statt es nur in den Hintergrund zu schieben) – es können aber eben so gut fremde Prozesse beendet werden; i. d. R. handelt es sich dann um einen Task-Manager oder Task-Killer. Eine böswillige App könnte dies jedoch auch nutzen, um Schutzmechanismen auszuhebeln (etwa eine Anti-Malware-App abzuschießen, bevor sie mit ihrem eigentlichen Unwesen beginnt).
launcher.permission.UPDATE_COUNT Benachrichtigungs-Zähler aktualisieren no 0 0 Zugriff auf die Benachrichtigungs-API des Apex Launcher, siehe XDA Developers. Diese Permission ermöglicht einer App lediglich, den Launcher mit Aktualisierungen zu z. B. der Anzahl ungelesener Nachrichten (Mails u. a.) zu versorgen. Derzeit sind keinerlei Risiken bekannt.
launcher.READ_SETTINGS Home Settings und Shortcuts lesen System-Tools no 0 Erlaubt der App die Konfigurationseinstellungen des Android Launchers (Homescreen) zu lesen, einschließlich der von Icons.
launcher.WRITE_SETTINGS Home Settings und Shortcuts schreiben System-Tools no 0 Erlaubt der App die Konfigurationseinstellungen des Android Launchers (Homescreen) zu verändern, einschließlich der von Icons.
Böswillige Apps könnten dies z. B. verwenden, um (irreführende) Icons auf dem Homescreen zu platzieren – etwa eines, welches dem des Playstore identisch ist – um den User zu Aktionen zu verleiten, die er andernfalls nicht ausführen würde.
LOCATION_HARDWARE Location Hardware nutzen sy 0 3 Erlaubt die Nutzung von Hardware-basierten Ortungsdiensten, wie etwa die Geofencing API.
MANAGE_ACCOUNTS Als Konto-Manager fungieren Konten da 0 Accounts/Zugangsdaten verwalten – also auch verändern. Die Doku ist leider wieder einmal sehr vage. Laut einem Post bei Stack Exchange heißt dies jedoch nur, dass die betreffende App ihre eigenen Konten (nicht aber andere) mit Unterstützung des (system-eigenen) Account-Managers verwalten darf.
MANAGE_APP_TOKENS Manage App Tokens Konten si 0 Erlaubt das Verwalten (erstellen, zerstören, Z-Order) von App-Tokens im Fenstermanager. Nur für System-Apps.
MANAGE_DEVICE_ADMINS DeviceAdmins hinzufügen oder entfernen System-Tools sy 0 Erlaubt der App, Geräte-Administratoren hinzuzufügen oder zu entfernen. Für System-Apps reserviert.
MANAGE_DOCUMENTS Manage Documents Speicher sy 0 Erlaubt die Verwaltung des Zugriffs auf Dokumente, gewöhnlich als Teil eines Dateiauswahl-Dialogs.
MANAGE_EXTERNAL_STORAGE Externen Speicher verwalten Speicher sy 0 2-3 Erlaubt einer App den nahezu vollständigen Zugriff auf externen Speicher bei Verwendung von „scoped storage“ (Android 10+). Gedacht ist dies für die Verwendung durch wenige Apps, die Dateien im Auftrag der Benutzer verwalten müssen, wie z. B. Dateimanager.
Diese Berechtigung muss durch den Anwender explizit zugewiesen werden („appops“) – es sei denn die App ist auf dem Gerät vorinstalliert oder trägt die Signatur des ROMs.
MANAGE_MTP Manage MTP Direkter Hardware-Zugriff sy 0 Erlaubt den Zugriff auf den MTP USB Kernel-Treiber. Nur für die geräteseitige MTP-Implementierung gedacht, und somit auf System-Apps beschränkt.
MANAGE_OWN_CALLS Anrufe durch das System routen Telefonanrufe no 0 Ermöglicht der App, Anrufe über das System durchzuführen, um die Anrufqualität zu verbessern. Hauptsächlich gedacht für stand-alone Telefon-Apps, die dafür nicht auf die Standard Telefon-App zurückgreifen, sondern Anruf- und Audio-Routing des Telekom-Frameworks direkt nutzen wollen. Android 8+.
MANAGE_USB Einstellungen und Berechtigungen für USB-Geräte verwalten Direkter Hardware-Zugriff sy 0 Erlaubt das Verwalten der Einstellungen und Berechtigungen für USB-Geräte. Nur für System-Apps.
MANAGE_USERS Benutzer verwalten System-Tools sy 0 2 Erlaubt Apps, die Benutzer (User) auf dem Gerät zu verwalten – einschließlich des Auflistens, der Erstellung neuer User, und dem Löschen bestehender User. Nicht für Drittanbieter-Apps verfügbar.
MASTER_CLEAR Master Clear sy 0 1 Erlaubt die Initialisierung eines "Master Clear", besser bekannt als "Factory Reset" bzw. "Rücksetzen auf Werkseinstellungen". Reserviert für System-Apps.
MEDIA_CONTENT_CONTROL Medienwiedergabe und Zugriff auf Metadaten steuern sy 0 Zugriff auf Informationen zu wiedergegebenen Medien sowie Kontrolle der Wiedergabe. Aus Gründen der Privatsphäre des Medienkonsums (uff!) auf System-Apps eingeschränkt.
MMS_SEND_OUTBOX_MSG MMS Wakeup Nachrichten sy 0 Versenden aller in der Outbox befindlichen MMS. Reserviert für System-Apps.
MODIFY_AUDIO_SETTINGS Audio-Einstellungen ändern Direkter Hardware-Zugriff da 0 0 Ermöglicht der Anwendung, Änderungen an allgemeinen Audioeinstellungen wie Lautstärke und Weiterleitung vorzunehmen.
MODIFY_PHONE_STATE Telefonstatus ändern Telefonanrufe sy 0 2-4 Status der Telefonie anpassen: Power, MMI-Codes (z. B. Rufumleitung (de)aktivieren, Rufnummernübermittlung ein/ausschalten) etc. – jedoch nicht Anrufe tätigen. Allerdings kann das Netzwerk (zu einem anderen Anbieter, Roaming) gewechselt oder die Mobilfunkverbindung ein- bzw. ausgeschaltet werden, ohne dass der Benutzer davon informiert wird. Auch können mit dieser Permission eingehende Anrufe abgefangen werden.
MOUNT_FORMAT_FILESYSTEMS Externen Speicher formatieren System-Tools sy 0 1-3 Externe Dateisysteme (SD-Karten etc.) formatieren (Vorsicht! Nach dem Formatieren ist das entsprechende Dateisystem leer, die (vorher) darauf befindlichen Daten sind weg!). Nix für Wallpaper, Spiele, etc.!
MOUNT_UNMOUNT_FILESYSTEMS Dateisysteme bereitstellen oder Bereitstellung aufheben System-Tools sy 0 4 Dateisysteme ein- und ausbinden. Toll für externe Festplatten am Telefon – gilt aber ebenso für SD-Karten.
MOVE_PACKAGE Anwendungsressourcen verschieben System-Tools sy 0 Ermöglicht der App, App-Ressourcen von internen auf externe Medien zu verschieben und umgekehrt. In anderen Worten: App2SD.
NEARBY_WIFI_DEVICES Verfügbarkeit propagieren und eine Verbindung zu Geräten in der Nähe herstellen. Netzwerk da 0 Diese Berechtigung wird benötigt, um die eigene Verfügbarkeit von „Nearby WiFi" zu propagieren und eine Verbindung zu Geräten in der Nähe herstellen.
Beispiel einer Privatsphäre-Implikation: Du gibst einer App (sagen wir Facebook) nur diese Berechtigung, nicht aber Zugriff auf den Standort. Die Person neben Dir verwendet die gleiche App und gibt Ihr Standortzugriff. Nun kann der Service hinter der App über den Standort der Person neben Dir auch auf Deinen schließen.
NFC NFC-Operationen ausführen Netzwerk da 0 2 Aktionen via NFC ausführen.
NFC hat lediglich eine Reichweite von wenigen Zentimetern, sodass Gerät und Tag sich für eine Kommunikation fast berühren müssen. Daher geht von dieser Permission kaum eine Gefahr aus. Dennoch kann ein wenig Vorsicht nie schaden.
PACKAGE_USAGE_STATS Nutzungsstatistik der Komponente aktualisieren System-Tools si 0 1 Ermöglicht die Änderung von gesammelten Nutzungsstatistiken der Komponente. Nicht für normale Anwendungen vorgesehen.
Dürfte sich auf App-Statistiken beziehen, etwa wie häufig eine App gestartet wurde.
PERFORM_CDMA_PROVISIONING CDMA Telefon Einstellungen starten sy 0 Erlaubt einer App, die CDMA Services (eine Telefonie-Funktionalität) zu starten. Für Systemanwendungen reserviert.
PERSISTENT_ACTIVITY Persistente Aktivity App Informationen no 0 Erlaubt einer App, ihre Aktivities persistent zu machen.
Mit API-Level 9 (Gingerbread) auf "deprecated" gesetzt; sollte also kaum noch in Verwendung sein.
POST_NOTIFICATIONS Benachrichtigungen senden System-Tools da 0 Dies ist eine Laufzeitberechtigung, die mit Android 13 eingeführt wurde und es einer App ermöglicht, Benachrichtigungen zu senden. Wenn Sie diese Berechtigung verweigern, kann die App keine Benachrichtigungen senden. Dies betrifft alle Apps, die auf Android 13 oder höher abzielen.
PREVENT_POWER_KEY Verhalten des Power-Knopfes ändern Direkter Hardware-Zugriff da 0 Erlaubt einer App, das Standard-Verhalten für den Power-Knopf des Gerätes zu ändern.
PROCESS_OUTGOING_CALLS Abgehende Anrufe abfangen Telefonanrufe da 0 2-4 Ausgehende Anrufe beobachten, verändern oder abbrechen. Hm, könnte das einen Anruf bei der Mailbox ins Ausland weiterleiten? Für eingehende Anrufe siehe MODIFY_PHONE_STATE.
Diese Permission hat Spionage-Potential – kann mit ihr doch festgestellt werden, wann wohin angerufen wird (und mehr). Die Nutzung sollte daher weitgehend auf alternative Telefon-Apps sowie VoIP (Voice Over Internet Protocol) beschränkt sein.
QUERY_ALL_PACKAGES auf dem Gerät installierte Apps abfragen System-Tools no 0 1-3 Erlaubt einer App, eine Liste aller auf dem Gerät installierten Apps abzufragen. Diese Berechtigung wurde mit Android 11 eingeführt; für Android 11 oder später geschriebene Apps benötigen sie also für die genannte Aufgabe – andernfalls erhalten sie nur eine „gefilterte Liste“. Sie können jedoch stattdessen eine Liste von Apps definieren, deren Vorhandensein sie prüfen wollen.
Weitere Details finden sich z. B. über StackOverflow: What does QUERY_ALL_PACKAGES permission do? Ein App-Manager wird diese Berechtigung brauchen – eine Taschenlampen-App hingegen nicht.
Hinweis: Google Play weist diese Berechtigung scheinbar bei Apps nicht aus!
RAISED_THREAD_PRIORITY Erhöhen der Thread Priorität System-Tools 0 Erlaubt der App, die Prioritäten ihrer Threads (im Vergleich zu denen anderer Apps) zu erhöhen. Dies macht beispielsweise für die Echtzeit-Wiedergabe von Audio/Video Streams Sinn (um Ruckler zu vermeiden). Eine böswillige App könnte damit allerdings auch das System ausbremsen.
READ_APP_BADGE Benachrichtigungs-Badges lesen no 0 Ermöglicht es einer Anwendung, die auf Icons im Launcher angezeigten Benachrichtigungssymbole zu lesen.
READ_ATTACHMENT Attachments lesen Personenbezogene Daten da 0 2-3 Bezieht sich auf Dateianhänge in E-Mails der Stock-Mail-App (trifft also weder auf die GMail-App, noch auf K-9 Mail zu). Dateianhänge können sensible Informationen enthalten, die eine böswillige App an andere Stellen weiterleiten könnte.
READ_CALENDAR Kalenderdaten lesen Personenbezogene Daten da 0 2 Sollte klar sein: Alle Termine können damit gelesen werden. Man sollte hier bedenken, dass Kalendereinträge oft nicht nur persönlich sind, sondern auch Kontaktdaten u. ä. enthalten können – die man nicht unbedingt "in die freie Wildbahn" lassen möchte.
READ_CALL_LOG Anruflisten lesen Personenbezogene Daten da 0 2 Zugriff auf das Anruf-Protokoll. Apps mit dieser Berechtigung können die Anrufliste lesen. Wird von Apps verwendet, die eine Anrufeliste anzeigen wollen oder müssen (zum Beispiel Telefon-Apps). Die Anrufliste lässt viele Rückschlüsse auf Nutzer*innen zu.
Wird implizit mit READ_CONTACTS erteilt, wenn eine App für ausschließlich Android 4.0 (ICS) und niedriger geschrieben wurde.
READ_CLIPBOARD Clipboard-Inhalt Lesen System-Tools 0 2-3 Eine mit dieser Permission ausgestattete App kann lesend auf Inhalte der Zwischenablage („Clipboard“) zugreifen – also alles sehen, was man dorthin kopiert (einschließlich Passworte). Detaillierter Hintergrund und mögliche Schutzmaßnahmen finden sich u. a. bei den XDA-Developers im Artikel How to Stop Apps from Reading the Android Clipboard to Protect your Privacy (von 8/2017).
READ_CONTACTS Kontaktdaten lesen Personenbezogene Daten da 0 2 Damit ist das Adressbuch fällig. Es lässt sich nicht nur einsehen, welche Kontakte es gibt und ihre Details, sondern auch wie oft man sie angerufen oder ihnen gemailt hat, etc.
Sofern kein spezielles Feature der App den Zugriff auf die Kontakte erklären kann, sollte man von einer solchen App besser die Finger lassen. Legitime Anwendungen wären etwa alternative Telefon-Apps, Mail-Apps, SMS Apps. Bei anderen Apps kann durchaus das verwendete Werbe-Modul dahinterstehen, das gern das gesamte Adressbuch herunterladen möchte. Oder hoch, wie bei Facebook, WhatsApp & Co.
READ_CONTENT_PROVIDER Auf Mails zugreifen Nachrichten da 0 In erster Linie geht es hierbei um Informationen zu Inhalten von Gmail. Der damit verbundene "Content Provider" macht es u. a. möglich, dem Anwender "Label Informationen" anzuzeigen.
READ_EXTERNAL_STORAGE Externe Speichermedien lesen Speicher no 0 0 Lesezugriff auf externe Speichermedien (gemeint ist hier i. d. R. die externe SD-Karte). Wurde bis einschließlich Android 4.3 allen Apps defaultmäßig zugeteilt. Mit Android 4.4 (Kitkat) hat sich dies geändert, die Permission muss nun explizit angefordert werden. Lediglich bei Anforderung der Berechtigung zum Schreibzugriff wird sie weiterhin implizit erteilt.
Bis einschließlich Android 9 wird sie weiterhin für den Lesezugriff auf Mediendateien (z.B. Fotos in DCIM/) benötigt.
Guter/Böser Cop: Eine MP3-Player App sollte natürlich auf die Musikdateien zugreifen können. Allerdings hat sie damit natürlich auch Zugriff auf alle anderen dort gespeicherten Inhalte. Sensible Informationen sollte man also nicht (unverschlüsselt) auf der SD-Karte speichern.
READ_FRAME_BUFFER Frame-Buffer Daten lesen System-Tools sy 0 4 Zugriff auf die Frame-Buffer Daten (vereinfacht gesagt: Den Inhalt des Bildschirms). Erlaubt u. a. das Erstellen von Screenshots.
READ_GMAIL Gmail lesen Nachrichten si 1 Der Protection-Level wurde zum Zeitpunkt des Gingerbread-Releases von "dangerous" auf "signature" angehoben (mit Gmail 2.3.5), siehe Android Census – und ist somit nicht (mehr) für Drittanbieter-Apps verfügbar.
READ_GMAIL_PROVIDER Gmail lesen Nachrichten 1 Siehe auch: READ_GMAIL. Eigentlich heißen beide Permissions READ_GMAIL. Da es sich bei der Gmail-App um "closed source" handelt, und offensichtlich wieder einmal keine Dokumentation zu finden war, konnte ich den Unterschied nicht herausfinden. Weiterhin werden beide Permissions in den Stores häufig einfach mit "Gmail lesen" wiedergegeben, sodass u. U. einge Apps hier "falsch getagged" sind (oder ohnehin beide Permissions verlangen).
READ_GSERVICES Google Service Konfiguration lesen Konten no 1 1 Erlaubt das Lesen der Google Services Map. Nicht für Drittanbieter-Apps bestimmt.
Der zugewiesene "Protection Level" variiert von Gerät zu Gerät (normal/dangerous) – widerspricht aber generell der Beschreibung "nicht für Drittanbieter-Apps".
Über Rückschlüsse von verwandten Permissions und Diskussion zu selbigen, kommt dieser Post bei Android.StackExchange.COM zu der Schlussfolgerung, dass es sich bei der Google Service Map um eine Art Index der auf dem Gerät verfügbaren Google Services handeln muss – und READ_GSERVICES somit vergleichbar wäre mit GET_ACCOUNTS: Auflisten, welche Google Services zur Nutzung bereitstehen.
READ_HISTORY_BOOKMARKS Lesezeichen und Browser-Chronik lesen Personenbezogene Daten da 0 2-3 Erlaubt lesenden Zugriff auf Lesezeichen und Browserverlauf (Chronik).
Die Permission wird von Apps benötigt, welche beispielsweise Lesezeichen sichern (und wiederherstellen) sollen. Allerdings lassen sich mit dieser Berechtigung auch Surfgewohnheiten ausspionieren.
READ_INPUT_STATE Eingaben aufzeichnen System-Tools sy 0 3-4 Abrufen des aktuellen Status von Tasten und Schaltern, einschließlich der Erfassung von Eingaben (z. B. Passwörtern) in anderen Apps. Nur für System-Apps.
READ_LOGS System-Protokolldateien lesen Entwicklerwerkzeuge dv 0 3 Lesender Zugriff auf die Log-Dateien des Systems. Hier werden allgemeine Informationen zu durchgeführten Aktionen gespeichert, i. d. R. jedoch keine vertraulichen Informationen (es sei denn, ein Programmierer hat etwas verbockt). Ab Android 4.1 ist diese Permission System-Anwendungen vorbehalten; ab Android 7.1 unterliegt es dem Protection Level signature|privileged|development.
READ_MEDIA_AUDIO Ermöglicht es einer Anwendung, Audiodateien von einem externen Speicher zu lesen. Speicher da 0 Eine Runtime-Permission (der Anwender muss sie also bestätigen, damit die App sie benutzen kann). Eine App, die auf Android 13 oder höher abzielt und Audiodateien aus einem externen Speicher lesen muss, muss diese Berechtigung besitzen; READ_EXTERNAL_STORAGE ist nicht erforderlich. Für Apps, die auf Android 12.1 oder niedriger abzielen, wird stattdessen READ_EXTERNAL_STORAGE benötigt, um Audiodateien zu lesen.
READ_MEDIA_IMAGES Ermöglicht es einer Anwendung, Bilddateien von einem externen Speicher zu lesen. Speicher da 0 Eine App, die auf Android 13 oder höher abzielt und Bilddateien aus einem externen Speicher lesen muss, muss diese Berechtigung besitzen; READ_EXTERNAL_STORAGE ist nicht erforderlich. Für Apps, die auf Android 12.1 oder niedriger abzielen, wird stattdessen READ_EXTERNAL_STORAGE benötigt, um Grafikdateien (Bilder) zu lesen.
READ_MEDIA_STORAGE Inhalte des internen Medien-Speichers lesen Speicher 0 Wie READ_EXTERNAL_STORAGE, jedoch für den "internen Speicher".
READ_MEDIA_VIDEO Ermöglicht es einer Anwendung, Videodateien von einem externen Speicher zu lesen. Speicher da 0 Eine App, die auf Android 13 oder höher abzielt und Audiodateien aus einem externen Speicher lesen muss, muss diese Berechtigung besitzen; READ_EXTERNAL_STORAGE ist nicht erforderlich. Für Apps, die auf Android 12.1 oder niedriger abzielen, wird stattdessen READ_EXTERNAL_STORAGE benötigt, um Videodateien zu lesen.
READ_OWNER_DATA Eigentümerdaten lesen Personenbezogene Daten da 0 Auslesen der auf dem Gerät gespeicherten Eigentümerdaten.
Mangels Dokumentation lässt sich auch hier wieder nur "raten": Offensichtlich bezieht sich dies auf den "Me"/"Ich" Kontakt im Adressbuch.
READ_PHONE_NUMBERS Zugriff auf die Telefonnummer(n) des Gerätes. Telefonanrufe da 0 Erlaubt den Zugriff auf die Telefonnummer(n) des Gerätes. Die Dokumentation beschreibt es als ein „Sub-Set” von READ_PHONE_STATE, welches „Instant Apps” zur Verfügung gestellt wird. Daraus lässt sich schließen, dass es sich auf die eigenen, den SIM-Karten zugewiesenen Telefonnummern bezieht (und nicht etwa auf das Adressbuch).
READ_PHONE_STATE Telefonstatus lesen und identifizieren Telefonanrufe da 0 Zugriff auf die Telefonfunktionen des Gerätes. Eine Anwendung erhält mit dieser Berechtigung unter anderem die Möglichkeit, die Telefon- und Seriennummer des Telefons zu ermitteln, feststellen, ob Anrufe eingehen und Gespräche geführt werden sowie die Telefonnummern der Anrufenden auslesen. Um festzustellen, ob ein Anruf aktiv ist,wird sie jedoch trotz gegenteiliger Behauptungen keineswegs benötigt, wie die App permission.READ_PHONE_STATE (nicht mehr im Playstore) zeigt; siehe auch hier. Bei Werbung (z. B. AdMob) wird dies häufig zum Auslesen der IMEI/IMSI genutzt um festzustellen, welche Werbung auf dem Gerät bereits angezeigt wurde (eindeutige Identifizierung, Tracking). Apps, die auch für Android 1.6 und früher kompatibel sein sollen, wird diese Permission automatisch gesetzt.
READ_PRIVILEGED_PHONE_STATE Zugriff auf unveränderbare Identifier Telefonanrufe sy 0 3 Beginnend mit Android 10 benötigt eine App diese privilegierte Berechtigung für den Zugriff auf „unveränderbare Identifier“ wie z. B. IMEI und Serialnummer. Apps von Drittanbietern, die z. B. aus dem Play Store installiert werden, können diese Berechtigung nicht verwenden – sie ist vorinstallierten Systemanwendungen vorbehalten.
READ_PROFILE Das persönliche Profil des Anwenders lesen Personenbezogene Daten da 0 2-3 Bezieht sich auf den neuen "Me" Kontakt für das eigene Profil (beinhaltet in der Regel E-Mail-Adresse, Namen und Telefonnummer, und ist nicht identisch mit z. B. dem Google-Konto). Ist beispielsweise sinnvoll für Messenger-Apps, die den Diskussionsverlauf darstellen.
READ_SECURE_SETTINGS Systemeinstellungen lesen Direkter Hardware-Zugriff 0 Lesezugriff auf Systemeinstellungen (u. a. Umschalter für die mobile Datenverbindung). Eigentlich dem System vorbehalten.
READ_SMS SMS oder MMS lesen Nachrichten da 0 3 Damit lassen sich bereits gespeicherte Kurznachrichten lesen. Darunter können natürlich auch vertrauliche Informationen (etwa mobileTANs) sein…
Sinnvoll ist diese Permission natürlich für SMS Apps. Aber auch andere Apps können durchaus legitime Gründe haben: etwa um Freischalt-Codes ber SMS zu empfangen, oder (wie einige Anti-Theft-Apps) per SMS gesteuert zu werden.
Die App permission.READ_SMS (nicht mehr im Play Store erhältlich) zeigt auf, welche Informationen mit dieser Permission zugänglich sind.
READ_SOCIAL_STREAM Den Social-Media-Stream lesen Soziale Informationen da 0 2-3 Diese Permission wurde mit Android 4.0 eingeführt. Eine damit ausgestattete App kann Status-Updates der sozialen Netzwerke lesen – sowohl eingehende, als auch ausgehende.
READ_SYNC_SETTINGS Synchronisierungseinstellungen lesen Synchronisierungseinstellungen no 0 Lesezugriff auf die Einstellungen der Synchronisation – etwa um festzustellen, ob selbige für Kontakte aktiviert ist. Ein gutes Zeichen: Die App möchte vielleicht wissen, ob der Anwender eine Datensynchronisation im Hintergrund erlaubt, und sich (hoffentlich) entsprechend verhalten. Diese Permission ermöglicht lediglich Zugriff auf die Einstellungen – nicht auf die synchronisierten Daten selbst.
READ_SYNC_STATS Synchronisierungsstatistiken lesen Synchronisierungseinstellungen no 0 Beispielsweise den Verlauf bereits durchgeführter Synchronisationen einsehen. Steht in Verbindung zu READ_SYNC_SETTINGS, und bezieht sich hauptsächlich auf die Synchronisation von Kontakten und anderen Daten.
Apps können aber auch ohne diese Funktion synchronisieren. Sie bietet lediglich ein Werkzeug, in dem typische Anforderungen wie Zeitsteuerung schon vorgefertigt sind. Apps, die mit der Sync-Funktion arbeiten, brauchen diese Berechtigung, um den Verlauf bereits durchgeführter Synchronisationen zu sehen.
READ_USER_DICTIONARY Benutzerwörterbuch lesen Benutzerwörterbuch da 0 Lesezugriff auf das Benutzerwörterbuch. Sollte nur von IME Apps wie Keyboards, bzw. Wörterbuch-Editoren angefordert werden.
Diese Permission ermöglicht es u. a., zum Benutzerwörterbuch hinzugefügte Begriffe zu lesen. Meist sind dies Abkürzungen wie "LG" ("Liebe Grüße") oder "HDL" ("Hab dich lieb"), die man bei Kurznachrichten verwendet. Solange man keine persönlichen Informationen (oder Passwörter) zum Benutzerwörterbuch hinzufügt, geht von dieser Permission kaum ein Risiko aus.
REAL_GET_TASKS Laufende Anwendungen abrufen App Informationen sy 0 Informationen über laufende Anwendungen abrufen. Ersetzt ab API-Level 21 (Lollipop) GET_TASKS.
REBOOT Reboot System-Tools sy 0 Erlaubt den Neustart des Gerätes. Wie der Name es bereits andeutet: Diese App kann mal eben einen Reboot veranlassen. Nicht für Drittanbieter-Apps gedacht.
RECEIVE_BOOT_COMPLETED Automatisch nach dem Booten starten App Informationen no 0 0 App möchte benachrichtigt werden, wenn der Bootvorgang abgeschlossen ist. i. d. R. heißt das: Sie möchte nach dem Booten automatisch gestartet werden.
Auch wenn diese Permission kein Sicherheitsproblem darstellt, kann die Verwendung negative Auswirkungen auf die Nutzer-Experience haben: zahlreiche beim Gerätestart startenden Apps erhöhen die Zeit, bis das Gerät zur Nutzung zur Verfügung steht. Daher sollte die Verwendung dieser Permission stets so erklärt sein, dass der Nutzen sich dem Anwender erschließt.
RECEIVE_EMERGENCY_BROADCAST Emergency Broadcast empfangen Nachrichten sy 0 Ermöglicht einer App den Empfang von "Emergency Cell Broadcast Messages" zur Aufnahme oder Anzeige. Für System-Apps reserviert.
RECEIVE_MMS MMS empfangen Nachrichten da 0 3 Eingehenden MMS abfangen – da möchte wohl jemand mitlesen. Kann aber durchaus OK sein, wenn die App auf MMS/SMS reagieren soll. Auf der anderen Seite kann man damit eingehende Nachrichten auch "im Nirvana" verschwinden lassen…
Siehe auch RECEIVE_SMS.
RECEIVE_SMS SMS empfangen Nachrichten da 0 3 Eingehenden SMS abfangen – da möchte wohl jemand mitlesen. Kann aber durchaus OK sein, wenn die App auf MMS/SMS reagieren soll (natürlich kann sie den Inhalt der empfangenen Nachricht auch lesen). Auf der anderen Seite kann man damit eingehende Nachrichten auch „im Nirvana“ verschwinden lassen. Oder aber nach Erfassung des Inhalts „unbemerkt weiterreichen“ – besonders kritisch also im Hinblick auf etwa mobileTANs…
OK für SMS Apps, aber auch andere Apps können legitime Gründe zum Anfordern dieser Berechtigung haben. Beispiele wären das Zusenden spezieller Codes (etwa zum Freischalten zusätzlicher Funktionen), oder das Auslösen bestimmter Aktionen bei einer Anti-Diebstahl-App.
Weitere Details zu dieser Permission finden sich u. a. in diesem Post bei StackExchange, der auch auf Unterschiede des Handlings bei verschiedenen Android-Versionen eingeht.
RECEIVE_USER_PRESENT USER_PRESENT Broadcast empfangen 0 Für diese Permission konnte ich keinerlei Dokumentation finden – und weiß daher nicht einmal zu sagen, ob sie wirklich existiert. Tatsächlich gibt es jedoch einen Broadcast Intent android.intent.action.USER_PRESENT, der ausgelöst wird, wenn der Anwender (wahrscheinlich nach einer Pause) mit dem Gerät zu interagieren beginnt – z. B. indem er den Bildschirm entsperrt. Diese Permission könnte einer App erlauben, einen Empfänger für diesen Broadcast zu registrieren, um benachrichtigt zu werden.
RECEIVE_WAP_PUSH WAP Push Nachrichten empfangen Nachrichten da 0 Erlaubt den Empfang eingehender WAP Push Nachrichten.
WAP wird als Basistechnologie für MMS genutzt. Sowohl das Senden als auch das Empfangen einer Multimedia-Nachricht basiert auf WAP. Die Information, dass eine Multimedia-Nachricht zum Herunterladen bereitsteht, wird als WAP-Push an das Mobiltelefon gesendet. (Wikipedia)
RECORD_AUDIO Audio aufnehmen Mikrofon da 0 3 Tonaufnahmen erstellen. Das kann sowohl für ein "Diktaphon" genutzt werden – als auch zum Mitschneiden von Telefonaten. Ein Nebeneffekt ist typischerweise höherer Akku-Verbrauch.
Böser Cop: In Verbindung mit INTERNET könnte der Anwender damit auch prima unbemerkt belauscht werden.
REORDER_TASKS Laufende Anwendungen neu ordnen System-Tools no 0 Ermöglicht einer Anwendung, Aufgaben in den Vorder- und Hintergrund zu verschieben. Schädliche Anwendungen können so ohne Ihr Zutun eine Anzeige im Vordergrund erzwingen.
REQUEST_DELETE_PACKAGES Package Deinstallation anfordern System-Tools no 0 Erlaubt einer App, die Deinstallation (Löschung) von Packages (anderen Apps) anzufordern. Apps mit Target-APIs Build.VERSION_CODES.P (Android 9) oder größer müssen diese Permission anfordern, um Intent.ACTION_UNINSTALL_PACKAGE oder PackageInstaller.uninstall (VersionedPackage, IntentSender)) nutzen zu können. Da diese Aktion den App-Installer aufrufen sollte, sollten Anwender zur Bestätigung jeder Installation aufgefordert werden.
REQUEST_IGNORE_BATTERY_OPTIMIZATIONS Ausschluss von Akku-Optimierung erfragen Auswirkungen auf den Akku no 0 Erlaubt einer App, um den Ausschluss aus der Akku-Optimierung (aka „Doze Modus“) zu ersuchen. Der Anwender muss dem jedoch zustimmen.
REQUEST_INSTALL_PACKAGES Package Installation anfordern System-Tools si 0 Erlaubt einer App, die Installation von Packages anzufordern. Apps mit Target-APIs größer als 25 (Android 7/Nougat) müssen diese Permission anfordern, um ACTION_INSTALL_PACKAGE nutzen zu können. Da diese Aktion den App-Installer aufruft, sollten Anwender zur Bestätigung jeder Installation aufgefordert werden.
RESTART_PACKAGES Anwendungen neu starten System-Tools no 0 2-3 Laufende Apps beenden und neu starten. Wird z. B. verwendet, um von selbigen ein Backup erstellen zu können. (In der API-Referenz mittlerweile auf "deprecated" gesetzt, sollte also in neueren Versionen nicht mehr genutzt werden)
SCHEDULE_EXACT_ALARM Erlaubt Apps die Verwendung der API für exakte Alarme. Alarme no 0 Das System löst einen exakten Alarm zu einem bestimmten Zeitpunkt in der Zukunft aus. Apps, die diese Berechtigung besitzen und API-Level 31 (Android 12) oder höher anstreben, bleiben immer im WORKING_SET oder einem niedrigeren Standby-Bucket. Apps, die auf die API-Stufe 30 (Android 11) oder darunter abzielen, benötigen diese Berechtigung nicht, um exakte Alarm-APIs zu verwenden.
Exakte Alarme sollten nur für benutzerseitige Funktionen verwendet werden. Dies ist für Dinge wie Wecker und Kalenderereignisse gedacht. Einzelheiten finden sich [in der Entwicklerdokumentation] (https://developer.android.com/training/scheduling/alarms#exact).
Die Verwendung von exakten Alarmen kann Auswirkungen auf den Akkuverbrauch haben. Anders als bei USE_EXACT_ALARM kann der Nutzer der App dieses Recht jederzeit entziehen – was dann aber auch zuvor damit gesetzte Alarme löscht.
SEND_DOWNLOAD_COMPLETED_INTENTS Send download notifications Netzwerk si 0 Ermöglicht der App, Benachrichtigungen über abgeschlossene Downloads zu senden. Schadprogramme können dadurch andere Apps, die Dateien herunterladen, beeinträchtigen.
Steht nur System-Apps zur Verfügung.
SEND_RESPOND_VIA_MESSAGE Send Respond-via-Message Nachrichten sy 0 Erlaubt, einer anderen App eine Anforderung zur Verarbeitung der Respond-via-Message Aktion während eingehender Anrufe zu senden. Nicht für Drittanbieter-Apps gedacht.
Dahinter verbergen dürfte sich die Möglichkeit, eingehende Anrufe mittels Kurznachricht abzuweisen.
SEND_SMS Kurznachrichten senden Nachrichten da 0 Kurznachrichten senden. Und zwar ohne Zutun des Benutzers, auch an richtig teure Premium-Dienste (womit klar ist, wozu "böse Apps" das gern hätten). Es gibt aber auch "gute" Gründe für diese Permission: Natürlich die SMS-Apps, aber teilweise auch In-App-Käufe, die nicht über Google Checkout abgewickelt werden.
SEND_SMS_NO_CONFIRMATION SMS ohne Bestätigung senden Nachrichten sy 0 3 Erlaubt das Versenden von SMS über die SMS-App ohne Benutzer-Interaktion (bei bösartigen Apps kann das schnell teuer werden). Verwandt mit SEND_SMS, aber anders als jene für System-Apps reserviert.
SET_ACTIVITY_WATCHER Die Ausführung von Systemaktivitäten beobachten System-Tools sy 0 Wird meist für Debugging benutzt. Wenn es also keine Beta ist, hat der Entwickler vielleicht nur vergessen, das wieder raus zu nehmen.
Bösartige Apps können mit dieser Permission das gesamte System kompromittieren! Allerdings wird sie nur System-Apps gewährt.
SET_ALARM Alarme einstellen Alarme no 0 0 Erlaubt das senden eines Broadcast, um für den Anwender einen Alarm zu erstellen. Der Alarm wird dabei nicht direkt gesetzt, sondern stattdessen lediglich die Wecker-App aufgerufen – wo der Benutzer den Alarm dann einstellen kann.
SET_ALWAYS_FINISH Hintergrundaktivitäten schließen Entwicklerwerkzeuge da 0 App kann sich selber beenden – also wirklich beenden, nicht nur in den Hintergrund gehen: Diese Permission erlaubt ihr festzulegen, was bei Verlassen der App mit ihren Aktivities passieren soll.
SET_ANIMATION_SCALE Allgemeine Animationsgeschwindigkeit einstellen System-Tools dv 0 Anpassung der Animationsgeschwindigkeit (schnellere/langsamere Animationen).
SET_DEBUG_APP Debug Modus aktivieren Entwicklerwerkzeuge dv 0 Eine App für Debugging konfigurieren. Nichts für Endanwender-Apps.
Ermöglicht einer Anwendung, die Fehlerbeseitigung für eine andere Anwendung zu aktivieren. Schädliche Anwendungen können so andere Anwendungen löschen.
SET_ORIENTATION Bildschirmausrichtung festlegen System-Tools sy 0 Erlaubt das Festlegen der Ausrichtung (Rotation) des Bildschirms. Nicht für normale Apps gedacht.
SET_POINTER_SPEED Pointer Speed anpassen System-Tools sy 0 Low-Level Zugriff auf die Pointer-Geschwindigkeit. Die API-Referenz erklärt leider nichts näheres – außer, dass diese Permission nicht für Drittanbieter-Apps gedacht ist.
SET_PREFERRED_APPLICATIONS Bevorzugte Anwendungen festlegen System-Tools da 0 1-2 App kann jeder Aktivität eine Default-App zuweisen (etwa den Browser zum Öffnen einer URL). In neueren Android-Versionen ohne Auswirkung (deprecated).
SET_PROCESS_LIMIT Prozess-Limits einstellen Entwicklerwerkzeuge dv 0 Erlaubt das Festlegen der maximal laufenden (aber nicht benötigten) Prozesse einer App. Für Entwicklungszwecke gedacht; sollte in "normalen Anwendungen" nicht auftauchen.
SET_TIME Systemzeit einstellen Systemuhr sy 0 Erlaubt das Einstellen der Systemzeit. Nicht für Drittanbieter-Apps.
SET_TIME_ZONE Zeitzone festlegen Systemuhr da 0 Ermöglicht einer Anwendung, die Zeitzone des Telefons zu ändern. Sollte kein Risiko darstellen (außer, dass man evtl. zu spät zur Arbeit kommt).
SET_WALLPAPER Hintergrundbild festlegen Wallpaper no 0 Ermöglicht der Anwendung, das System-Hintergrundbild festzulegen. Geringes Risiko (abgesehen von schockierenden Bildern, die man auf dem Gerät haben könnte).
SET_WALLPAPER_COMPONENT Live-Wallpapers einstellen System-Tools sy 0
SET_WALLPAPER_HINTS Hinweise für Hintergrundbilder setzen Wallpaper no 0 Erlaubt das Setzen von Hinweisen für Hintergrundbilder. Was genau darunter zu verstehen ist, verrät die API-Referenz leider nicht. Anscheinend geht es hier um Einstellungen zu Größe und Position.
SHUTDOWN Teilweises Herunterfahren System-Tools sy 0 Erlaubt einer App, den "Activity Manager" in den Status "Closed" zu versetzen (führt keinen vollständigen Shutdown durch). Für Systemanwendungen reserviert.
SIGNAL_PERSISTENT_PROCESSES Signal an alle persistenten Prozesse senden Entwicklerwerkzeuge dv 0 Erlaubt das Senden eines Signals an alle persistenten Prozesse. Nicht für Drittanbieter-Apps.
STATUS_BAR Statusleiste ein-/ausblenden Status-Bar sy 0 Kann die Status-Bar öffnen, schließen, und ausblenden. Meist will die App wohl letzteres, um einen "Vollbild-Modus" zu ermöglichen.
STATUS_BAR_SERVICE Statusleiste Status-Bar si 0 Erlaubt einer App, die Statusleiste zu ersetzen (also selbst als Statusleiste zu fungieren). Für System-Apps reserviert.
Nach StackOverflow (übersetzt): Die Permission STATUS_BAR_SERVICE wird von Apps verwendet, die selbst Statusleiste sein möchten. Es handelt sich hierbei um eine geschützte Permission; sofern die entsprechende App also nicht festes Bestandteil einer ROM werden soll, ist es wahrscheinlich nicht die gewünschte Permission."
STOP_APP_SWITCHES Anwendungswechsel verhindern System-Tools sy 0 Hindert den Nutzer daran, zu einer anderen Anwendung zu wechseln. Für System-Apps reserviert.
SUBSCRIBED_FEEDS_READ Abonnierte Feeds lesen System-Tools no 0 2 Ermöglicht einer Anwendung, Details zu den zurzeit synchronisierten Feeds abzurufen.
Dies gibt einer App Zugriff auf alle RSS Feeds, die der Anwender abonniert hat. Malware kann so persönliche Interessen und andere semi-persönliche Informationen erschnüffeln.
SUBSCRIBED_FEEDS_WRITE Abonnierte Feeds schreiben System-Tools da 0 0-2 Ermöglicht einer Anwendung, Änderungen an den kürzlich synchronisierten Feeds vorzunehmen. Schädliche Anwendungen könnten so synchronisierte RSS Feeds ändern. Siehe auch SUBSCRIBED_FEEDS_READ.
SYSTEM_ALERT_WINDOW Warnungen auf Systemebene anzeigen Anzeige da 0 3 Fenster mit Systemwarnungen einblenden. Eine böswillige App kann so den gesamten Bildschirm blockieren. Sollte eigentlich nicht benutzt werden, da dies für System-Meldungen gedacht ist. Erlaubt das anzeigen von "Alert Windows", d. h. Nachrichtenfenstern, die immer im Vordergrund angezeigt werden (also über dem aktuellen Bildschirminhalt). Malware könnte dies zur Anzeige von ziemlich nervender Werbung nutzen. Ein positives Beispiel für die Nutzung dieser Permission ist die Meldung bei niedrigem Akku-Stand.
Siehe auch: Android.SE "Drawing over other apps"
tasker.PERMISSION_RUN_TASKS Tasker-Tasks starten 0 Ermöglicht einer App das Ausführen von Tasker Tasks – sowohl vom Entwickler vordefinierter, als auch vom Anwender erstellter – ggf. mit Parametern. Für Details, siehe die entsprechende Seite auf der Projekt-Website.
TRANSMIT_IR IR Sender benutzen Auswirkungen auf den Akku no 0 Erlaubt die Benutzung des IR-Transmitters, sofern vorhanden. Dürfte vor allem für Infrarot-Fernbedienungs-Apps interessant sein.
UNINSTALL_SHORTCUT Verknüpfungen vom Homescreen entfernen no 0 Erlaubt das Entfernen von Shortcuts vom Homescreen. Siehe INSTALL_SHORTCUT.
UPDATE_APP_OPS_STATS App-Vorgangsstatistiken ändern System-Tools sy 0 Ermöglicht der App, erfasste App-Vorgangsstatistiken zu ändern. Kann nicht von normalen Apps verwendet werden. Siehe auch: GET_APP_OPS_STATS.
UPDATE_DEVICE_STATS Gerätestatistiken aktualisieren System-Tools sy 0 Erlaubt das Aktualisieren von Gerätestatistiken. Der API-Referenz sind hier keine weiteren Details zu entnehmen – außer, dass diese Permission nicht für Drittanbieter-Apps gedacht ist.
USE_BIOMETRIC Biometrische Sensoren des Geräts nutzen Sensoren no 0 Ersetzt ab Android 9 USE_FINGERPRINT. Neben der Unterstützung zusätzlicher biometrischer Sensoren, sofern diese im Gerät vorhanden sind (etwa Gesichts- oder Iris-Scanner) bringt die zugehörige API auch die entsprechenden grafischen Dialoge mit.
USE_CREDENTIALS Authentifizierungsinformationen eines Kontos verwenden Konten da 0 Möchte die konfigurierten Zugangsdaten verwenden. Das heißt nicht unbedingt, dass es sie "zu sehen bekommt" – aber die App kann sich quasi "im Namen des Anwenders" anmelden. Beim ersten Mal wird der Anwender jedoch vom Account Manager gefragt, ob er dies zulassen möchte. Details finden sich u. a. in diesem Post bei Stack Exchange.
USE_EXACT_ALARM Ermöglicht es Anwendungen, exakte Alarme wie bei SCHEDULE_EXACT_ALARM zu verwenden, ohne dass diese Erlaubnis vom Benutzer angefordert werden muss. Alarme no 0 Dies ist nur für Anwendungen gedacht, die für ihre Kernfunktionalität auf exakte Alarme angewiesen sind. Andere Anwendungen sollten weiterhin SCHEDULE_EXACT_ALARM verwenden, wenn sie exakte Alarme für eine sekundäre Funktion benötigen, die Benutzer innerhalb der Anwendung verwenden können oder auch nicht.
Verfügbar ab Android 13.
USE_FINGERPRINT Zugriff auf Fingerprint-Hardware Sensoren no 0 Erlaubt einer App die Nutzung von Fingerprint-Hardware – ermöglicht jedoch nicht gleichzeitig den Zugriff auf den administrativen Teil für das Enrollment zur Authentifikation.
USE_FULL_SCREEN_INTENT Vollbild-Intents verwenden Anzeige no 0 Ab Android 10 sollen Apps nicht mehr die Möglichkeit haben, „aus dem Nichts kommend“ den gesamten Bildschirm zu belegen. Stattdessen sollen sie ihren Wunsch dem Anwender mitteilen – was über eine Benachrichtigung läuft, die der Anwender natürlich frei ist zu ignorieren. Versucht eine App dies ohne diese Berechtigung zu haben, wird das System das (bis auf eine entsprechende Fehlermeldung in den Logs) einfach ignorieren.
USE_SIP Internet Telefonie Telefonanrufe da 0 2-3 App kann Internet-Telefonie nutzen (SIP ist das Protokoll dafür).
USES_POLICY_FORCE_LOCK Sofortige Aktivierung des Sperrbildschirms Bildschirm-Sperre 0 Sofortiges Sperren des Bildschirms, als wäre der Timeout abgelaufen – aber auch die Festlegung der maximal möglichen Ablaufzeit. Der "POLICY" Bestandteil deutet auf einen Gerätemanager hin.
vending.BILLING In-App Einkäufe Kosten verursachen da 1 In-App Payment (in der App integrierte Bezahldienste, die über den Play Store abgewickelt werden).
Dies ist keine Android-Permission, sondern sie wird von Google Play zur Verfügung gestellt. Sofern dort die entsprechenden "Einkaufs-Einstellungen" sicher getroffen wurden (z. B. Passwort-Abfrage bei jedem Einkauf), sollte von dieser Permission keine Gefahr ausgehen.
vending.CHECK_LICENSE Google Play-Lizenzprüfung Netzwerk no 2 0 Wird benötigt um die Applikation gegen den Android-Market (Google Play Store) auf eine gültige Lizenz zu prüfen. Sollte eigentlich nur bei im Playstore gekauften Apps zu finden sein. Kein Risiko erkennbar.
Wird nicht von Android selbst, sondern von der Google Play Store App bereitgestellt.
VIBRATE Vibrationsalarm steuern Auswirkungen auf den Akku no 0 0 Wird gern genutzt, um beispielsweise auf die Beendigung (oder auch den Start) einer Aktivität hinzuweisen – oder generell, um die Aufmerksamkeit des Anwenders zu wecken. Laute Töne sind ja nicht immer erwünscht. „Vibrieren“ heißt: Lass das Gerät zittern und summen…
WAKE_LOCK Standby-Modus deaktivieren Auswirkungen auf den Akku no 0 0 App kann das System daran hindern, einen Ruhezustand einzunehmen (also den Bildschirm zu dimmen, die CPU "schlafen" zu lassen, etc.) Wäre doch blöd, wenn die Navi-App läuft und plötzlich der Bildschirm ausgeht.
Hat natürlich nachhaltige Auswirkungen auf die Akku-Laufzeit, wenn davon zu stark Gebrauch gemacht wird.
WRITE_APN_SETTINGS Einstellungen für Zugriffspunktname schreiben System-Tools sy 0 App kann die Zugangsdaten zum Internet etc. verändern. Meist geht es der App nur darum, den Namen des APN zu ändern – um die Verwendung des mobilen Datenverkehrs zu steuern (Beispiel: APNDroid). Malware könnte dies theoretisch nutzen, um Verbindungen in Fremdnetze einzurichten. Der Quellcode spricht sogar von "Abfangen und Mitschneiden des Datenverkehrs".
Nicht für Drittanbieter-Apps.
WRITE_CALENDAR Kalenderdaten schreiben Personenbezogene Daten da 0 2 Diese Permission erlaubt lediglich den Schreib-, nicht aber den Lesezugriff auf den Kalender. Die damit versehene App kann also Termine hinzufügen, nicht aber lesen oder ändern. So lange also nicht die Permission READ_CALENDAR gleichzeitig angefordert wird, ist das von dieser Permission ausgehende Risiko eher gering. Malware könnte dies jedoch ausnutzen, um Werbung im Kalender zu platzieren; die entsprechenden Termin-Warnungen dürften recht ärgerlich sein.
WRITE_CALL_LOG Anruflisten schreiben Personenbezogene Daten da 0 2 Erlaubt der App die Modifikation der Anrufliste, einschließlich der Daten über ein- und ausgehende Anrufe. Ist sicher sinnvoll für VoIP-Apps (damit die Anrufliste vollständig bleibt) und Backup-Apps. Andere Apps sollten hier jedoch nichts verloren haben. Bösartige Apps können mit dieser Berechtigung zum Beispiel heimliche Anrufe an Premiumnummern verbergen, indem sie den Anruf aus dem Protokoll löschen.
WRITE_CONTACTS Kontaktdaten schreiben Personenbezogene Daten da 0 2 Wie WRITE_CALENDAR, nur in Bezug auf die Kontaktdaten. Außerdem können damit auf dem Telefon gespeicherte Daten zu Kontakten geändert werden (etwa die Häufigkeit, mit der bestimmte Kontakte angerufen oder E-Mails an sie gesendet wurden).
Sofern die Beschreibung einer App auf kein plausibles Feature dafür verweist, sollte sie keinen Grund haben, diese anzufordern.
WRITE_EXTERNAL_STORAGE SD-Karten-Inhalt ändern/löschen Speicher da 0 2 App darf beliebige Daten auf der (externen) SD-Karte lesen, schreiben, verändern und auch löschen – prinzipiell auch die Daten anderer Apps. Diese Permission ist aber beispielsweise essentiell für diverse Backup- und Kamera-Apps, die natürlich Daten auf der Karte manipulieren müssen.
Warnung: Apps, die für Android 1.5 oder älter geschrieben wurden, erhalten diese Permission implizit!
Bis einschließlich Android 9 wird sie weiterhin für den Schreibzugriff auf Mediendateien (z.B. Fotos in DCIM/) benötigt. Ab Android 10 gibt es dafür separate Berechtigungen (hier: WRITE_MEDIA_STORAGE).
WRITE_GMAIL Gmail schreiben Nachrichten da 1 Ermöglicht dieser Anwendung, Ihre E-Mails in Google Mail zu ändern. Darunter fallen auch Sende- und Löschvorgänge.
Der assoziierte "Protection Level" unterscheidet sich von Gerät zu Gerät (dangerous/signature)
WRITE_GSERVICES Google Services Konfiguration verändern Konten sy 1 Erlaubt das Verändern der Google Service Map. Über genaueres schweigt sich die API-Referenz aus. Diese Permission ist jedoch ohnehin System-Apps vorbehalten.
Siehe auch READ_GSERVICES.
WRITE_HISTORY_BOOKMARKS Lesezeichen und Browser-Chronik schreiben Personenbezogene Daten da 0 2-3 Wie WRITE_CALENDAR, nur in Bezug auf Browser-History (Chronik) und Lesezeichen. Legitime Apps mit dieser Permission sind etwa solche für Backups oder Synchronisation – sowie natürlich Browser-Apps von Drittanbietern.
WRITE_MEDIA_STORAGE Inhalte des internen Medien-Speichers verändern Speicher sy 0 0 Erlaubt einer App das Schreiben im internen Medienspeicher.
WRITE_OWNER_DATA Eigentümerdaten schreiben Personenbezogene Daten da 0 Schreiben/verändern der auf dem Gerät gespeicherten Eigentümerdaten.
Was genau sich dahinter verbirgt, lässt die API-Referenz nicht nur offen – sondern erwähnt die Permission nicht einmal. Eine Vermutung ist, dass sich dies auf die im Lockscreen hinterlegbaren Daten zum Eigentümer handelt.
WRITE_PROFILE Das persönliche Profil des Anwenders schreiben Personenbezogene Daten da 0 1-3 Gegenstück zu READ_PROFILE.
WRITE_SECURE_SETTINGS Gesicherte Systemeinstellungen ändern Entwicklerwerkzeuge dv 0 4 Lesen und Schreiben gesicherter Systemeinstellungen. "Secure Settings" können nur von Systemanwendungen (also solchen, die ins "ROM" integriert wurden) angefordert werden.
WRITE_SETTINGS Allgemeine Systemeinstellungen ändern System-Tools sy 0 1-3 Erlaubt das Lesen und Schreiben allgemeiner Systemeinstellungen. Dies kann sich auf alles mögliche beziehen, was sich im Menü Einstellungen befindet (z. B. Flugmodus an/aus, Klingeltöne). Wird häufig von Widgets und Tools verwendet.
WRITE_SMS SMS Nachrichten schreiben Nachrichten da 0 3 SMS Nachrichten schreiben (jedoch nicht senden). Eine böswillige App könnte darauf hoffen, dass der Anwender die "ungesendete Nachricht" dann doch noch auf den Weg bringt.
WRITE_SOCIAL_STREAM Den Social-Media-Stream schreiben Soziale Informationen da 0 Diese Permission wurde mit Android 4.0 eingeführt. Eine damit ausgestattete App kann Status-Updates der sozialen Netzwerke schreiben, jedoch nicht lesen. Malware könnte somit im Namen des Anwenders Mitteilungen auf den Weg bringen.
WRITE_SYNC_SETTINGS Synchronisierungseinstellungen schreiben Synchronisierungseinstellungen da 0 1-2 Schreibzugriff auf die Einstellungen der Synchronisation. Eine mit dieser Permission ausgestattete App kann u. a. die Synchronisation von Kontakten und Kalendern aktivieren bzw. deaktivieren. Sinnvoll ist so etwas u. U. bei einer SMS Backup App; prinzipiell aber auch bei jeder App, die sich in den Sync-Mechanismus „einklinkt“, um ihre Daten zu synchronisieren. I. d. R. haben Apps der letztgenannten Gruppe einen Account assoziiert (z. B. Facebook o. ä.).
WRITE_USER_DICTIONARY Benutzerwörterbuch schreiben Benutzerwörterbuch no 0 Erlaubt den schreibenden Zugriff auf das Benutzerwörterbuch, um Begriffe hinzuzufügen. Siehe auch READ_USER_DICTIONARY.

Quellen: Android Developers, OWASP, Github, Stack Exchange, RuperTrawnsley's Blog, Android Cross Reference, AndroidPermissions.COM, AOSP Perms & PermDescs, MobilSicher

Weitere interessante Quellen zum Thema:

2024-02-26