Android Berechtigungen - eine Top-500 Analyse

Android Berechtigungen

eine Top-500 Analyse

Oliver Kunz
by Oliver Kunz
time to read: 13 minutes

Im Artikel Schwachstellen in WhatsApp kam ich bereits auf das Thema der App-Berechtigung zu sprechen. Nachdem das Ausnützen der damaligen Schwachstelle eine Applikation mit zwei Berechtigungen (sowohl Telefonstatus und Identität abrufen und Kontakte lesen) benötigte, beschloss ich, die Top-500 kostenpflichtigen und kostenlosen Apps im Google Play Store auf ihre verschieden Berechtigungen hin zu untersuchen.

Eine Übersicht

Die Informationen, was mit einer bestimmten Berechtigung möglich gemacht wird, erhalten Sie bereits bei der Installation. Dies kann auf einem Mobiltelefon durchaus unübersichtlich wirken. Bei Apps mit einer grösseren Anzahl an Berechtigungen, ist es daher ratsam, diese in einem PC-Browser genauer anzuschauen.

Die Berechtigungen werden in verschiedene Berechtigungs-Gruppen unterteilt – In der untersuchten Menge konnte ich 11 verschiedene ausmachen:

  1. Hardware-Steuerelemente
  2. Ihre Konten
  3. Ihre Nachrichten
  4. Ihre personenbezogenen Daten
  5. Kostenpflichtige Dienste
  6. Netzkommunikation
  7. Telefonanrufe
  8. Standard
  9. Standort
  10. Speicher
  11. System-Tools

In der Dokumentation für Android-Entwickler finden sich jedoch 30 verschiedene Berechtigungs-Gruppen. Sie haben keine Funktion, sondern dienen lediglich der logischen Gliederung verwandter Berechtigungen. Interessanter scheint die Dokumentation der verschieden Berechtigungen. Insgesamt sind 130 dokumentiert. Da Entwickler weitere Berechtigungen für ihre Apps definieren können ist diese Liste nicht als abschliessend zu betrachten.

Die Top-500

Wie bereits erwähnt, verwende ich als Datenbasis die Top-500 Apps aus dem Google Play Store in den Kategorien kostenlose und kostenpflichtige Apps. Gerne hätte ich diese Untersuchung auf alle verfügbaren Apps durchgeführt.

Eine Anfrage bei Google erbrachte mir nur Kenntnis, dass Sie mir nicht weiterhelfen konnten. Im Alleingang alle Apps zu katalogisieren, wäre ein enormes Unterfangen geworden. Zumal Google den Zugriff durch Scripts mit der Zeit unterbindet. Die Konsequenz, alle Apps zu analysieren wäre möglich, durch die benötigte Zeit jedoch uninteressant.

Die verwendeten Top-500 Indexe und den grössten Teil der verwendeten Daten wurden am 21. Dezember 2012 vom Google Play Store geladen. Teilweise musste ich Daten am 3. Und 4. Januar 2013 nachladen, da einzelne Apps keine Werte lieferten. Bei den kostenlosen Apps stellte ich dabei fest, dass bereits mehrere Apps aus dem Store entfernt wurden. Die Daten konnte ich dennoch erfassen.

Kostenlose Apps

Alle Berechtigungen freier Apps

Wie die Grafik zeigt, verwenden die meisten Apps eine Berechtigung aus den folgenden Gruppen:

Die nächste Abbildung zeigt die Anzahl der verschiedenen Berechtigungen innerhalb der einzelnen Berechtigungs-Gruppen auf. Bei der Netzkommunikation fand ich nur 3 unterschiedliche Berechtigungen, bei den System-Tools deren 24. Es werden daher öfters die gleichen Berechtigungen der Netzkommunikation als jene der System-Tools verwendet werden.

Berechtigungs-Gruppen freier Apps

