Geolocation von IP-Adressen

Es wäre doch traumhaft, wenn man herausfinden könnte wo genau eine IP-Adresse verwendet wird. Am besten mit dem Pin auf einer Karte. Und huch – es gibt Dienste im Netz, die genau so einen Pin auf einer Karte anzeigen, wenn man eine IP eingibt. Was es damit auf sich hat, will ich in diesem Artikel aufzeigen. Spoiler: WARNUNG VORSICHT WARNUNG

IANA

Die Internet Assigned Numbers Authority (IANA) ist sozusagen die höchste Instanz für IP-Adressen, da sie sie verwaltet. Auf ihrer Webseite kann man nachlesen, an wen die einzelnen Bereiche aus IP-Nummern vergeben wurden. Die meisten IP-Adress-Bereiche werden an die fünf für jeweils eine Region zuständigen Internet Registrys (AFRINIC, APNIC, ARIN, LACNIC, RIPE) vergeben, die sie dann weiter verteilen. In den IP-v4 Bereichen findet man aber auch noch Einträge zu z.B: IBM, Ford, AT&T oder Daimler, also Firmen, die zu Beginn des Internetzeitalters schon überregionale Bedeutung hatten und die wohl damals komplette IP-Ranges zugeteilt bekamen und immer noch halten.

Jetzt könnte man natürlich auf die Idee kommen und sagen: Super, eine IP die von der RIPE verwaltet wird, wird auch in ihrem Gebiet eingesetzt. Und ja, das wird in der Regel der Fall sein. Aber egal wo eine IP-Adresse auch registriert wurde, sie kann überall in der Welt Verwendung finden.

Whois

Bei einer Whois Abfrage (Einer Abfrage der öffentlichen Registrierungsinformationen) einer IP-Adresse zum Beispiel bei CentralOps kann man erfahren, dass eine IP-Adresse an die Deutsche Telekom, Vodafone oder Hetzner vergeben wurde. Man erfährt aber nur in den seltesten Fällen den tatsächlichen Endkunden. Manchmal kann man aus der Description herauslesen, dass die IP-Adresse z.B. als DSL-Adresse verwendet wird, aber auch dann hängt die tatsächliche örtliche Verwendung davon ab ob es ein lokal oder global agierendes Unternehmen ist. Es kann genauso gut sein, dass ein internationaler Internetanbieter die IP-Adresse in einem anderen Land oder einer anderen Weltregion verwendet.

Geolocation-Anbieter

Die Werbewirtschaft möchte aber gerne wissen, wo eine IP-Adresse verwendet wird, da sie gerne regional unterschiedliche Werbung ausspielen will. Kein Hamburger Unternehmen möchte in New York Werbung für regionale Hamburger Produkte schalten. Also haben sich Dienste entwickelt, die mit verschiedenen Methoden von außen auf das System schauen und herauszufinden versuchen, wo eine IP-Adresse verwendet wird.

Manche dieser Anbieter stellen auch ihre Datenbank oder eine Schnittstelle für lokale Anwendungen zur Verfügung. Eine der bekanntesten Anbieter ist die Firma Maxmind. Sie bieten so eine Datenbank sowohl kostenlos als auch kostenpflichtig an. Auf ihrer Webseite haben sie auch ein Online Formular, mit dem man so eine Abfrage testen kann. Die IP-Adresse 2.3.4.5 wird laut Maxmind von Wanadoo/Orange verwendet und wird mit einer Genauigkeit von 20 km auf Naucelles in Frankreich geolokalisiert. Diese Angabe stimmt in Bezug auf Wanadoo/Orange auch mit den Whois-Angaben überein.

Aber wie genau ist nun die Einschätzung von Maxmind? Das kann leider niemand sagen. Manchmal passt es, aber ich habe auch schon erlebt, dass sie sich gewaltig verschätzen.

Auf ihrer Webseite geben sie bekannt, für wie genau sie ihren Datenbestand halten. Dort hat man auch Filtermöglichkeiten auf Land, Netz und Radius. Für Festnetzanschlüsse schätzen sie, dass sie in Deutschland zu 80% richtig liegen.

Zu ~80% bei einem Radius von 50km… Wenn man einen Radius von 50 km um Stuttgart zieht, wohnt dort ein beträchtlicher Teil der Einwohner Baden-Württembergs. 50km sind in Deutschland kein guter Maßstab. Wählt man den Radius 10km, sinkt ihre Einschätzung auf 55%.

Aber wie gesagt, es betrifft nur die eigene Einschätzung. Es ist daher nicht auszuschließen, dass die Genauigkeit noch viel problematischer ist. Mit der Genauigkeit von Mobilfunkverbindungen will ich gar nicht erst anfangen, da hier oft nur die Übergabeknoten ins Internet ausgegeben werden, die bei weitem nicht in der Nähe des Standortes liegen müssen.

Maxmind ist übrigens der einzige mir bekannte Anbieter, der so eine Einschätzung überhaupt liefert. Und noch schlimmer: viele Anbieter, die Maxmind-Daten nutzen, geben den Radius an ihre Kunden nicht weiter.

Bei Resolve.rs kann man unterschiedliche Anbieter gleichzeitig abfragen und sieht das Dilemma noch deutlicher:

