PrivacyTools.io

Wie DNS- und IP-Anfragen zum Tracking genutzt werden können und wie du es vermeidest

Wie DNS- und IP-Anfragen zum Tracking genutzt werden können und wie du es vermeidest

DNS steht für “Domain Name System” und ist ein Dienst, den dein Browser (und andere Apps) nutzt, um die IP-Adressen eines Dienstes zu finden. Es ist eine riesige “Kontaktliste” (ein Telefonbuch für ältere Menschen), die so funktioniert, dass du nach einem Namen fragst und die Nummer zum Anrufen zurückbekommst. Nur dass stattdessen eine IP zurückkommt.

Jedes Mal, wenn dein Browser auf einen bestimmten Dienst wie Google über www.google.com zugreifen will, fragt dein Browser (Chrome oder Firefox) einen DNS-Dienst ab, um die IP-Adressen der Google-Webserver zu finden.

Hier ist ein Video, das DNS anschaulich erklärt, falls du schon den Faden verloren hast: https://www.youtube.com/watch?v=vrxwXXytEuI Invidious

Üblicherweise wird der DNS-Dienst von deinem Internetanbieter bereitgestellt und automatisch von dem Netzwerk konfiguriert, mit dem du dich verbindest. Dieser DNS-Dienst könnte auch Vorratsdatenspeicherungspflichten unterliegen oder einfach aus anderen Gründen Logs führen (zum Beispiel zur Datensammlung für Werbezwecke). Dieser Anbieter ist deshalb in der Lage, allein durch einen Blick in diese Logs alles zu verraten, was du online getan hast, was wiederum an einen Gegner weitergegeben werden kann. Praktischerweise ist dies für viele Gegner auch der einfachste Weg, um Zensur oder Kindersicherung mittels DNS-Sperren anzuwenden. Die bereitgestellten DNS-Server geben dir für manche Websites eine andere Adresse (als die echte) zurück (etwa eine Umleitung von thepiratebay.org auf eine Regierungswebsite). Solche Sperren werden weltweit für bestimmte Seiten weithin eingesetzt.

Die Nutzung eines privaten DNS-Dienstes oder deines eigenen DNS-Dienstes würde diese Probleme abschwächen, doch das andere Problem ist, dass die meisten dieser DNS-Anfragen standardmäßig immer noch im Klartext (unverschlüsselt) über das Netzwerk gesendet werden. Selbst wenn du PornHub in einem Inkognito-Fenster aufrufst, HTTPS verwendest und einen privaten DNS-Dienst nutzt, ist die Wahrscheinlichkeit ausgesprochen hoch, dass dein Browser eine unverschlüsselte DNS-Anfrage im Klartext an irgendwelche DNS-Server sendet und im Grunde fragt: “Also was ist die IP-Adresse von www.pornhub.com?”.

Weil sie nicht verschlüsselt ist, könnten dein Internetanbieter und/oder ein anderer Gegner deine Anfrage trotzdem abfangen (mittels eines Man-in-the-Middle-Angriffs) und wissen und möglicherweise protokollieren, wonach deine IP gesucht hat. Derselbe Anbieter kann die DNS-Antworten auch manipulieren, selbst wenn du einen privaten DNS verwendest. Damit wird die Nutzung eines privaten DNS-Dienstes nutzlos.

Als Zugabe verwenden viele Geräte und Apps fest einprogrammierte DNS-Server und umgehen damit jede Systemeinstellung, die du setzen könntest. Das ist zum Beispiel bei den meisten (70 %) Smart-TVs und einem großen Teil (46 %) der Spielkonsolen der Fall. Bei diesen Geräten musst du sie zwingen, ihren fest einprogrammierten DNS-Dienst nicht mehr zu nutzen, was dazu führen könnte, dass sie nicht mehr richtig funktionieren.

