CNAME-Cloaking

aus Wikipedia, der freien Enzyklopädie

CNAME-Cloaking (auch CNAME Cloaking, DNS Delegation oder DNS Aliasing[1]) ist eine Tracking-Technik, um Werbeblocker zu umgehen, indem Tracker von Drittanbietern als Inhalte der aufgerufenen Seite verschleiert werden.[2]

Hintergrund

Das Einbinden von Inhalten von Drittanbietern in Webseiten ist weit verbreitet. Eine Untersuchung der 1 Mio. meist aufgerufener Seiten nach dem Alexa-Ranking aus dem Jahr 2015 ergab, dass etwa 9 von 10 Seiten Inhalte von Drittanbietern einbinden. Etwa 63 % dieser Seiten binden Cookies und etwa 83 % JavaScript-Code von Drittanbietern ein.[3] Gründe hierfür sind, dass externe Bibliotheken wie jQuery, die für Funktionalität der Webseite notwendig sind, eingebunden werden. Zudem kann Werbung eingebunden werden. Das Einbinden externer Ressourcen bringt allerdings Nachteile für den Internetnutzer, weil Drittanbieter die Aktivität der Nutzer über mehrere Seiten hinweg nachvollziehen können. Werbeblocker können diese Situation für den Nutzer verbessern.[4]

In einer Studie aus dem Jahr 2015 wurde geschätzt, dass etwa 22 % der aktivsten Nutzer, die Browser-Erweiterung Adblock Plus nutzen.[5] Hinzu kommt, das zunehmend Webbrowser wie Firefox[6] oder Safari[7] Werbeblocker direkt integriert und standardmäßig aktiviert haben. Die Einführung von Tracking-Schutz im Firefox-Browser hat zu Umsatzeinbusen in der Werbeindustrie geführt und diese dadurch in Schwierigkeiten gebracht.[8]

Durch den zunehmenden Einsatz von Werbeblockern und Schutzmaßnahmen gegen Drittanbietertracking, hat die Tracking-Industrie die neue Technik CNAME-Cloaking eingeführt.[9] Größere Aufmerksamkeit bekam das Thema in der zweiten Hälfte des Jahres 2019, als Tracking-Unternehmen wie Eulerian und Criteo offensiv mit dieser Technik warben.[10][11]

Funktionsweise

Domain Name System

Im Internet werden Rechner durch IP-Adressen angesprochen. Diese sind jedoch nicht sprechend genug für einen intuitiven Umgang. Praktischer ist es daher Rechner über ihren Namen anzusprechen. Dazu muss allerdings einem Rechnernamen eine IP-Adresse zugeordnet werden können. Diese Aufgabe übernimmt das Domain Name System (DNS).[12] Beispielsweise wird der Domain example.com die IP-Adresse 93.184.216.34 zugeordnet (bei IPv4).

Schematische Darstellung der DNS-Hierarchie am Beispiel de.wikipedia.org

Der DNS-Namensraum hat eine Baumförmige Struktur. Er besitzt eine einzige Wurzel, genannt Root. Der DNS-Baum hat mehrere Abzweigungen, wobei jeder Knoten des Baumes eine Domain repräsentiert. Eine Domain kann in weitere Teile untergliedert werden, die Subdomain genannt werden. Der Vollständige Domainname setzt sich aus den Namen der einzelnen Knoten zusammen, die mit einem Punkt getrennt werden. Durch diese Struktur ist eine Dezentralisierung bei der Administration möglich. Eine Organisation, die eine Domain verwaltet, kann diese in Subdomains aufteilen in die Organisation von diesen an andere Organisationen delegieren. Diese können die Domain wiederum in weitere Subdomains aufteilen und die Organisation von diesen weiter delegieren.[12] Diese Hierarchie ist im Bild am Beispiel der Domain de.wikipedia.org dargestellt. Der Root verweist auf die Top-Level-Domain .org, die von der Public Interest Registry verwaltet wird. Dieser Knoten zeigt auf den Namen wikipedia. Diese wird von der Wikimedia Foundation verwaltet. Für die einzelnen Sprachversionen der Wikipedia wird diese Domain von der Wikimedia Foundation wiederum in verschiedene Subdomains unterteilt. Die deutschsprachige Wikipedia hat somit die vollständige Domain de.wikipedia.org.

CNAME Resource Record

Der CNAME Resource Record weist im DNS einem Aliasnamen dessen kanonischen Hostnamen zu. Der kanonische Hostname verweist wiederum auf die IP-Adresse.[12] Entsprechend steht die Abkürzung CNAME für canonical name. Beispielsweise verweist der Aliasname de.wikipedia.org auf den kanonischen Namen dyna.wikimedia.org.

