festnetz.cool got acquired by X-Forward-For-Ventures der Deutschen Telekom AG
Die Deutsche Telekom bietet seit vielen Jahren B2B-Dienstleistungen um Nutzer*innen auch mit wechselnden IPs tracken zu können. Mit festnetz.cool gründete ich ein disruptives Startup, welches mithilfe von Komfortfeatures kostenfrei nutzbares Tracking im Internet anbot. Mit Methoden, die so einfach und innovativ sind, dass wir prompt von der Telekom übernommen wurden.
Im Netz der Telekom gibt es an einigen Stellen Komfort-Features. Wenn man sich z.B. aus dem WLAN in der Magenta-App einloggen möchte, dann wird der Telekom-Nutzername automatisch ausgefüllt. Oder auf der Webseite anschlussinfo.de gibt es eine einfache Möglichkeit, die feste Vorwahl und die Leitungs-ID eines Anschlusses abzurufen. Diese ID nutzt die Telekom intern dafür, damit der Internetanschluss auf die richtige Leitung aufgeschaltet wird.
Es gibt auch Komfort-Features für Telekom-Anschlüsse bei der Bundesnetzagentur. Diese betreibt die Webseite https://www.breitbandmessung.de/, um die Geschwindigkeiten von Internetanschlüssen statistisch zu erfassen. Dafür hat sie eine Schnittstelle bei der Telekom, um Daten wie das verkaufte Telekom-Paket über einen Anschluss abzufragen.
Was diese Komfortfeatures gemeinsam haben: Sie funktionieren auf Basis der IP-Adresse. Die Telekom überprüft also beim Aufruf eines solchen Features in ihrem internen System, welchem Kunden sie welche IP zugewiesen hat und gibt dann basierend auf der IP interne Informationen aus. Klingt ganz praktisch. Ist es aber nicht immer.
Features, von denen alle profitieren!
Was für die einen wie eine Autovervollständigung ist oder einen Weg in den Keller spart, ist für den Anderen ein nützliches Feature, um Nutzer*innen hervorragend im Internet zu überwachen. Denn natürlich können solche Komfortfeatures nicht nur manuell von Menschen, sondern auch automatisiert z.B. von Apps mit Trackingfunktionen aufgerufen werden.
Noch spannender ist es aber natürlich, wenn man diese Tracking-Funktionen auch für beliebige andere Nutzer*innen anbieten kann. Also z.B. nicht nur die eigene Anschlussinformation oder den eigenen gebuchten Plan abrufen kann, sondern die von allen Telekom-Nutzern.
Nicht nur die Telekom mag Komfortfeatures, sondern auch Hersteller von Server-Software. Darunter auch mehrere Funktionen um einem Server zu sagen “Ich komme jetzt zwar von IP-Adresse-X, habe aber eine Anfrage von IP-Adresse-Y für dich”. Das nennen wir einen X-Forward-For Header.
Im Internet gibt es öfters Fälle, in denen ein Server eine Anfrage zu einem anderen Server weiterleiten muss. Das ist z.B. notwendig, wenn man Server hinter eine Firewall betreibt. Der Server hinter der Firewall würde immer nur die IP-Adresse der Firewall sehen und nie, woher die eigentliche Anfrage kommt. Deswegen schickt der Firewall-Server dann einfach die IP des Systems, von dem die Anfrage kam, mit. Der Server selbst behandelt die weitergeleitete IP, dann einfach so alsob es die IP wäre, von der die Anfrage ursprünglich kam.
Praktisch eigentlich. Außer der Server benutzt die IP für Dinge wie Authentifizierung des Users, der gerade die Anfrage stellte. Dann ist das eher unpraktisch und kann schnell zu Datenabflüssen führen.
Daten werden wertvoller, wenn man sie mischt.
Ich sagte also einfach den Komfort-Features der Telekom, ich würde eine Abfrage im Auftrag einer anderen IP durchführen. Und schon bekam ich die Daten von anderen Menschen.
Die fügte ich dann zu einem praktischen Datensatz zusammen, der uns Informationen über den physikalischen Anschluss, die Vorwahl sowie das gebuchte Internet-Paket gibt.
{
"ip": "91.58.13.12",
"lineID": "11171312",
"code": "030",
"details": {
"id": 89760841,
"name": "MAGENTAZUHAUSE M - MAGENTATV BASIC / VDSL 50 TV IP mit Netflix",
"uploadMax": 20000,
"uploadNorm": 9400,
"uploadMin": 2700,
"downloadMax": 50000,
"downloadNorm": 47000,
"downloadMin": 27900,
"downloadMaxShown": 50000,
"additionalData": 0,
"additionalDataActive": 0,
"status": 0
}
}
Das interessanteste hier ist die LineID. Sie ermöglicht zusammen mit der Vorwahl eine eindeutige dauerhafte Identifizierung von Festnetzanschlüssen. Währen die IP-Adresse jeden Tag wechselt, bleibt die LineID immer die gleiche.
Shoppen bei Daten-Daniel
Noch spannender wird es, wenn man diese LineID mit dem Ort des Anschlusses verknüpft. Dafür braucht man nur IP-Adressen der Telekom und die Orte, an denen diese IPs gesammelt werden. Das ist zum Glück ein einfaches Problem und nach einem Anruf beim Datenhändler meines Vertrauens habe ich ein Angebot sowie ein Sample-Datensatz. Für die Daten von 8 Millionen User einer großen Wetter-App würde ich 5.000–10.000 Dollar bezahlen müssen. Netterweise gab es Beispieldaten gratis.
Wenn ich nun mit diesen Daten einen Anschluss einmal lokalisiert habe, kann ich von da an User, die von diesem Anschluss aus surfen, immer wieder geolokalisieren. Der Anschluss wird sich ja eher nicht bewegen. Das geht sogar noch, wenn die Lücke geschlossen ist. Eine App mit Internet, aber ohne GPS-Zugriff könnte einfach die Leitungs-ID im Namen des Users abrufen, an einen Server übermitteln und so den Anschluss lokalisieren.
Das Spannende daran ist, dass es ausreicht, wenn sich ein einziges Mal jemand mit dem Anschluss verbindet, der eine App mit etwas zu viel Trackingsoftware installiert hat. Noch spannender wird es allerdings, dass es u.U. sogar ausreicht, wenn das alles nur an den Anschlüssen von 1–2 Nachbarn passiert ist. Weil Anschluss-IDs werden zumindest teilweise fortlaufend vergeben. Es ist also wirklich einfach, damit ein sehr exaktes IP-Geolokalisierungssystem zu bauen.
Mein juristischer Beistand hat mir aber leider davon abgeraten. Deswegen heute leider kein Deal für Daten-Daniel.
Von Vulnerability zu Venture
Wir haben jetzt also Schnittstellen, über die wir wertvolle Daten von Millionen von Usern beziehen können, was wir auch über Wochen validierten. Aber das wird aus Security oder gar Datenschutz-Perspektive niemanden interessieren. Weil die Telekom einfach Start-ups hat, die genau solche Daten verkaufen. Warum also einen Report schreiben, wenn ich auch ein Start-up gründen kann.
Also habe ich kurz eine Landingpage gebaut, auf der ein Teil der Daten für NUR die eigene IP abgerufen werden können. Weil aber bei einer Veröffentlichung der Leitungs-ID zu offensichtlich wäre, was ich gemacht habe, entwickelte ich einen proprietären Algorithmus zur Pseudonymisierung dieser ID.
# Der Algorithmus
result = query_ip(ip)
input_id = f"drosselkom-{result['code']}-{result['lineID']}".encode()
long_term_id = hashlib.md5(input_id).hexdigest()
Um das Ganze doch noch praktisch nutzbar zu machen, gab es die Möglichkeit, die Information, von welchem Anschluss man gerade surft, digital signieren zu lassen. Sogar mit gerichtsfestem Timestamp.
Nach 3 Stunden war alles fertig und es war Zeit, das Start-up auf Producthu^Twitter zu launchen.
Timeline
- 13.07–14:00: Softlaunch auf Twitter, 5000 User in den ersten 4 Stunden.
- 13.07–22:00: DDOS 🚨 unser Team hackt back
- 14.07–08:00: Technische Probleme mit der Schnittstelle für den Telekom-Paket-Abruf
- 14.07–22:00 Wir sind der Trend im Telekom Forum
- 15.07–11:00 Telekom meldet sich mit einem Acquisition Offer
- 15.07–12:00 Due Diligence Meeting mit CISO sowie Expert*innen der Telekom
- 15.07–12:20 In Vorbereitung auf den Merger nimmt die Telekom den konkurrierenden Trackingdienst anschluss.info offline
- 15.07–12:30 Übernahme durch Deutsche Telekom abgeschlossen
- 19.07 Die Telekom hat sich in einer Pressemitteilung geäußert.
Manche Features sollte man vielleicht einfach nicht anbieten, wenn man nicht will, dass sie auch von anderen Leuten genutzt werden können. Und ganz besonders sollte man als Telekomunikationsanbieter keine Trackingsysteme verkaufen — deswegen bin ich froh, dass festnetz.cool heute von der Telekom übernommen wurde.
PS. weil das wirklich Menschen fragen: Natürlich hat die Telekom mir keinen Cent bezahlt aber auf ihr 🤡 Responsible Disclosure Programm 🤡 hingewiesen. Wenn euch diese Unterhaltung Geld wert ist, dann könnt ihr mir das über Patreon zukommen lassen.
Wenn ihr meine zivilgesellschaftliche Arbeit zu Themen wie z.B. Verwaltungsdigitalisierung, Sicherheitsforschung und Open Data unterstützen wollt, dann könnt ihr das via 💸Patreon💸 tun. Und wenn ihr bei meiner nächsten Recherche live dabei sein wollt, dann folgt mir auf Twitter oder Mastodon.