Es ist auf diese Weise nicht festzustellen, wo eine IP-Adresse tatsächlich genutzt wird. Die Datenqualität mag für die Werbewirtschaft ausreichend sein, ein OSINTler sollte damit jedoch nicht zufrieden sein. Mit dieser Datenqualität kann man nicht einfach einen Pin auf eine Karte zeichnen, was die in diesem Beispiel verlinkten Geokoordinaten aber suggerieren.

Die Lösung?

In einem Artikel auf OSINTcurious versucht Sector035 mit der Hilfe des Ping Kommandos herauszufinden, wo eine IP-Adresse lokalisiert werden kann. Ping schickt ein Paket an eine IP-Adresse und wartet auf ein Antwortpaket. Danach wird die Zeit zwischen Versand und Ankunft der Rückantwort gemessen. Ist die Strecke kurz geht es schnell, ist die Strecke lang, wird es langsam. Elektronen bewegen sich in Leitungen mit Lichtgeschwindigkeit, daher sind die Messwerte natürlich alle sehr niedrig, aber die Unterschiede sind signifikant und messbar. Einfache Physik ist also die Lösung.

Die von ihm verwendete IP-Adresse 45.142.38.20 konnte er so auf die Region Amsterdam lokalisieren, da die Laufzeit von 1,18 Millisekunden extrem schnell ist und somit der Server tatsächlich sehr nah in oder bei Amsterdam stehen muss. Es war aber auch Glück dabei, dass in Amsterdam ein Ping-Server steht.

Über Geolocation-Anbieter dagegen konnte Sector035 Orte weltweit feststellen, mit einer auffälligen Häufung von St. Petersburg. Wenn man sich das Whois zu der IP-Adresse ansieht, stellt man fest, dass es sich um einen Cloud-Dienstleister aus England handelt (Daher durfte London in der Geolokalisierung nicht fehlen, da manche Anbieter einfach den Standort des Unternehmens ausgeben).

Die starke Vermutung besteht, dass die erbrachte Cloud-Dienstleistung in der Region St. Petersburg genutzt wird und somit die Anbieter von Geolokalisierungen natürlich diese Region und nicht den Serverstandort ausgeben.

Um so eine Geolokalisierung für Deutschland zu machen, bräuchte man dutzende Ping Server, die sich auf Deutschland verteilen. Mir ist ein derartiger Service jedoch nicht bekannt. Der von Sector035 im OSINTCurious Live-Stream nachträglich empfohlene Dienst Twelve99 Looking Glass bietet zwar Pings von mehreren deutschen Städten aus an als ping.pe, aber auch damit ist per Triangulation nur eine grobe Geolokalisierung möglich.

Erwähnen muss ich natürlich auch noch das von Sector035 ebenfalls genutzte Konsolen-Tool traceroute (Windows: tracert) mit dem man (einfach ausgedrückt) den Weg eines Paketes zum Zielserver verfolgen kann. Durch die Namensauflösung, der IP-Adresse die dazwischen liegen, können sich Hinweise ergeben wohin das Paket tatsächlich fliest. In diesem Fall stand im Namen des drittletzten Eintrags des traceroute „ams.nl“ was für Amsterdam, Niederlande stehen kann. Natürlich kann man auch diese IP-Adressen wiederum mit Geolocation und Whois überprüfen.

Ein weiteres Problem ist, dass die Anbieter von Geolocation-Daten Standardlokalisierungen angeben, wenn sie eine IP-Adresse nicht genau zuordnen können. Wehe dem, dessen Haus zufällig an dieser Standardlokalisierung steht. Weiter unten habe ich Artikel über Betroffene verlinkt.

Fazit

Geolocation von IP-Adressen ist nice to have. Aber aktuell fehlen die Möglichkeiten hier wirklich valide Ergebnisse für jede IP-Adresse zu erzielen. In der Regel stimmt das Land, aber danach wird es sehr unsicher. Die Vorstellung eine IP-Adresse auf diesem Weg einem Haus zuzuordnen ist völlig abwegig. Mit der Idee, ping und traceroute zu verwenden, hat Sector035 eine gute Möglichkeit aufgezeigt – aber leider fehlt die Masse an Ping-Servern. Und selbst wenn, hätte man immer noch nur eine Stadt und keine Anschrift. Und auch dann könnte es der Standort des Einwahlservers sein, während die Nutzung in einem Nachbarort erfolgt. Wie so oft bei OSINT, ist es ein weiteres Indiz – nicht mehr, nicht weniger.

Welch große Problem das blinde Vertrauen auf Geolocation-Daten bereiten kann, ist in diesem Artikel oder diesem Artikel oder diesem Artikel oder diesem Artikel von Kaschmir Hill beschrieben.

Und trotzdem werde ich die Datenbank von Maxmind weiternutzen um z.B. aus einer langen Liste von IP-Adressen die deutschen IP-Adressen herauszufiltern. Auch wenn mir klar ist, dass dabei einige IP-Adressen falsch zugeordnet sein können, gibt es aktuell keine mir bekannte schnellere Möglichkeit einen Überblick zu bekommen.

P.S. Lies den Artikel von Sector035. Schließlich hat er einen Lösungsansatz herausgefunden und publiziert. Ich habe nur seine Erkenntnisse mit meinen Erfahrungen kombiniert.