Der eigentliche Zweck des CNAME Resource Records besteht nicht im Tracking. Ändert sich die IP-Adresse einer Domäne, auf die mehrere Aliasnamen verweisen, muss die Änderung nur einmal vorgenommen werden. Außerdem können mehrere unterschiedliche Dienste mit einer IP-Adresse betrieben werden.

CNAME-Cloaking

Schematische Darstellung des CNAME-Cloakings am Beispiel track.example.com

Beim CNAME-Cloaking bindet die Aufgerufene Seite z. B. eine JavaScript-Datei von einer Subdomain der eigenen Seite wie etwa track.example.com ein. Diese Subdomain ist aber ein Aliasname, der auf eine Domain eines Trackingunternehmens verweist, z. B. x.tracker.com. Das Trackingscript kommt also tatsächlich von einem Drittanbieter.[13] Da Browser-Erweiterungen wie Werbeblocker üblicherweise kein Zugriff auf die DNS-Ebene haben[10], sieht es für diese so aus als käme das Script von der aufgerufenen Seite.[13]

Tracking-Gegenmaßnahmen, die darauf abzielen Cookies von Drittanbietern zu blockieren sind daher wirkungslos gegen CNAME-Cloaking. Um die eingebunden Trackinginhalte zu blockieren müssten Werbeblocker, die mit schwarzen Listen arbeiten, jede einzelne Subdomain von jeder Webseite, die CNAME-Cloacking einsetzt mit auf die Liste aufnehmen. Die größer werdenden Listen benötigten deutlich mehr Rechenleistung.[13] Die maximale Länge der Schwarzen Listen ist zudem auf mehreren Plattformen limitiert. Die verwendeten Subdomains können mit wenig Aufwand und sogar automatisiert geändert werden. Dadurch kann das Aktuell-Halten der Liste deutlich erschwert werden.[10]

Dagegen bestehen auch verschiedene Einschränkungen im Vergleich mit herkömmlichem Drittanbieter-Tracking. Zum Beispiel können die Seitenaufrufe von Nutzern auf verschiedenen Seiten nicht so leicht mit Drittanbieter-Cookies verfolgt werden.[13] Dafür wird zunehmend auf Fingerprinting gesetzt.[10]

Risiken für Sicherheit

Cookies sind kleine Textinformationen, die im Webbrowser gespeichert werden. Ein Webserver teilt das Cookie dem Browser in einer HTTP-Antwort mit. Nachfolgenden HTTP-Anfragen hängt der Browser das Cookie an. Cookies werden häufig zur Authentisierung der Nutzer verwendet. Nachdem sich der Nutzer einmal z. B. mit Nutzernamen und Passwort gegenüber dem Webserver authentisiert hat, bekommt der Browser ein geheimes Sitzungscookie. Bei folgenden HTTP-Anfragen wird das Cookie mitgesendet und authentisiert den Nutzer dadurch automatisch.[14]

Cookies enthalten verschiedene Attribute, die unter anderem regeln wann ein Cookie mitversandt wird. Eines davon ist Domain. Wird es leer gelassen, wird das Cookie nur an genau dieselbe Domain versendet. Beispielsweise wird ein Cookie, das von der Domain www.example.com erhalten wurde nur an Anfragen an genau diese Domain angehängt. Wird dagegen example.com eingetragen, wird es an alle Anfragen an example.com und alle Subdomains angehängt, also auch an track.example.com. Wird hinter der Domain track.example.com ein Drittanbieter verschleiert, erhält dieser Dritte das Sitzungscookie und kann sich als den Nutzer ausgeben.[14]

Verbreitung

In einer Studie aus dem Jahr 2020 wurden die 300.000 höchstgelistete Webseiten nach dem Alexa-Ranking auf den Einsatz von CNAME-Cloaking untersucht. Dabei setzten 0,59 % dieser Webseiten die Technik ein.[9]

Gegenmaßnahmen

Seit Version 1.25.0 erkennt uBlock Origin für Firefox CNAME-Cloaking, indem es die kanonischen Hostnamen nachschlägt.[15] In einer Studie erzielte der Werbeblocker damit gute Ergebnisse.[9] Dies funktioniert jedoch nur für den Firefox-Browser, da Browser-Erweiterungen auf anderen gängigen Browsern nicht auf die DNS-Ebene zugreifen können.[9] Ab Version 1.25.0 schlägt auch der Webbrowser Brave kanonische Namen nach und erkennt und blockiert somit CNAME-Cloaking.[16]

Eine Alternative sind Werbeblocker auf DNS-Ebene. Der DNS-Server-Anbieter NextDNS erkennt CNAME-Cloaking und filtert diese Domains.[17] Ab Version 5.0 schützt Pi-hole gegen die Technik.[18]

