Aus Linux-Magazin 11/2018

Auf der Spur von Android-Geräten

© Brian Jackson, 123RF

Eine Schwachstelle in älteren Android-Versionen hat zur Folge, dass ein entfernter Angreifer Bewegungsprofile von Android-Benutzern anlegen kann.

Die Attacke [1] basiert auf dem Auslesen der MAC-Adresse, die ein Gerät eindeutig identifiziert und erlaubt, es zu verfolgen. Das Android-Betriebssystem verwendet so genannte Intents für die Kommunikation zwischen Prozessen. Dazu zählen auch Broadcast-Nachrichten, die ein Prozess sendet, während alle anderen sie lesen können. Auf diese Weise verschickt Android auch zahlreiche Informationen über Funknetz-Verbindungen und das Wifi-Netzwerkinterface via Broadcast an alle Prozesse.

Dies geschieht über zwei spezielle Intents: »NETWORK_STATE_CHANGED_ACTION« (Wifi-Manager) und »WIFI_P2P_THIS_DEVICE_CHANGED_ACTION«. (Wifi-P2p-Manager). Die Nachrichten enthalten unter anderem die MAC-Adresse, die BSSID, den Namen des Wifi-Accesspoint, die IP-Adresse und den DNS-Server. Da es sich bei den Intents um Broadcasts handelt, können alle Prozesse des Android-Geräts diese Daten lesen.

Die genannten Netzwerk-Informationen stellt im Prinzip auch der Wifi-Manager selbst den Applikationen bereit – das wäre sogar der von Android vorgesehene Weg, um an sie zu gelangen. Allerdings braucht die Applikation dafür »ACCESS_WIFI_STATE«-Rechte in der Manifest-Datei (»AndroidManifest.xml«). Zusätzlich benötigt sie auch »ACCESS_FINE_LOCATION«- und »ACCESS_COARSE_LOCATION«-Rechte, um an Geo-Informationen zu gelangen.

Sind entsprechende Einträge in der Manifest-Datei nicht vorhanden, so sollte eine Applikation an diese Informationen eigentlich nicht gelangen können. Außerdem darf ein Prozess die MAC-Adresse seit Android-Version 6 über das API nicht mehr regulär auslesen.

Eine Applikation kann aber diese Restriktionen umgehen, indem sie einfach die Broadcast-Nachrichten der »NETWORK_STATE_CHANGED_ACTION«- und »WIFI_P2P_THIS_DEVICE_CHANGED_ACTION«-Intents abhört. Diese Sicherheitslücke ist sehr leicht reproduzierbar. So kann etwa die App “Internal Broadcasts Monitor” von Vilius Kraujutis aus dem Google Playstore solche Broadcast-Intents überwachen und auslesen.

Wie der Name der Applikation es schon andeutet, darf ein Anwender hiermit auch die Broadcast-Intents des Systems detailliert einsehen. Die relevanten Broadcasts mit den Netzwerkinformationen werden dann nämlich über »android.net.wifi.STATE_CHANGE« und »android.net.wifi.p2p.THIS_DEVICE_CHANGED« angezeigt.

Ein Angreifer nutzt die Schwachstelle aus, indem er sein Opfer dazu bringt, eine entsprechend präparierte Applikation zu installieren. Hierzu muss er lediglich einen Broadcast-Empfänger in der besagten Applikation implementieren. Das ist sehr einfach, es reichen wenige Zeilen Code dafür aus.

Da die MAC-Adresse für jedes Gerät eindeutig ist, kann die Applikation auf dieser Grundlage ein bestimmtes Android-Gerät verfolgen. Kombiniert mit Geo-Informationen erzeugt der Angreifer detaillierte Bewegungsprofile seiner Opfer. So lassen sich Netzwerkname und BSSID mit Hilfe von Wigle [2] oder Skyhook [3] in Geo-Informationen auflösen.

Diese Sicherheitslücke tritt in Android 9 nicht mehr auf.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 1 HeftseitePreis €0,99
(inkl. 19% MwSt.)
LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben