Android fasst jede App mit der Kneifzange an, sperrt sie in ein Gefängnis und schlägt ihr auf die Finger, sobald sie Schindluder treiben möchte. Viele Apps bitten bei der Installation jedoch häufig darum, diese Vorsichtsmaßnahmen aufzuweichen. Höchste Zeit also, einmal einen genaueren Blick auf die oftmals blind abgenickten Rechte zu werfen.
Eine App hat es unter Android wahrlich nicht leicht. Standardmäßig darf sie nur mit dem Benutzer des Smartphones beziehungsweise Tablets interagieren und Dinge auf den Bildschirm malen. Daten muss sie in einem eigens für sie geschaffenen Unterverzeichnis ablegen, das gleichzeitig auch noch vor den Blicken aller anderen installierten Kolleginnen geschützt ist. Mit denen darf die App zudem nur eingeschränkt und auf eine ganz bestimmte Weise kommunizieren. All diese rigiden Maßnahmen zusammen würden allerdings nur recht langweilige Apps ermöglichen.
Gefängniswärter
Unter der Haube nutzt Android gleich mehrere, aufeinander aufbauende Konzepte, um die Apps zu maßregeln und voneinander abzuschotten. Die Basis von Android bildet zunächst eine angepasste Variante des Betriebssystems Linux. Dieses stellt ein Benutzermanagement bereit und kontrolliert den Dateizugriff. Bei der Installation einer App legt Android für sie automatisch einen neuen Linux-Benutzer an und erstellt im Gerätespeicher unter /data/data
ein persönliches Verzeichnis. Da es (dem Linux-Benutzer) der App gehört, kann nur die App selbst dort ihre Daten ablegen, allen anderen fehlen dazu von Haus aus die entsprechenden Rechte.
Die in der Programmiersprache Java geschriebenen Apps laufen nicht direkt auf der Hardware. Stattdessen führt sie eine virtuelle Maschine namens Dalvik in jeweils einem eigenen Prozess aus. Damit läuft eine App nicht nur abgeschottet von allen anderen, es gibt auch noch eine zusätzliche Instanz, die den Apps auf die Finger schaut und etwa grobe Programmierfehler abfängt. Das so unter dem Strich entstehende Hochsicherheitsgefängnis bezeichnet man auch als Sandbox.
Gierige Geier
Die meisten Apps verlangen deshalb Zugriff auf weitere Funktionen und Informationen. So muss beispielsweise das Navi den aktuellen Standort über das eingebaute GPS-Modul abfragen und die Twitter-App ins Internet funken dürfen. Solche zusätzlichen Befugnisse muss jede App explizit bei ihrer Installation beantragen. Android erkundigt sich dann beim Benutzer des Geräts, ob er der App den Zugriff auf diese Funktionen gewähren möchte. Wer schon einmal eine App installiert hat, kennt diese Rückfragen (Abbildung 1). Dabei gilt nur Hop oder Top: Entweder man erlaubt der App den Zugriff auf die eingeforderten Systemfunktionen oder verzichtet auf eine Installation.


Einige App-Shops zeigen schon vor dem Kauf beziehungsweise Download an, welche erweiterten Systemfunktionen die gewählte App später nutzen wird. Im Android Market findet man die entsprechenden Informationen auf dem Register Berechtigungen (Abbildung 2). Jedoch informieren nur wenige App-Stores derart ausführlich. Insgesamt kennt Android derzeit weit über 100 verschiedene Spezial- und Systemfunktionen, die eine App anfordern und verwenden kann. Ihren jeweiligen Nutzen verstehen teilweise nur Entwickler beziehungsweise Kenner des Android-Betriebssystems. Einige App-Stores fassen die Forderungen einer App immerhin einigermaßen lesbar zusammen beziehungsweise übersetzen sie ins Deutsche (Abbildung 3).