Einzelnachweise

  1. Daniel Berger: Firefox: uBlock Origin schützt vor versteckten Trackern. In: Heise Online. 29. November 2019, abgerufen am 7. August 2021.
  2. Iskander Sanchez-Rola, Matteo Dell’Amico, Davide Balzarotti, Pierre-Antoine Vervier, Leyla Bilge: Journey to the Center of the Cookie Ecosystem: Unraveling Actors’ Roles and Relationships. San Francisco 22. Mai 2021 (englisch, eurecom.fr).
  3. Timothy Libert: Exposing the Hidden Web: An Analysis of Third-Party HTTP Requests on 1 Million Websites. ID 2685330. Social Science Research Network, Rochester, NY 30. Oktober 2015 (englisch, timlibert.me [PDF; abgerufen am 26. Juli 2021]).
  4. Arthur Gervais, Alexandros Filios, Vincent Lenders, Srdjan Capkun: Quantifying Web Adblocker Privacy. In: Computer Security – ESORICS 2017. Band 10493. Springer International Publishing, Cham 2017, ISBN 978-3-319-66398-2, S. 21–42, doi:10.1007/978-3-319-66399-9_2 (englisch, Verfügbar auf Sci-Hub).
  5. Enric Pujol, Oliver Hohlfeld, Anja Feldmann: Annoyed Users: Ads and Ad-Block Usage in the Wild. In: Proceedings of the 2015 Internet Measurement Conference. ACM, Tokyo Japan 2015, ISBN 978-1-4503-3848-6, S. 93–106, doi:10.1145/2815675.2815705 (englisch, acm.org [abgerufen am 26. Juli 2021]).
  6. Sören Hentzschel: Mehr Privatsphäre: Mozilla veröffentlicht Firefox 67.0.1, Facebook Container 2.0 und weitere Service-Updates. 4. Juni 2019, abgerufen am 26. Juli 2021.
  7. Leo Becker: Safari 11: Apples Browser will Werbe-Tracking unterbinden. In: Heise Online. 6. Juni 2017, abgerufen am 26. Juli 2021.
  8. Dieter Petereit: Mozilla vs. Werbeindustrie: Firefox verschärft Kampf gegen Tracking-Cookies. In: t3n. 7. August 2020, abgerufen am 27. Juli 2021.
  9. a b c d Ha Dao, Johan Mazel, Kensuke Fukuda: Characterizing CNAME Cloaking-Based Tracking on the Web. 2020 (englisch, ifip.org [PDF; abgerufen am 25. Juli 2021]).
  10. a b c d Romain Cointepas: CNAME Cloaking, the dangerous disguise of third-party trackers. 18. Dezember 2019, abgerufen am 25. Juli 2021 (englisch).
  11. Address 1st-party tracker blocking. Abgerufen am 1. August 2021 (englisch).
  12. a b c Anatol Badach, Erwin Hoffmann: Technik der IP-Netze : Internet-Kommunikation in Theorie und Einsatz. 4., überarbeitete und erweiterte Auflage. München 2018, ISBN 978-3-446-45511-5.
  13. a b c d Yana Dimova, Gunes Acar, Lukasz Olejnik, Wouter Joosen, Tom Van Goethem: The CNAME of the Game: Large-scale Analysis of DNS-based Tracking Evasion. In: Proceedings on Privacy Enhancing Technologies. Band 2021, Nr. 3, 1. Juli 2021, ISSN 2299-0984, S. 394–412, doi:10.2478/popets-2021-0053 (englisch, sciendo.com [abgerufen am 26. Juli 2021]).
  14. a b Assel Aliyeva, Manuel Egele: Oversharing Is Not Caring: How CNAME Cloaking Can Expose Your Session Cookies. In: Proceedings of the 2021 ACM Asia Conference on Computer and Communications Security. ACM, Virtual Event Hong Kong 2021, ISBN 978-1-4503-8287-8, S. 123–134, doi:10.1145/3433210.3437524 (englisch, bu.edu [PDF; abgerufen am 25. Juli 2021]).
  15. Release 1.25.0 · gorhill/uBlock. 19. Februar 2020, abgerufen am 7. August 2021 (englisch).
  16. Brave: What’s Brave Done For My Privacy Lately? Episode #6: Fighting CNAME Trickery. 27. Oktober 2020, abgerufen am 7. August 2021 (amerikanisches Englisch).
  17. Olivier Poitrey: NextDNS added CNAME Uncloaking support, becomes the first cross-platform solution to the problem. 22. November 2019, abgerufen am 7. August 2021 (englisch).
  18. Adam Warner: Pi-hole v5.0 is here! 10. Mai 2020, abgerufen am 7. August 2021 (amerikanisches Englisch).