Android-Apps können ohne Berechtigungen sensible Infos ergattern

Sicherheitsforscher zeigt Lücken des Berechtigungssystems auf - Zugriff auf SD-Karte, Paketliste und SIM-Informationen

Das Ziel des Berechtigungssystem von Android ist es nicht zuletzt, den Zugriff auf Systemressourcen und -informationen klar und übersichtlich zu regeln, damit ein unbemerktes Ausspionieren der UserInnen möglichst verhindert wird. Wer also beispielsweise den Standort der NutzerInnen erfahren will, muss diese Funktionalität auch explizit anfordern - worüber wiederum bei der Installation informiert wird.

Untersuchung

Doch was lässt sich eigentlich mithilfe einer App herausfinden, die keinerlei Berechtigungen anfordert? Dieser Herausforderung hat sich Paul Brodeur von der Leviathan Security Group gestellt - und dabei durchaus Interessantes zu Tage gefördert.  So kann auch eine solche App ohne Probleme auf die Inhalte der SD-Karte zugreifen und diese auslesen, etwa dort gespeicherte Fotos oder andere sensible Informationen einsehen.

Erklärung

Dies ist an sich auch wenig überraschend, ist die SD-Karte doch üblicherweise mit dem alten Windows-Dateisystem FAT32 formatiert, das keinerlei Berechtigungsmodell kennt, und so den Zugriff gar nicht beschränken kann. Eine Ausnahme bildet hier nur Googles eigenes Galaxy Nexus, bei dem auch dieser Teil (bzw. das /sdcard-Verzeichnis, eine eigene SD-Karte gibt es hier ja nicht, Anm.) mit dem Linux-Dateisystem ext4 formatiert ist. Doch auch dies bringt wenig, da Google hier aus Kompatibilitätsgründen sämtliche Berechtigungen "wegwirft".

Apps

Ebenfalls ganz interessant dürfte die Liste der installierten Anwendungen sein, die sich über den Zugriff auf /data/system/packages.list herausfinden lässt. Zum Teil konnte man mithilfe dieser Informationen sogar einzelne Dateien anderer Apps auslesen können, was auf fehlerhaft gesetzte Berechtigungen hinweist, wie es etwa bei Skype vor nicht all zu langer Zeit zu einem Sicherheitsproblem geführt hat. Wie ein Kommentar unter dem Bericht von Leviathan allerdings herausstreicht, ist das Auslesen der App-Liste ohne jegliche Berechtigungen auch ganz offen über die PackageManager-Klasse von Android möglich - und offen von Google so spezifiziert.

Infosammlung

Während der Zugriff auf IMEI und IMSI über die PHONE_IDENTITY-Berechtigung abgesichert ist, lassen sich auch ohne diese zumindest manch Informationen über die NutzerInnen herausfinden. So können sowohl SIM- als auch GSM-Netz-Hersteller (also üblicherweise der eigene Netzbetreiber) ausgelesen werden, zudem ist es möglich die eindeutige - aber laut Google nicht auf eine konkrete Person rückführbare - Android ID eines Geräts zu bekommen. Zu guter Letzt kann über den Zugriff auf /proc/version - wie von Linux-Systemen gewohnt - die verwendete Kernel-Version eingesehen werden, was eine recht exakte Zuordnung der eingesetzten Firmware ermöglicht (und wiederum potentiell als Basisinformation für Angriffe genutzt werden könnte).

Trickreich

All dies wäre natürlich rein akademischer Natur, hätte man nicht bei Leviathan auch noch einen Trick gefunden, wie man diese Informationen ohne die eigentlich für jeglichen Netzverkehr nötige INTERNET-Berechtigung verschicken kann: Mithilfe des URI_ACTION_VIEW-"Intent" - der eben keinerlei  zusätzliche Berechtigungen benötigt - lässt sich eine beliebige Adresse an den Android-Browser übergeben und in diesem öffnen. Diesen Umstand macht man sich zunutze und hängt einfach einen GET-Parameter an die URI an, der die gefundenen Infos an den Zielserver übergibt. Dies funktioniert laut dem Forscher zuverlässig und auch mehrmals in Serie, so dass stückchenweise auch größere Datenmengen übertragen werden können. (Andreas Proschofsky, derStandard.at, 13.04.12)

Share if you care