Trotz dieser Hilfen bleibt in der Regel unklar, wofür beziehungsweise warum eine App welche Funktionen benötigt. Beispielsweise leuchtet es zunächst nicht ein, warum Spiele wie die beliebten Angry Birds [1] oder das neue Tetris [2] Zugriff auf das Telefon verlangen oder immer den aktuellen Standort des Besitzers wissen müssen.
Manchmal klingt eine eingeforderte Berechtigung schlimmer, als sie tatsächlich ist: Damit beispielsweise ein Medienplayer während eines Telefonats automatisch aufhört vor sich hin zu dudeln, benötigt er entsprechenden Zugriff auf die Telefoniefunktionen, die Android wiederum mit einem bedrohlichen Telefonstatus lesen und identifizieren einfordert. Analog verlangen die Angry Birds Schreibzugriff auf die SD-Speicherkarte, um dort Spielstände speichern und im besten Fall erhöhen zu können – nur erfährt man das normalerweise nirgendwo.
Hinterhältige Gefahrenstoffe
Diese Undurchsichtigkeit hat dazu geführt, dass viele Android-Benutzer einfach blind jede Forderung einer App abnicken. Das nutzen wiederum Entwickler von Viren, Trojanern und Spionageprogrammen aus. Sie stellen in die App-Stores vermeintlich nützliche Apps, die zumindest auch den Netzwerkzugriff einfordern. Ein unachtsamer Benutzer nickt diesen Wunsch dann bei der Installation vertrauensselig ab und hat sich so einen Virus eingefangen. Selbst im Android Market tauchen immer wieder solche heimtückischen Apps auf. Man sollte sich deshalb bei der Installation einer App immer ein paar Sekunden Zeit nehmen und genau hinsehen, welche Systemfunktionen die App anfragt. Skepsis ist beispielsweise angebracht, wenn ein Mediaplayer kostenpflichtige SMS versenden möchte. Auf den ersten Blick scheint das trivial – im Herbst 2010 haben jedoch zahlreiche Android-Benutzer genau diesen Widerspruch übersehen und sich so einen Trojaner eingefangen [3]. Zudem ist es nicht immer ganz so offensichtlich: Im Gegensatz zu einem Medienplayer muss eine fesche SMS-App auch SMS verschicken können. Es garantiert aber niemand, dass sie heimlich nicht doch zahlreiche kostenpflichtige Kurznachrichten versendet.
Letztendlich muss man jeder App vertrauen. Das sollte gegeben sein, wenn sehr viele Benutzer die App verwenden – erkennbar in den App-Stores an den Kommentaren, der Beliebtheit und der Anzahl der Installationen. Je mehr Augen auf eine App und einen Entwickler schauen, desto wahrscheinlicher kommen versteckte Sicherheitslücken ans Licht. Das bekam im Frühling 2011 auch Rovio zu spüren, Hersteller der Angry Birds. Mit einer Aktualisierung bat das Spiel plötzlich darum, kostenpflichtige SMS verschicken zu dürfen [4]. Nur wenige Minuten später ging ein Aufschrei durch das Internet. Rovio sprach erst von einer Unachtsamkeit, dann von einer neuen Einkaufsmöglichkeit für zusätzliche Spielinhalte. Schließlich ruderte Rovio zurück und entfernte die Funktion wieder. Auch Electric Arts entfernte den Zugriff auf kostenpflichtige Nummern nach Protesten aus seiner Tetris-App.
Zweifel an der Gutmütigkeit einer App kann schnell eine Suchanfrage bei Google oder Bing beseitigen – oder bestätigen. Zusätzliche Hilfe gibt die Tabelle „Wichtige und kritische Rechte im Überblick“.
Nachtragshaushalt
Entscheidet man sich für eine Installation der App, kann man ihr die einmal zugesprochenen Rechte nachträglich nicht wieder entziehen. Immerhin stellt Android sicher, dass sie auch zukünftig nur genau die angeforderten Systemfunktionen nutzt. Die App kann es sich also nicht einfach anders überlegen und doch plötzlich die Standortdaten anzapfen. Die ihr zugestandenen Funktionen darf sie aber sehr wohl in vollem Umfang nutzen. So darf das Spiel Angry Birds genau so wie die Facebook- und E-Mail-App jeden beliebigen Internetserver kontaktieren. Als Benutzer kann man sie weder auf bestimmte Server noch auf bestimmte Dienste festnageln.
Wer nachträglich wissen möchte, was seine Apps auf einem Gerät so alles anstellen dürfen, wechselt in die Einstellungen (alias Settings), dort weiter zur Liste mit den Anwendungen (Apps oder Anwendungen) und tippt schließlich auf Anwendungen verwalten. In der Liste entscheidet man sich für die entsprechende App und findet dann auf der neuen Seite ganz am unteren Rand alle Berechtigungen, die die App benötigt. Als einfacher Android-Benutzer hat man jedoch auch hier keine weiteren Eingriffsmöglichkeiten – eigentlich. Denn mit einem kleinen Trick kann man einer App doch noch einzelne Rechte entziehen. Das ist jedoch zum einen nicht ganz ungefährlich und zum anderen muss man dabei das Installationspaket der App auseinandernehmen.
Mannis Fest
Die aus dem Store bezogene App-Datei ist eigentlich gar kein Programm, sondern ein komprimiertes Archiv. Es besitzt die Endung .apk
und enthält neben der eigentlichen, ausführbaren Anwendung noch ein paar weitere Dateien. Eine davon trägt immer den Namen AndroidManifest.xml
. Sie enthält das sogenannte Manifest, eine Liste mit Informationen rund um die App. Darin finden sich neben der Versionsnummer auch die von ihr benötigten Rechte. Indem man nun das Archiv auseinandernimmt und die unerwünschten Rechte in der AndroidManifest.xml
ausradiert, kann man gezielt den Zugriff der App auf einzelne Systemfunktionen verhindern.
Dazu muss man zunächst die .apk
-Datei der App auf den eigenen PC transferieren. Sofern man beim Einkauf beziehungsweise Download der App dieses Archiv nicht schon direkt erhalten hat, kann man es mit einer App wie dem AppMonster [5] oder appSaver [6] auf eine eingesteckte SD-Speicherkarte sichern und dann auf den PC übertragen.
In die .apk
-Datei linst unter Windows das Programm APK Edit [7] (Abbildung 4). Bevor man das Werkzeug installieren kann, benötigt man noch Java [8] und das .NET Framework mindestens in Version 3.5. Letzteres sollte auf aktuellen Windows-Versionen bereits installiert sein. Mit APK Edit öffnet man die .apk
-Datei, wechselt dann zum Register Details und klickt auf Browse. Im neuen Fenster führt man einen Rechtsklick auf die Datei AndroidManifest.xml
aus und wählt aus dem Kontextmenü Bearbeiten.
Wer unter Linux oder Mac OS X arbeitet, muss das .apk
-Archiv umständlich in einem Terminal-Fenster mit dem Werkzeug apktool [9] entpacken. Um es einsetzen zu können, benötigt man das Java Development Kit, das man unter Linux schnell über den eigenen Paketmanager hinzuholt. Anschließend angelt man sich von der apktool-Homepage sowohl das apktool1.4.1.tar.bz2
-Paket, als auch das für das eigene Betriebssystem gedachte apktool-install...
-Archiv. Beide entpackt man und kopiert dann die drei herausgepurzelten Dateien als Benutzer root respektive Administrator in das Verzeichnis /usr/local/bin
. Jetzt kann man das .apk
-Archiv in einem Terminal-Fenster mit dem Befehl:
apktool d app.apk out
entpacken, wobei app.apk
durch den Dateinamen der App zu ersetzen ist. Der Inhalt des Archivs landet im neuen Verzeichnis out
.
Egal mit welchem Werkzeug man an die AndroidManifest.xml
gelangt, ihr Inhalt ist ziemlich kryptisch (Abbildung X). Wichtig sind alle Zeilen, die mit
<uses-permission ...
beginnen. Jede von ihnen bittet Android um eine bestimmte Systemfunktion. Steht in ihr beispielsweise die Zeile:
<uses-permission android:name="android.permission.INTERNET" />
möchte die App irgendwann ins Internet gehen (Abbildung 5). Wichtig ist der Begriff in den Großbuchstaben, die restlichen Zeichen weisen Android nur daraufhin, dass es sich um den Antrag auf ein Zugriffsrecht handelt.