Die folgende Grafik weisst jene Berechtigungen auf, welche in über 100 Apps vorgefunden wurden. Klar an der Spitze ist Voller Netzwerkzugriff aus der Kategorie Netzkommunikation. Diese Berechtigung ermöglicht es einer App, Netzwerk-Sockets und benutzerdefinierte Netzwerkprotokolle zu verwenden. Über 284 Apps gebrauchen diese Berechtigung, welche zur Ausnutzung der WhatsApp-Schwachstelle von Oktober 2012 benötigt wurde – Telefonstatus und Identität abrufen.

Populäre Berechtigungen in freien Apps

Diese Anzahl verschiedener Berechtigungen verteilt sich verschiedentlich auf die einzelnen Apps. Der grösste Teil der Apps verwendet 6 unterschiedliche Berechtigungen.

Anzahl gebrauchter Berechtigungen bei freien Apps

Kostenpflichtige Apps

Bei den kostenpflichtigen Apps sieht die Verteilung der Berechtigungen etwas anders aus. Zwar ist auch hier die Gruppe Netzkommunikation an der Spitze, jedoch nicht mehr so deutlich, wie bei den kostenlosen Apps. Auf dem 2. Platz steht hier die Gruppe Speicher, gefolgt von System-Tools und Telefonanrufe.

Alle Berechtigungen kostenpflichtiger Apps

Berechtigungs-Gruppen kostenpflichtiger Apps

Im Vergleich zu den kostenlosen Apps, verwenden die kostenpflichtigen Apps weniger unterschiedliche Berechtigungen in der Gruppe Ihre Konten. Bei den System-Tools und Standard-Berechtigungen verzeichnen die kostenpflichtigen Apps jedoch ein deutliches Mehr an verschiedenen Berechtigungen.

Von den untersuchten Top-500 kostenpflichtigen Apps benötigten 52 keine zusätzlichen Berechtigungen. Hier zeigte sich, dass es sich in 27 Fällen entweder um einen ausgewiesenen Lizenzschlüssel handelte oder um eine Spendenversion, was meist zu einer Entfernung der Werbung führt.

Apps ohne Berechtigungen

Die nächste Grafik zeigt die Berechtigungsverteilung bei den kostenpflichtigen Apps. Im Unterschied zu den kostenlosen Apps ist liegt der Peak bei 4 Berechtigungen. Bei beiden Kategorien lag die maximal verwendete Anzahl Berechtigungen bei 11.

Anzahl gebrauchter Berechtigungen bei kostenpflichtigen Apps

Die folgende Grafik weist jene Berechtigungen auf, welche in über 100 Apps vorgefunden wurden. Die Top-3 entsprechen den gleichen Berechtigungen, wie bei den kostenlosen Apps. Den Hauptunterschied findet man in den Gruppen Netzkommunikation und Standort. Letztere Gruppe ist hier gar nicht mehr vertreten. Während bei den kostenlosen Apps die Berechtigungen Netzwerkverbindungen anzeigen und WLAN-Verbindungen anzeigen nicht unter den 100 meist verwendeten Berechtigungen aufgeführt wurden.

Populäre Berechtigungen in kostenpflichtigen Apps

Berechtigungen und was dahinter steckt

Wir wissen nun, welche Berechtigungen am häufigsten in den beiden Top-500 anzutreffen sind. Was jedoch wirklich dahinter steckt, ist oftmals gar nicht so einfach zu deklarieren.

Berechtigungen in mehr als 100 Apps

Die folgenden 10 Berechtigungen fand ich in mehr als 100 Apps der beiden Top-500 Kategorien.

Berechtigung Beschreibung Szenarien
Vibrationsalarm steuern Zugriff auf die Vibrationsfunktion des Gerätes
Netzwerkverbindungen anzeigen Informationen über aktive Netzwerkverbindungen, oder welche Netzwerke in der Nähe sind Informationssammlung: Standort, Kommunikationen
Voller Netzwerkzugriff Netzwerk Sockets erstellen und proprietäre Protokolle verwenden Jegliche Daten ohne Browseraufruf senden
WLAN-Verbindungen anzeigen Siehe Netzwerkverbindungen anzeigen Informationssammlung: Standort, Kommunikationen
Inhalt Ihres USB Speichers ändern oder löschen Inhalt Ihrer SD-Karte ändern oder löschen Lese-Schreibe Zugriff auf den Speicher gewähren Zugriff auf alle Daten im Speicher, auch Ihre persönlichen
Zugriff auf geschützten Speicher testen Testen ob Zugriff auf USB- oder SD-Speicher möglich ist
Ruhezustand des Tablets deaktivieren Ruhezustand des Telefons deaktivieren Deaktiviert den Timer für die Ruhezustandsaktivierung
Telefonstatus und Identität abrufen Auslesen der Telefonnummer, der Geräte-ID (IMEI), der Telefonnummer des Gesprächspartners und den Anrufstatus des Telefons. Informationssammlung: Eigene Identität und Nutzungsverhalten, Identität der Kommunikationspartner
Ungefährer Standort (netzwerkbasiert) Ortung über Mobilfunkantennen oder WLAN-Accesspoints Standortverfolgung und Standortabhängige Werbung
Genauer Standort (GPS- und netzwerkbasiert) Ortung über das GPS-Modul, Mobilfunkantennen oder WLAN-Accesspoints siehe Ungefährer Standort

Weitere Berechtigungen in den Top-500

Berechtigung Beschreibung Szenarien
Alle Telefonnummern direkt anrufen Telefonnummern ohne den Android-Dialer (potentiell ohne Wissen des Nutzers) wählen Kostenverursachen, Abhören von Gesprächen
SMS senden SMS Nachrichten versenden (potentiell ohne Interaktion des Nutzers) Kostenverursachen
Caches anderer Apps löschen Zugriff und Manipulation auf Cache-Dateien dritter Apps Verfügbarkeit anderer Dienste einschränken
Ohne Wissen der Eigentümer Kalendertermine hinzufügen oder ändern und E-Mails an Gäste senden Zugriff auf den Android-Kalender. Auch importierte Kalender von Drittpersonen. Informationssammlung
Daten aus dem Internet abrufen Nachladen von App-Daten des App-Servers aus der Cloud Schadsoftware, nicht offiziell vorhanden im Play Store, nachladen
Dauerhaften Broadcast senden Nach dem Ende der Broadcastübertragung wird die Übermittlung nicht beendet Akkulaufzeit und Systemstabilität beeinträchtigen
Kontakte lesen Zugriff auf das Telefoninterne Adressbuch Informationssammlung
Anrufliste lesen Zugriff auf die Aktivitäten des Android-Dialer Informationssammlung
Mit einem Geräteadministrator interagieren Senden von asynchronen System-Nachrichten zur Anforderung von Android-System-Komponenten Auf nicht vorhergesehene Komponenten zugreifen
Vertrauliche Protokolldaten lesen Lesezugriff auf die Systeminternen Protokolle ermöglichen. Diese können vertrauliche oder private Daten beinhalten. Informationssammlung
Systeminternen Status abrufen Interner Status auslesen, beinhaltet potentielle private und geschützte Daten Informationssammlung

Zusammenspiel von Berechtigungen

Im Einzelnen betrachtet, ist auch nicht jede Berechtigung eine Bedrohung. Doch die Kombination einzelner Begebenheiten kann zur Erhöhung des Sicherheitsrisikos führen.

Zwei Apps wünschen zum Beispiel folgende Berechtigungen:

App-A App-B
Kontakte lesen Kontakte lesen
Telefonstatus und Identität abrufen
Voller Netzwerkzugriff

