Android: Bei jeder Standortermittlung erfährt Google eure Position inkl. IMSI-Nummer
Viele Android-Apps nutzen die Standortermittlung, um den genauen oder ungefähren Standort des Benutzers zu bestimmen. Was jedoch den meisten nicht bewusst ist: Jedes Mal, wenn eine solche Standortermittlung durchgeführt wird, erhält Google nicht nur den ungefähren Standort, sondern auch die IMSI-Nummer des Benutzers:
Die International Mobile Subscriber Identity (IMSI; deutsch Internationale Mobilfunk-Teilnehmerkennung) dient in GSM-, UMTS– und LTE–Mobilfunknetzen der eindeutigen Identifizierung der Netzteilnehmer (interne Teilnehmerkennung).
Die Anfrage zur Standortermittlung muss nicht unbedingt von einer Google-App stammen. Egal welche App diese Anfrage stellt, Google erhält die Daten. Im Folgenden erkläre ich, wie das funktioniert.
Grundlagen: A-GPS | SUPL
Der Standort eines Smartphones kann auf verschiedene Arten ermittelt werden. Die wohl wichtigsten Hilfsmittel dafür sind GPS/GLONASS, WiFi und das Mobilfunk-Netzwerk. Im Falle von GPS ermittelt das Gerät selbst seine Position durch Kommunikation mit Satelliten. Da die Bestimmung des Standorts via GPS vergleichsweise lang dauert, wird zusätzlich Assisted GPS (abgekürzt als A-GPS) eingesetzt. A-GPS ist ein System, das die Zeit bis zum ersten Fixieren eines satellitengestützten Positionierungssystems (GPS) meist deutlich verbessert – die GPS-Positionsbestimmung wird also beschleunigt. Wie funktioniert das? Bei Mobiltelefonen ist anhand der Funkzelle, in der euer Gerät eingebucht ist, der ungefähre Aufenthaltsort bereits bekannt. Via Secure-User-Plane-Location-Protokoll (SUPL) wird nun dieser ungefähre Standort an einen SUPL-Server gesendet, der anhand dieser Informationen den Suchbereich für die Satellitensignale einschränkt und somit eine schnelle GPS-Positionsbestimmung ermöglicht. Die Kommunikation mit dem SUPL-Server erfolgt via TCP/IP über das UserPlane Location Protocol.
Android: supl.google.com
Solch einen SUPL-Server nutzen Android-Systeme, um die Ortungszeit für GNSS (GPS, GLONASS usw.) erheblich zu beschleunigen. Bei Android wird hierbei die Gegenstelle supl.google.com
über Port 7275 kontaktiert. An der Stelle wift sich die Frage auf, weshalb supl.google.com als SUPL-Server verwendet wird. Ganz einfach: Euer Mobilfunkbetreiber kann einen SUPL-Server als Teil seiner Betreiberkonfiguration auswählen. Die meisten Anbieter belassen es bei der Standardeinstellung, und diese lautet bei Android – Trommelwirbel: supl.google.com
.
Anbei nun ein gekürzter Datenmitschnitt von solch einer SUPL-Anfrage, die bei der Standortermittlung versendet wird:
Internet Protocol Version 4, Src: 10.215.173.1, Dst: 142.251.31.192 Transmission Control Protocol, Src Port: 51516, Dst Port: 7275, Seq: 1, Ack: 1, Len: 71 [...] OMA UserPlane Location Protocol ULP-PDU length: 71 version maj: 2 min: 0 servind: 0 sessionID setSessionID sessionId: 4 setId: imsi (3) imsi: 62022207547xxxxx IMSI: 26202xxxxxxxxxx [Association IMSI: 26202xxxxxxxxxx] Mobile Country Code (MCC): Germany (262) Mobile Network Code (MNC): Vodafone GmbH (02) message: msSUPLSTART (1) msSUPLSTART sETCapabilities posTechnology .... ..0. agpsSETassisted: False .... ...1 agpsSETBased: True 1... .... autonomousGPS: True .0.. .... aflt: False ..1. .... ecid: True ...0 .... eotd: False .... 0... otdoa: False ver2-PosTechnology-extension gANSSPositionMethods: 5 items Item 0 GANSSPositionMethod ganssId: Galileo (0) gANSSPositioningMethodTypes ..0. .... setAssisted: False ...1 .... setBased: True .... 1... autonomous: True gANSSSignals: 80 [bit length 1, 7 LSB pad bits, 1... .... decimal value 1] 1... .... = signal1: True .0.. .... = signal2: False ..0. .... = signal3: False ...0 .... = signal4: False .... 0... = signal5: False .... .0.. = signal6: False .... ..0. = signal7: False .... ...0 = signal8: False [...]
Problematisch dabei ist, dass bei der Anfrage auch die personenbeziehbare IMSI-Nummer an den SUPL-Server übermittelt wird – was technisch gesehen eigentlich nicht notwendig wäre. Die Kombination der IMSI-Nummer mit den Funkzellen-IDs ermöglicht dem Betreiber eines SUPL-Servers, die relativ genaue Lokalisierung eines Nutzers, sobald das Smartphone eine SUPL-Anfrage initiiert. Das SUPL-Protokoll ist also eigentlich relativ sinnvoll, nur ist fraglich, weshalb hierbei die IMSI-Nummer übermittelt wird – und dann ausgerechnet noch an Google.
Im obigen Datenmitschnitt habe ich die IMSI-Nummer übrigens weitestgehend unkenntlich gemacht. Die 15 Ziffern einer IMSI-Nummer setzen sich wie folgt zusammen:
- Mobile Country Code (MCC): 262 für Deutschland
- Mobile Network Code (MNC): 02 für Vodafone
- gefolgt von der 10-stelligen Mobile Subscriber Identification Number (MSIN): xxxxxxxxxx
Zusammenfassend kann man sagen, dass Google mithilfe der IMSI und der Funkzellen-IDs eine permanente persönliche Kennung erhält und somit bei jeder Standortermittlung in der Lage ist, den Standort zu lokalisieren und aufzuzeichnen.
Wege aus dem Dilemma
Nun stellt sich die Frage, ob man den SUPL-Server nicht einfach ändern kann. Vielleicht einfach auf supl.vodafone.com
? Kann man machen, allerdings ist die Adresse lediglich ein CNAME und verweist wiederum auf supl.google.com:
CNAME name:supl.vodafone.com address: ttl:3560 A name:supl.google.com address:142.250.13.192 ttl:3598 A name:supl.google.com address:142.250.13.192 ttl:3598
Damit ist also nichts gewonnen. Schlimmer: Ohne Root könnt ihr den SUPL-Server nicht anpassen, den euch euer Provider zuweist. Sofern ihr Root-Rechte habt, könnt ihr euch zumindest via dem Magisk-Module SUPL replacer behelfen.
Für alle Android-Nutzer (ohne Root) möchte ich nachfolgend eine Lösung bzw. »Problemumgehung« vorstellen:
Über »Einstellungen -> Netzwerk & Internet -> SIM-Karten -> Zugangspunkte (APNs) -> [aktuell verwendeter APN] -> APN-Typ« lässt sich das Verhalten beeinflussen. Entfernt man unter APN-Typ den Wert supl
, wird kein SUPL-Server zur schnelleren Standortbestimmung kontaktiert. Anschließend tippt ihr auf die drei Pünktchen [oben rechts] und speichert die Einstellungen. Die Standortbestimmung erfolgt dann ausschließlich über die GNSS-Schnittstelle, was die Ortungszeit allerdings erheblich verlängert. Dies ist natürlich alles andere als ideal.
Hinweis
Im Forum werden bereits weitere Lösungsmöglichkeiten diskutiert. Eine davon soll bspw. über den Tracking- und Werbeblocker AdAway realisierbar sein.Entwarnung für GrapheneOS-Nutzer
Lediglich Nutzer des Custom-ROMs GrapheneOS können sich entspannt zurücklehnen. Dort werden alle Anfragen an den SUPL-Server von Google über den Proxy supl.grapheneos.org
geleitet und zusätzlich die IMSI-Nummer aus der Anfrage entfernt. Das Resultat: Google kann die Anfrage zur Standortermittlung keinem Nutzer/Gerät zuordnen. Eigentlich genau so, wie es sein sollte.