Nicht immer sind die Berechtigungen so naheliegend beziehungsweise einfach zu lesen. Mit jeder Android-Version kommen zudem neue hinzu. Eine (englische) Aufstellung aller Rechte findet man in der Entwicklerdokumentation [10], die wichtigsten nennt die Tabelle „Wichtige und kritische Rechte im Überblick“.
Möchte man nun der App ein Recht entziehen, löscht man einfach die zugehörige Zeile und speichert die Änderungen ab. Dabei muss man insbesondere unter Windows darauf achten, dass der Editor die Textdatei in der Zeichencodierung UTF-8 speichert.
In APK Edit klickt man danach auf OK, was wiederum die .apk
-Datei aktualisiert. Anschließend kann man die App wie gewohnt (erneut) installieren.
Wer das apktool einsetzt, muss die App zunächst wieder verpacken. Dazu ruft man im out
-Verzeichnis (in dem die AndroidManifest.xml
liegt) den Befehl:
sudo apktool b
auf. Das System fragt dabei nach dem Passwort eines Administrators beziehungsweise des Benutzers root. Im Unterverzeichnis dist
liegt jetzt eine neue .apk
-Datei. Die muss man noch signieren:
sudo keytool -genkey -v -keystore release.keystore -alias alias_name -keyalg RSA -validity 10000 sudo jarsigner -verbose -keystore release.keystore app.apk alias_name
app.apk
ersetzt man dabei durch den Dateinamen des .apk
-Archivs, das man abschließend wieder auf dem Smartphone oder Tablet installieren kann.
Die nachträgliche Manipulation und der Rechteentzug führen allerdings oftmals dazu, dass die App nicht wie gewohnt funktioniert oder sogar regelmäßig abstürzt. Man sollte daher zumindest eine Kopie der originalen .apk
-Datei aufbewahren. Obendrein verstößt man insbesondere bei kommerziellen Apps gegen die Lizenzbedingungen.
Zurück zu den Wurzeln
Nicht nur die Apps unterliegen einer strengen Kontrolle, auch der Benutzer des Smartphones oder Tablets darf nur in begrenzten Bahnen handeln. So bekommt er etwa keinen Zugriff auf die Systemdateien. Mit speziellen inoffiziellen Programmen kann man sich jedoch allumfassende Rechte verschaffen. Man spricht in diesem Fall von einem Root-Zugriff – in Anlehnung an den allmächtigen Benutzer namens root
aus Unix- und Linux-Betriebssystemen. Wie man sich Root-Zugriff auf dem eigenen Gerät verschafft, hängt vom Modell und Hersteller ab. Anleitungen hierzu findet man unter anderem im Android-Hilfe-Forum [11]. Meist gibt es eine spezielle App, die mit wenigen Fingertipps („On-Click“) das Android-Gerät „rootet“. Bekannte Werkzeuge dieser Gattung hören auf die Namen Easy Root, unrevoked, Visionary oder z4Root. Als Universalist ist am ehesten SuperOneClick zu bezeichnen, der angeblich bei „99 Prozent“ aller Android-Geräte die Root-Rechte herbeiführt. In der Regel nutzen diese Apps Fehler im Android-System aus, um die Gewalt über das komplette Gerät zu erlangen und so dem Benutzer schließlich den gewünschten Root-Zugriff zu gewähren. Mitunter schließen die Android-Macher diese Lücken allerdings in späteren Updates. Dann verliert man nicht nur die Root-Rechte, man muss auch darauf hoffen, dass jemand ein neues Root-Werkzeug entwickelt. Andererseits stopft man mit dem Update mindestens eine Sicherheitslücke – es nicht einzuspielen, könnte folglich gefährlich werden.
Meist gibt es die Root-Werkzeuge nicht im Market, sondern nur auf den Seiten der Programmierer. Man muss daher zunächst in den Einstellungen des Smartphones beziehungsweise Tablets die Installation von Apps aus fremden Quellen erlauben, das Root-Werkzeug auf eine SD-Karte kopieren und es dann über einen Dateimanager (wie etwa die beliebte Linda [12]) starten und einspielen. Je nach Gerät kommt man auch nicht darum herum, sich in die (Kommandozeilen-)Werkzeuge der Android Entwicklungsumgebung (SDK, Software Development Kit) einzuarbeiten – allen voran adb
, der Android Debug Bridge, mit der man die Programme auf das Smartphone beziehungsweise das Tablet schiebt [13].
Wer den Root-Zugriff auf dem eigenen Gerät freischaltet, verliert dabei jegliche Garantie. Darüber hinaus muss man fremden Programmen aus teilweise undurchsichtigen Quellen vertrauen. Selbst wenn die keine bösen Absichten hegen, weiß man nie, ob sie nicht an anderer Stelle neue Sicherheitslücken aufreißen.
Die dunkle Seite der Macht
Hat man einmal den Root-Zugriff hergestellt, kann man nicht nur tief in das Android-System abtauchen, sondern auch einzelnen Apps weiterreichende Rechte einräumen – etwa den Zugriff auf die Daten der Kollegen. Damit laufen dann auch Apps, die ohne Root-Zugriff undenkbar wären. Dazu zählen unter anderem Backup-Apps, die das gesamte System mit Haut und Haaren sichern, wie etwa Titanium Backup [14], komfortable Screenshot-Programme a la drocap2 [15] oder Werbeblocker wie AdFree Android [16]. Die meisten dieser Apps setzen übrigens die Werkzeugkiste BusyBox [17] voraus, die eine ganze Reihe gängiger Linux-Befehle und Programme nachrüstet.
Startet man nach der Freischaltung zum ersten Mal eine App, kann man in der Regel festlegen, ob man ihr die umfassenden Root-Rechte nur jetzt, immer oder niemals zugestehen möchte. Über die App SuperUser [18] lassen sich nicht nur alle Apps mit Root-Rechten einsehen, sondern ihnen auch nachträglich diese Rechte wieder entziehen. Normale Apps maßregelt man mit dem LBE Privacy Guard [19] oder Permissions Denied [20]. Mit ihnen erübrigt sich somit der umständliche Eingriff in das Manifest.
Da man auf dem freigeschalteten Gerät nun auch selbst mehr Rechte besitzt, kann man allerdings auch (versehendlich) wichtige Systemanwendungen oder Konfigurationsdateien löschen und so das komplette Gerät lahmlegen. Wer mit dem Gedanken spielt, sich Root-Rechte zu verschaffen, sollte daher unbedingt ein Backup des gesamten Systems anlegen. Darüber hinaus lechzen auch wieder Schad- und Spionageprogramme nach den erweiterten Rechten, können sie doch noch umfassender in die Eingeweide des Systems spicken. Wer sein Gerät „gerootet“ hat, sollte folglich bei der Installation von Apps doppelt so vorsichtig sein.
Fazit
Bevor man eine App installiert, sollte man unbedingt die eingeforderten Rechte kontrollieren. Kann man die nicht nachvollziehen, hilft möglicherweise ein klärender Blick auf die Seiten des App-Entwicklers, im Zweifel sollte man ihn sogar (per E-Mail) direkt kontaktieren. Bleiben zu viele Fragen offen, sollte man lieber zu einer anderen App mit ähnlichem Funktionsumfang greifen.
Ein maßregelnder Eingriff in die .apk
-Datei lohnt nur in Sonderfällen. Meist handelt man sich damit unerwünschte Nebeneffekte und Abstürze ein. Nur wer sich wirklich damit auskennt, sollte seinem Gerät einen Root-Zugriff spendieren oder gar ein CustomROM einspielen. Zu groß ist das Risiko, dass man unbemerkt Teile des Systems zerstört, neue Sicherheitslücken aufreißt oder sich Schadprogramme einfängt.
Wichtige und kritische Rechte im Überblick
Meldung bei Installation | Interner/Formaler Name | Bedeutung |
---|---|---|
Ungefährer (netzwerkbasierter) Standort | ACCESS_COARSE_LOCATION | Die App erfährt den ungefähren Standort des Geräts. Dazu ermittelt Android anhand der Position der umgebenden Funkmasten, wo sich das Smartphone beziehungsweise Tablet befindet. Steht diese Information nicht zur Verfügung, wertet Android Informationen über die anfunkbaren WLANs aus. Diese groben Standortinformationen nutzen unter anderem Apps zur Restaurantsuche, andere blenden wiederum lokale Werbung ein. |
Genauer (GPS-) Standort | ACCESS_FINE_LOCATION | Die App erhält die exakten Standortdaten vom eingebauten GPS-Modul. Diese Information nutzen beispielsweise Apps zum Geocaching. Foto-Apps speichern die Daten häufig als Metainformation in den geschossenen Bildern. |
Netzwerkstatus anzeigen | ACCESS_NETWORK_STATE | Die App darf Informationen über die zugänglichen Netzwerke abfragen. |
WLAN-Status anzeigen | ACCESS_WIFI_STATE | Die App darf Informationen über alle derzeit verfügbaren, drahtlosen Netzwerke einholen. |
Bluetooth-Verbindungen herstellen | BLUETOOTH | Die App darf über Bluetooth mit anderen, bereits verbundenen Geräten sprechen. |
Bluetooth-Verwaltung | BLUETOOTH_ADMIN | In diesem Fall kann die App nicht nur mit anderen Geräten über Bluetooth kommunizieren, sie darf auch andere Bluetooth-Geräte suchen und neue Verbindungen zu diesen Geräten herstellen – beides sogar heimlich. |
Telefonnummern direkt anrufen | CALL_PHONE | Die App kann das Telefon benutzen und eine beliebige Nummer wählen, ohne dass es der Benutzer merkt beziehungsweise sieht. Diese Möglichkeit nutzen einige Schad-Apps aus, um teuere Telefondienste anzurufen. |
Alle Telefonnummern direkt anrufen | CALL_PRIVILEGED | Die App darf (heimlich) jede beliebige Telefonnummer wählen, darunter auch Notrufnummern. |
Bilder und Videos aufnehmen | CAMERA | Die App darf die eingebaute Kamera nutzen. Dies benötigen neben Foto-Apps auch beispielsweise auch Lese-Apps für Barcodes. Schadsoftware könnte allerdings auch regelmäßig Bilder schießen und so persönliche Daten ausspähen. |
UI-Einstellungen ändern | CHANGE_CONFIGURATION | Die App darf die Grundeinstellungen des Mobiltelefons verändern und beispielsweise eine andere Sprache oder Schriftgröße wählen. |
Anwendungen löschen | DELETE_PACKAGES | Die App darf andere Apps deinstallieren. Dieses Recht fordern vor allem Dateimanager, andere Apps brauchen es nicht. |
Gerät/Tablet ein- oder ausschalten | DEVICE_POWER | Die App darf in die Energiesparfunktionen eingreifen und das Gerät ein- und ausschalten. Dieses Recht sollte normalerweise für eine App tabu sein. |
Bekannte Konten suchen | GET_ACCOUNTS | Die App darf sich eine Liste mit allen auf dem Gerät gespeicherten Benutzerkonten holen. |
Tasten und Steuerungstasten drücken | INJECT_EVENTS | Mit diesem Recht ausgestattete Apps dürfen selbst Benutzer spielen und eigenmächtig Tastatureingaben absetzen. Dies kann etwa für Behinderte nützlich sein, die so wiederkehrende Eingabefelder automatisch ausfüllen lassen können. Auf der anderen Seite kann eine bösartige App damit auch eigenmächtig das Empfängerkonto in einer Banküberweisung ändern oder eine kostenpflichtige Telefonnummer eintippen. |
Anwendungen direkt installieren | INSTALL_PACKAGES | Die App darf andere Apps (genauer gesagt .apk -Pakete) installieren. Dieses Recht fordern vor allem Dateimanager. |
Uneingeschränkter Internetzugriff | INTERNET | Die App darf auf das Internet und alle anderen derzeit verfügbaren Netzwerke zugreifen. Auf diesem Weg laden viele Apps Werbung und Spiele weitere Level nach. |
Kontoliste verwalten | MANAGE_ACCOUNTS | Die App darf alle auf dem Gerät gespeicherten Benutzerkonten verwalten und ändern. |
Externen Speicher formatieren | MOUNT_FORMAT_FILESYSTEMS | Die App darf die eingesteckte SD-Speicherkarte formatieren, also komplett löschen. Es gibt normalerweise keinen Grund, dieses Recht zu erteilen. |
Dateisysteme bereitstellen oder Bereitstellung aufheben | MOUNT_UNMOUNT_FILESYSTEMS | Die App darf die eingesteckte SD-Speicherkarte aushängen, also zum sicheren Entfernen vorbereiten. Eigentlich sollte keine App dieses Recht erhalten. Eine Ausnahme bilden lediglich Apps zur Verwaltung der Speicherkarten. |
Kontaktdaten lesen, SMS oder MMS lesen und Kalendereinträge lesen | READ_CONTACTS, READ_SMS und READ_CALENDAR | Die die App darf die Kontakte (READ_CONTACTS), alle gespeicherten SMS (READ_SMS) und die Termine aus dem Kalender (READ_CALENDAR) lesen – jedoch nicht manipulieren. |
Telefonstatus lesen und identifizieren | READ_PHONE_STATE | Die App kann prüfen, ob und wenn ja mit welcher Telefonnummer der Benutzer gerade verbunden ist. Diese Information benötigen beispielsweise Medienplayer und Spiele, um sich bei einem eingehenden Anruf in den Hintergrund zu verkrümeln oder zumindest den Ton abzudrehen. Andererseits kann man eine App auch spionieren, mit wem man telefoniert hat. |
Audio aufnehmen | RECORD_AUDIO | Die App darf das gerade durch das Gerät laufende Tonmaterial, sowie alle Telefonanrufe aufnehmen. Damit lässt sich sowohl eine Diktiergeräte-App erstellen, als auch ein Schadprogramm, das alle Gespräche abhört. |
Kurznachrichten senden | SEND_SMS | Die App darf ohne Zutun des Benutzers SMS verschicken – auch an kostenpflichtige Dienste. Ähnliche wie CALL_PHONE nutzen das Schad-Apps aus, um im Hintergrund massenhaft kostspielige SMS zu senden. Umgekehrt laufen über diesen Dienst aber auch In-App-Käufe, über die man beispielsweise in Spielen weitere Level nachkauft. SMS-Apps brauchen dieses Recht natürlich ebenfalls. |
Bevorzugte Einstellungen festlegen | SET_PREFERRED_APPLICATIONS | Die App darf die Grundeinstellungen des Geräts verändern und so beispielsweise einen anderen Standard-Webbrowser wählen. |
Authentifizierungsinformationen eines Kontos verwenden | USE_CREDENTIALS | Die App darf im System gespeicherten Benutzerkonten verwenden, um sich bei den entsprechenden Diensten anzumelden. Man muss also beispielsweise die Facebook-App nur starten und kann dann direkt losschreiben. Andererseits erhält eine App auf diese Weise auch Zugriff und Einblick in sensible und persönliche Daten. Eine Schad-App könnte sogar eigenmächtig die Dienste nutzen und beispielsweise auf Facebook Werbemüll auf die Pinnwand schreiben. Die Anmeldung bei den Diensten übernimmt übrigens Android, die App selbst bekommt also das Passwort nicht zu sehen. |
Kontaktdaten schreiben, SMS oder MMS bearbeiten, Kalendereinträge hinzufügen oder ändern und E-Mails an Gäste senden | WRITE_CONTACTS, WRITE_SMS, WRITE_CALENDAR | Eine App darf Kontakte, SMS und Termine verändern beziehungsweise neu anlegen. Das ist beispielsweise notwendig, wenn eine App automatisch einen neuen Termin im Kalender eintragen soll. Allerdings darf die App dort dann auch Daten löschen. |
SD-Karten-Inhalt ändern/löschen | WRITE_EXTERNAL_STORAGE | Die App kann auf die eingesteckte SD-Speicherkarte zugreifen und dort Dateien sowohl anlegen, als auch löschen. |
Allgemeine Systemeinstellungen ändern | WRITE_SETTINGS | Die App darf die Telefoneinstellungen verändern. |