Jede Berechtigung für sich betrachtet birgt ein gewisses Risiko. Wer die Kontakte lesen kann, der erfährt, wen ich kenne. Wer meinen Status und Identität abrufen kann, der erfährt wann und mit wem ich telefoniere, wie meine Telefonnummer ist und welches Gerät ich einsetze. Wer vollen Netzwerkzugriff hat, kann Daten ohne Browser ins Internet senden.

Die App-A birgt ein grösseres Risiko als die App-B. Denn A kann erfahren mit wem, ich wann telefoniere und kann diese Informationen auch weiter leiten. B hingegen kann nur mein Adressbuch aufrufen.

Ich möchte damit nicht zum Ausdruck bringen, dass jede App mit diesen Berechtigung ein Sicherheitsrisiko darstellt und nicht installiert werden soll. Es scheint mir jedoch wichtig, dass die Benutzer von Mobile-Geräten eine gewisse Vorsicht, ein Misstrauen entwickeln. Wenn eine App eine Berechtigung verlangt, welche offensichtlich für die legitime Funktion benötigt wird, so ist dieses Risiko zu akzeptieren. Wenn Sie jedoch ein Spiel installieren möchten und dieses auf Ihren internen System Status zugreifen möchte, dann sollten Sie misstrauischer werden.

Fazit

Es gibt eine grosse Anzahl von Berechtigungen und Berechtigungs-Gruppen. Das zeigte schon nur eine Auswertung von 1’000 Apps. Insgesamt fand ich 128 verschiedene Berechtigungen.

Die grösste Schwierigkeit war herauszufinden, welche Möglichkeiten wirklich hinter einer Berechtigung stehen. Als Quelle hat der Benutzer die Beschreibung im Google Play Store, etwas versiertere Benutzer werden wahrscheinlich noch in der Android-Dokumentation nachschauen. Diese beinhaltet aber nur 130 Standard-Berechtigungen auf Englisch. Ein Abgleich mit den Bezeichnungen im Play Store ist auf Englisch nicht einfach und auf Deutsch gar nicht möglich. Das führt wohl dazu, dass sich ein durchschnittlicher Benutzer nur auf die Bezeichnung im Store verlassen wird, wenn überhaupt.

Es scheint mir nur logisch, dass nicht jeder Benutzer die Berechtigungen genau durchliest. Bedenkt man, dass Apps über 10 Berechtigungen aufweisen und die einzige Information, die man erhält fallen – nett gesagt – etwas grob aus.

Aber warum werden mehr Apps auf Mobile-Geräten als Software auf PC/Mac installiert? Ein Grund könnte sein, dass die Schwelle zur Installation einer App tiefer zu sein scheint als bei klassischer Software auf dem Windows- oder Mac-System. Ein Klick und die App ist installiert, ein Klick und sie ist wieder deinstalliert. Das hat unumgänglich zur Folge, dass man sich auch weniger mit den Implikationen und dem Produkt auseinandersetzt. Was hinterlässt die App für Spuren? Wer hat die App entwickelt? Was macht die App auf meinem Gerät? In gewisser Weise ist es ein gesellschaftlicher Leichtsinn.

Mein zentrales Fazit, stellen Sie sich bei der Installation einer App folgende Fragen:

Beantworten Sie eine dieser Fragen mit Nein, so sollten Sie sich die Installation nochmals überlegen.

About the Author

Oliver Kunz

Oliver Kunz has been in information security since 2010. Mainly, he deals with incident response, forensics and the security of mobile devices.

Links

You need support in such a project?

Our experts will get in contact with you!

×
Security Testing

Security Testing

Tomaso Vasella

Active Directory certificate services

Active Directory certificate services

Eric Maurer

Foreign Entra Workload Identities

Foreign Entra Workload Identities

Marius Elmiger

Active Directory certificate services

Active Directory certificate services

Eric Maurer

You want more?

Further articles available here

You need support in such a project?

Our experts will get in contact with you!

You want more?

Further articles available here