Eine Lösung dafür ist die Verwendung von verschlüsseltem DNS mittels DoH (DNS over HTTPS), DoT (DNS over TLS) mit einem privaten DNS-Server (dieser kann lokal selbst gehostet werden mit einer Lösung wie pi-hole, entfernt gehostet werden mit einer Lösung wie nextdns.io oder über die von deinem VPN-Anbieter oder dem Tor-Netzwerk bereitgestellten Lösungen). Das sollte verhindern, dass dein Internetanbieter oder ein Zwischenglied deine Anfragen ausspäht … außer vielleicht doch nicht.

Kleiner Zwischen-Hinweis: Dieser Leitfaden befürwortet oder empfiehlt nicht zwangsläufig die Dienste von Cloudflare, auch wenn Cloudflare in diesem Abschnitt zum technischen Verständnis mehrfach erwähnt wird.

Leider verrät das TLS-Protokoll, das in den meisten HTTPS-Verbindungen in den meisten Browsern (Chrome/Brave unter ihnen) verwendet wird, den Domainnamen erneut durch SNI-Handshakes (das kann hier bei Cloudflare überprüft werden: https://www.cloudflare.com/ssl/encrypted-sni/ Archive.org ). Zum Zeitpunkt der Erstellung dieses Leitfadens unterstützen nur Firefox-basierte Browser ECH (Encrypted Client Hello früher bekannt als eSNI**) auf einigen Websites, was alles Ende zu Ende verschlüsselt (zusätzlich zur Verwendung eines sicheren privaten DNS over TLS/HTTPS) und dir erlaubt, deine DNS-Anfragen vor einem Dritten zu verbergen****.** Und diese Option ist auch nicht standardmäßig aktiviert, du musst sie also selbst aktivieren.

Zusätzlich zur eingeschränkten Browser-Unterstützung unterstützen zu diesem Zeitpunkt nur Webdienste und CDNs hinter dem Cloudflare CDN ECH/eSNI. Das bedeutet, dass ECH und eSNI (zum Zeitpunkt der Erstellung dieses Leitfadens) von den meisten Mainstream-Plattformen nicht unterstützt werden, wie zum Beispiel:

  • Amazon (einschließlich AWS, Twitch …)
  • Microsoft (einschließlich Azure, OneDrive, Outlook, Office 365 …)
  • Google (einschließlich Gmail, Google Cloud …)
  • Apple (einschließlich iCloud, iMessage …)
  • Reddit
  • YouTube
  • Facebook
  • Instagram
  • Twitter
  • GitHub

Manche Länder wie Russland und China könnten (trotz der Artikel unbestätigt) ECH/eSNI-Handshakes auf Netzwerkebene blockieren, um das Ausspähen zu ermöglichen und das Umgehen der Zensur zu verhindern. Das bedeutet, dass du keine HTTPS-Verbindung mit einem Dienst aufbauen kannst, wenn du ihnen nicht erlaubst, zu sehen, was er war.

Die Probleme enden hier nicht. Ein Teil der HTTPS-TLS-Validierung heißt OCSP, und dieses von Firefox-basierten Browsern verwendete Protokoll verrät Metadaten in Form der Seriennummer des Zertifikats der Website, die du besuchst. Ein Gegner kann dann durch Abgleich der Zertifikatsnummer leicht herausfinden, welche Website du besuchst. Dieses Problem kann durch die Verwendung von OCSP-Stapling abgeschwächt werden. Leider ist dies in Firefox/Tor Browser standardmäßig aktiviert, aber nicht erzwungen. Aber auch die Website, die du besuchst, muss es unterstützen, und nicht alle tun das. Chromium-basierte Browser hingegen verwenden ein anderes System namens CRLSets, das wohl besser ist.

Hier ist eine Liste, wie sich verschiedene Browser bei OCSP verhalten: https://www.ssl.com/blogs/how-do-browsers-handle-revoked-ssl-tls-certificates/ Archive.org

Hier ist eine Veranschaulichung des Problems, auf das du bei Firefox-basierten Browsern stoßen könntest:

Schließlich reicht es, selbst wenn du einen eigenen verschlüsselten DNS-Server (DoH oder DoT) mit ECH/eSNI-Unterstützung und OCSP-Stapling verwendest, vielleicht immer noch nicht aus, da Studien zur Verkehrsanalyse gezeigt haben, dass es weiterhin möglich ist, unerwünschte Anfragen zuverlässig per Fingerprinting zu erkennen und zu blockieren. Nur DNS over Tor konnte in jüngsten Studien wirksamen DNS-Datenschutz zeigen, aber selbst das kann mit anderen Mitteln noch ausgehebelt werden (siehe Dein anonymisierter Tor/VPN-Verkehr).

Man könnte sich auch entscheiden, einen Tor Hidden DNS Service oder ODoH (Oblivious DNS over HTTPS) zu nutzen, um Datenschutz/Anonymität weiter zu erhöhen, aber leider werden diese Methoden, soweit ich weiß, zum jetzigen Zeitpunkt nur von Cloudflare angeboten (https://blog.cloudflare.com/welcome-hidden-resolver/ Archive.org, https://blog.cloudflare.com/oblivious-dns/ Archive.org). Das sind brauchbare und einigermaßen sichere technische Optionen, aber es gibt auch eine moralische Entscheidung, ob du Cloudflare nutzen willst oder nicht (trotz des von einigen Forschern beschriebenen Risikos).

Zuletzt gibt es auch diese neue Möglichkeit namens DoHoT, was für DNS over HTTPS over Tor steht und die deinen Datenschutz/deine Anonymität ebenfalls weiter erhöhen könnte und die du in Betracht ziehen könntest, wenn du dich besser mit Linux auskennst. Siehe https://github.com/alecmuffett/dohot Archive.org. Dieser Leitfaden hilft dir zum jetzigen Zeitpunkt nicht dabei, aber es könnte bald kommen.

Hier ist eine Veranschaulichung, die den aktuellen Stand des DNS- und HTTPS-Datenschutzes nach meinem derzeitigen Kenntnisstand zeigt.

Was deine normale tägliche Nutzung (nicht sensibel) angeht, denke daran, dass bislang nur Firefox-basierte Browser ECH (früher eSNI) unterstützen und dass es zum jetzigen Zeitpunkt nur bei Websites nützlich ist, die hinter dem Cloudflare CDN gehostet werden. Wenn du eine Chrome-basierte Version bevorzugst (was für manche aufgrund einiger besser integrierter Funktionen wie der Live-Übersetzung verständlich ist), dann würde ich stattdessen die Nutzung von Brave empfehlen, das alle Chrome-Erweiterungen unterstützt und deutlich besseren Datenschutz als Chrome bietet.

Aber damit endet die Geschichte nicht, oder? Denn nach alldem, selbst wenn du dein DNS verschlüsselst und alle möglichen Maßnahmen ergreifst, erlauben es einfache IP-Anfragen an einen beliebigen Server einem Gegner wahrscheinlich trotzdem, zu erkennen, welche Seite du besuchst. Und das liegt schlicht daran, dass die Mehrheit der Websites eindeutige IPs mit sich verknüpft hat, wie hier erklärt wird: https://blog.apnic.net/2019/08/23/what-can-you-learn-from-an-ip-address/ Archive.org. Das bedeutet, dass ein Gegner zum Beispiel einen Datensatz bekannter Websites einschließlich ihrer IPs erstellen und diesen Datensatz dann mit der IP abgleichen kann, nach der du fragst. In den meisten Fällen führt das zu einer korrekten Vermutung über die Website, die du besuchst. Das bedeutet, dass ein Gegner trotz OCSP-Stapling, trotz ECH/eSNI, trotz verschlüsseltem DNS … die Website, die du besuchst, trotzdem erraten kann.

Um all diese Probleme abzuschwächen (so weit wie möglich und so gut wir können), wird dieser Leitfaden daher später zwei Lösungen empfehlen: die Nutzung von Tor und eine virtualisierte (siehe Virtualisierung), mehrschichtige Lösung von VPN over Tor (DNS over VPN over Tor oder DNS over TOR). Weitere Optionen werden ebenfalls erklärt (Tor over VPN, nur VPN, kein Tor/VPN), sind aber weniger empfehlenswert.

Quelle: The Hitchhiker’s Guide to Online Anonymity, geschrieben von AnonyPla © CC BY-NC 4.0