LocationSmart verkaufte Echtzeit-Mobilfunkstandorte an Unternehmen und arbeitete dabei mit Verizon, AT&T, T-Mobile, Sprint sowie den kanadischen Anbietern Bell, Rogers und Telus zusammen. Auf seiner öffentlichen Testseite konnte jeder eine Telefonnummer eingeben und, sobald der Besitzer des Telefons auf eine SMS- oder Rückruf-Opt-in-Nachricht antwortete, dieses Telefon live auf einer Karte sehen. Der Zustimmungsschritt war der eigentliche Kern der Demo.
Am 16. Mai 2018 stellte der Forscher Robert Xiao fest, dass sich der Zustimmungsschritt überspringen ließ. Die Demo-API beantwortete denselben Vorgang in zwei Formaten, XML und JSON; wenn man den Standort mit requesttype=locreq.json statt des standardmäßigen XML anforderte, wurde die Abonnementprüfung vollständig unterdrückt. Zwei nicht authentifizierte POST-Anfragen – eine zum Erhalt eines Tokens, eine zur Anforderung des Standorts – lieferten die Straßenadresse des Ziels und einen Kartenkreis für jede US-Mobilfunknummer, einschließlich Telefonen, die nie zugestimmt hatten.
Da es sich um eine Triangulation auf Netzbetreiberseite handelte, funktionierte sie bei jedem Telefon unabhängig vom Betriebssystem oder den Datenschutzeinstellungen, und es gab keine Möglichkeit, sich abzumelden. Xiao behielt den Fund weder für sich noch veröffentlichte er ihn unbedacht: Er meldete ihn an US-CERT und arbeitete mit Brian Krebs zusammen, der die Geschichte veröffentlichte, nachdem LocationSmart den Fehler am Morgen des 17. Mai behoben hatte; Xiao veröffentlichte seine technische Beschreibung erst nach Überprüfung des Patches.
Die Offenlegung fiel in eine Zeit, in der die Branche bereits wegen des Verkaufs von Standortdaten unter Beobachtung stand: Die Beschreibung zitiert Berichte, wonach Netzbetreiber Daten an Securus lieferten, das sie unrechtmäßig an einen ehemaligen Strafverfolgungsbeamten weitergab. Xiaos Seite erreichte am Tag des Patches 1.209 Punkte und 270 Kommentare auf Hacker News und wurde auf Dutzenden Websites aufgegriffen.
Ein alternatives Antwortformat umging die Zustimmungsprüfung
Der JSON-Anfragetyp umging den Codepfad, der die Zustimmung durchsetzte, sodass eine Änderung des Formats um ein Wort vollständige Standortdaten ohne Opt-in lieferte.
Ein kurzer Proof of Concept, der eine Straßenadresse ausgab, machte den Fehler konkret und glaubwürdig, und genau das führte dazu, dass er innerhalb von etwa einem Tag behoben wurde.
Die koordinierte Offenlegung über US-CERT und einen vertrauenswürdigen Journalisten sorgte dafür, dass die Geschichte mit bereits vorhandenem Patch bekannt wurde und nicht als Zero-Day-Schrecken.
Der Standort auf Netzbetreiberseite betraf jeden Teilnehmer der vier großen US-Netzbetreiber ohne Möglichkeit zum Opt-out, sodass der Demo-Fehler eine landesweite Datenschutzexposition war und kein Sonderfall.
Behandle jedes Antwortformat als Angriffsfläche: Eine Zustimmungsprüfung in einem Handler kann in einem anderen fehlen. Belege die Schwere mit einer funktionierenden Demo, melde über CERT und veröffentliche erst nach dem Patch.
LocationSmart behob die Schwachstelle bis zum Morgen des 17. Mai 2018, und Brian Krebs veröffentlichte die Geschichte am selben Tag; anschließend veröffentlichte Xiao seine technische Beschreibung und seinen Proof of Concept. Die Seite erreichte 1.209 Punkte und 270 Kommentare auf Hacker News und wurde von Dutzenden Medien übernommen. Der Vorfall hielt die Aufmerksamkeit auf der Praxis der Netzbetreiber, Echtzeit-Standortdaten zu verkaufen, was LocationSmart und Securus bereits wenige Tage zuvor in die Nachrichten gebracht hatte.
DEN BELEGEN FOLGEN
Die Quellen
- Tracking Firm LocationSmart Leaked Location Data for Customers of All Major U.S. Mobile Carriers in Real Time via Its Web Site KrebsOnSecurity · krebsonsecurity.com ·
- US cell carriers selling access to real-time location data ZDNet · zdnet.com
- Senator furious at police's easy ability to get real-time mobile location data Ars Technica · arstechnica.com
- LocationSmart Leaked Location Data for All Major U.S. Carriers in Real Time — Hacker News discussion Hacker News · news.ycombinator.com ·