Firefox: Smart Referer – Firefox-Kompendium Teil6

1. TrackingSmart Referer

User-Tracking im Internet verfolgt ein einfaches Ziel: Die möglichst exakte Wiedererkennung eines Nutzers beim Surfen im Internet – am liebsten seitenübergreifend. Für das (seitenübergreifende) Tracking im Internet nutzt insbesondere die Werbe- und Marketingbranche diverse Techniken wie Cookies, Web Bugs oder Canvas Fingerprinting. Firefox-Addons wie das bereits vorgestellte uBlock Origin oder First Party Isolation können euch gegen einen Großteil dieser Tracking-Techniken schützen.

Eine weitere beliebte Methode des User-Trackings ist das serverseitige Auslesen des HTTP-Referers. Gerade große Anbieter wie Google, die auf über 80% der Webseiten vertreten sind, können den Nutzer mit dieser Technik seitenübergreifend über das Internet verfolgen.

Im vorliegenden Beitrag der Serie »Firefox-Kompendium« möchte ich euch das Addon Smart Referer vorstellen, mit dem sich diese Form des User-Trackings effektiv unterbinden lässt.

Dieser Beitrag ist Teil einer Artikelserie:

2. Smart Referer

Bevor wir uns mit der Installation und Konfiguration von Smart Referer befassen, möchte ich kurz anhand eines Beispiels aufzeigen, was das Addon (im Hintergrund) leistet.

Du kannst den Blog aktiv unterstützen!

Unabhängig. Kritisch. Informativ. Praxisnah. Verständlich.

Die Arbeit von kuketz-blog.de wird vollständig durch Spenden unserer Leserschaft finanziert. Sei Teil unserer Community und unterstütze unsere Arbeit mit einer Spende.

Mitmachen ➡

2.1 Die »unsichtbare« Technik

Ein jeder von uns dürfte heutzutage mindestens einmal am Tag mit seinem Browser im Internet surfen. Allerdings sind wir uns oftmals nicht bewusst, was bei dieser für uns alltäglichen Tätigkeit technisch eigentlich geschieht. Nach der Eingabe einer Domain in die Adresszeile des Browsers wird die entsprechende Webseite vom Browser aufgerufen. Nach dem Erreichen der Webseite erhält der Browser entsprechende Informationen, welche Inhalte er laden soll. Nachdem der Ladevorgang abgeschlossen ist, stellt der Browser den Inhalt der Webseite in einer für den Nutzer lesbaren Form dar.

Welche komplexen Prozesse im Hintergrund notwendig sind, um eine Webseite im Browser darzustellen, können die meisten Nutzer vermutlich nicht einmal erahnen. Die dahinterliegende Technik arbeitet vielmehr meist völlig »geräuschlos«. Dabei ist nur den wenigsten bewusst, wie Webseitenbetreiber durch das Einbinden von externen Ressourcen, wie bspw. JavaScript oder Social-Media-Buttons, die Privatsphäre und insbesondere die Sicherheit ihrer Besucher leichtfertig aufs Spiel setzen.

Hinweis

Welche negativen Auswirkungen mit der Einbindung externer Ressourcen (Bilder, JavaScript etc.) einhergeht, könnt ihr im Detail in folgendem Beitrag nachlesen: Das kranke WWW: Stop using Google Web-Services.

2.2 Webseitenaufruf ohne Smart Referer

Viele Webseiten binden bspw. JavaScript-Bibliotheken von Drittquellen wie Google ein – hosten diese also nicht selbst. Bei einem Besuch einer Webseite wird daher bspw. eine Verbindung zu

  • ajax.googleapis.com
  • code.jquery.com
  • […]

aufgebaut und dort die entsprechende JavaScript-Ressource (bspw. Google Analytics)  nachgeladen. Systembedingt übermittelt euer Browser beim Laden der Ressourcen eure IP-Adresse sowie HTTP-Headerinformationen an die Drittquellen, die diese Informationen gerne sammeln und zum User-Tracking »missbrauchen«.

Anhand eines Beispiels möchte ich euch zeigen, welche HTTP-Headerinformationen ein standardmäßiger Browser übermittelt. Dazu habe ich Spiegel-Online aufgerufen und mir eine der 304 Verbindungen herausgepickt, die von eurem Browser bei einem Besuch initiiert werden. Spiegel-Online bindet JavaScript von der Quelle »www.googletagmanager.com« ein. Besucht ihr Spiegel-Online übersendet euer Browser folgende HTTP-Headerinformationen an Google:

Host: "www.googletagmanager.com"
User-Agent: "Mozilla/5.0 (Windows NT 6.1; rv:52.0) Gecko/20100101 Firefox/52.0"
Accept: "*/*"
Accept-Language: "en-US,en;q=0.5"
Accept-Encoding: "gzip, deflate, br"
Referer: "http://www.spiegel.de/"
Connection: "keep-alive"
Cache-Control: "max-age=0"

Sobald euer Browser das JavaScript vom Server »www.googletagmanager.com« nachlädt, übermittelt er nicht nur die IP-Adresse, sondern auch den HTTP-Referer »http://www.spiegel.de/« an Google. Diese Informationen genügen bereits, damit euch Google fast über das gesamte Internet verfolgen kann.

Visuell dargestellt würde also Folgendes im Hintergrund ablaufen:

HTTP Referer

Beim Aufruf von Spiegel-Online hat der Betreiber externes JavaScript [1] vom Host »googletagmanager.com« in den Kontext der Webseite eingebunden. Der Browser wird diese Anfrage im Hintergrund bearbeiten und eine Verbindung zur Adresse »googletagmanager.com« aufbauen [2], um das JavaScript von Google nachzuladen. Bei diesem Vorgang übersendet der Browser eine ganze Reihe von Metadaten [3], wie die aktuell besuchte Webseite (HTTP-Referer: »http://www.spiegel.de/«) und die IP-Adresse, an die externe Quelle. Zum Schluss wird die Anfrage des Browsers bearbeitet und das JavaScript vom Host »googletagmanager.com« in den Kontext der Webseite [4] nachgeladen.

Wie die Studie »Privacy leakage vs. Protection measures: the growing disconnect« aufzeigt, übermitteln viele Seiten darüber hinaus personenbeziehbare Daten (bspw. E-Mail-Adresse) über den HTTP-Header an Drittseiten:

Host: "https://ad.doubleclick.net/adj/[...]"
Referer: "http://submit.sports.com/...?email=john.doe@email.com"
Cookie: "id=35c192bcfe0000b1"

Da der HTTP-Referer standardmäßig von eurem Browser übermittelt wird, haben sich die meisten von euch vermutlich noch nicht vor Augen geführt, welches Tracking-Potenzial in dieser unscheinbaren Header-Information stecken kann.

2.3 Webseitenaufruf mit Smart Referer

Schauen wir uns den Verlauf nach der Installation von Smart Referer noch einmal an. Dazu habe ich erneut Spiegel-Online aufgerufen und dieselbe Verbindung bzw. Ressource von der Quelle »www.googletagmanager.com« analysiert. Besucht ihr nach der Installation von Smart Referer Spiegel-Online, übermittelt eurer Browser beim Aufruf der JavaScript-Ressource folgende HTTP-Headerinformationen an Google:

Host: "www.googletagmanager.com"
User-Agent: "Mozilla/5.0 (Windows NT 6.1; rv:52.0) Gecko/20100101 Firefox/52.0"
Accept: "*/*"
Accept-Language: "en-US,en;q=0.5"
Accept-Encoding: "gzip, deflate, br"
Referer: "https://www.googletagmanager.com/gtm.js?id=GTM-WJQWWTD"
Connection: "keep-alive"
Cache-Control: "max-age=0"

Systembedingt übermittelt euer Browser weiterhin die IP-Adresse an die Server von Google – allerdings kann Google nun nicht mehr einordnen, von welcher Seite (Spiegel-Online) der Aufruf bzw. die Einbindung der JavaScript-Ressource erfolgte. Smart Referer unterbindet die ursprüngliche Übersendung des HTTP-Referers und übermittelt an den Host »www.googletagmanager.com« einfach den eigenen Hostnamen gefolgt vom Pfad und dem jeweiligen Parameter der aufgerufenen Ressource:

  • Hostname: www.googletagmanager.com
  • Pfad zur Ressource: /gtm.js
  • Parameter: ?id=GTM-WJQWWTD

3. Smart Referer: Anfänger

Bevor wir mit der Installation und Konfiguration von Smart Referer beginnen, möchte ich euch noch ein paar Hinweise mit auf den Weg geben:

3.1 Installation

Wie bei Firefox üblich wird Smart Referer am besten direkt über die Addon-Seite von Mozilla installiert. Folgt einfach diesem Link und klickt auf »+ Zu Firefox hinzufügen«.

Installation

Anschließend muss die Installation mit einem Klick auf »Hinzufügen« bestätigt werden:

Addon hinzufügen

Nach einer erfolgreichen Installation wird das Icon von Smart Referer in der Symbolleiste (rechts oben im Eck) auftauchen:

Nach Installation

Die Installation ist damit abgeschlossen und Smart Referer arbeitet mit den Standardeinstellungen, die wir so belassen können. Falls Webseiten in seltenen Fällen nicht einwandfrei funktionieren, kann es notwendig sein, Smart Referer zu deaktivieren. Mit einem Klick auf das Icon könnt ihr zwischen aktiviert und deaktiviert wechseln:

Switch

4. Smart Referer: Fortgeschrittene

Bereits in der Standardeinstellung übermittelt Smart Referer nicht mehr den ursprünglichen HTTP-Referer. Eine Ausnahme stellen allerdings Subdomains dar. Zwischen »a.example.com« und »b.example.com« werden auch nach der Installation des Addons weiterhin die echten HTTP-Referer-Informationen ausgetauscht. Wer das nicht möchte, der sollte die Voreinstellung von Smart Referer anpassen.

4.1 Smart Referer anpassen

Öffnet die Optionen des Addons und aktiviert dort »Strikter Modus«:

Strikter Modus

Es ist empfehlenswert diese Option zu aktivieren, da sich Trackinganbieter gerne über Subdomains einer Webseite einnisten, um darüber User-Tracking zu betreiben.

4.2 Whitelist

Standardmäßig wird bei Smart Referer eine Whitelist mitgeliefert. Bei Bedarf könnt ihr diese deaktivieren und eigene Ausnahmen definieren:

Whitelist

5. Fazit

Über welchen Suchbegriff ein Besucher auf eine Webseite gelangt ist oder welche Webseite sich jemand gerade anschaut, mag für einige Protagonisten eine wertvolle Information darstellen. Aus Nutzersicht kann die Sammlung und Auswertung der HTTP-Referer-Informationen allerdings einen Eingriff in die Privatsphäre darstellen, den niemand einfach tolerieren muss. Mittels Smart Referer wird der ursprüngliche HTTP-Referer so umgeschrieben, dass der jeweilige Empfänger daraus keine verwertbaren Informationen extrahieren kann.

In den nachfolgenden Teilen der Serie »Firefox-Kompendium« werde ich euch weitere Firefox-Addons und Einstellungen vorstellen und diese (weiter) aufeinander abstimmen.

Über den Autor | Kuketz

Mike Kuketz

In meiner freiberuflichen Tätigkeit als Pentester / Sicherheitsforscher (Kuketz IT-Security) schlüpfe ich in die Rolle eines »Hackers« und suche nach Schwachstellen in IT-Systemen, Webanwendungen und Apps (Android, iOS). Des Weiteren bin ich Lehrbeauftragter für IT-Sicherheit an der Dualen Hochschule Karlsruhe, sensibilisiere Menschen in Workshops und Schulungen für Sicherheit und Datenschutz und bin unter anderem auch als Autor für die Computerzeitschrift c’t tätig.

Der Kuketz-Blog bzw. meine Person ist regelmäßig in den Medien (heise online, Spiegel Online, Süddeutsche Zeitung etc.) präsent.

Mehr Erfahren ➡

SpendeUnterstützen

Die Arbeit von kuketz-blog.de wird zu 100% durch Spenden unserer Leserinnen und Leser finanziert. Werde Teil dieser Community und unterstütze auch du unsere Arbeit mit deiner Spende.

Folge dem Blog

Wenn du über aktuelle Beiträge informiert werden möchtest, hast du verschiedene Möglichkeiten, dem Blog zu folgen:

Bleib aktuell ➡


Diskussion

8 Ergänzungen zu “Firefox: Smart Referer – Firefox-Kompendium Teil6”

  1. Comment Avatar THLK sagt:

    Inwiefern unterscheidet sich, ob man nun dieses Addon nutzt oder sich an die Anweisungen des folgenden Links hält?

    https://privacy-handbuch.de/handbuch_21p.htm

    Dort wird erklärt, dass man Referer mit einem einfachen Eintrag in der about:config abschalten kann.

  2. Comment Avatar ein-leser sagt:

    Via uMatrix und den Firefox Containern lässt sich der Referer übrigens auch verschleiern

  3. Comment Avatar Rainer Komärz sagt:

    Danke für den Beitrag! Wieder einmal sehr, sehr gut!

    Ich habe den referrer seit ca. 10 Jahren ausgeschaltet beim Surfen und keinerlei Nachteile erlitten, weder beim Onlinebanking noch sonstwo.

    (Seit ca. sechs Monaten nutze ich allerdings uMatrix’s referrer-Verschleierung. Auch ohne Nachteile.)

    Es ist absolut erstaunlich, wie schnell und frei das Internet sein kann, wenn man den ganzen, ungeheuren Mist – beim SPIEGEL zeigt mir uMatrix ca. 130 sekundäre Quellen an – unterbindet. Alles nicht im Interesse des Nutzers.

  4. Comment Avatar Volker sagt:

    Besten Dank für die super einfach formulierten Anleitungen! Die Einteilung in „Anfänger“ und Fortgeschrittene sollte ein Beispiel für alle anderen IT-Spezialisten werden, die sich um Datenschutz bemühen.

  5. Comment Avatar Fragender sagt:

    Vielen Dank für diese Einführung in „Smart Referer“.

    Meine Frage: Könntest Du bitte kurz auf Deine Sicht des Hinweises von Cane eingehen, der entschieden davon abrät, den Referer zu manipulieren, da dies gerade dazu führen würde, einen deutlich zu erkennenden Fingerprint zu erzeugen: siehe letzter Absatz.

    Vielen Dank.

    • Comment Avatar Mike Kuketz sagt:

      Das ist korrekt. Würde der Referer komplett entfernt, dann wäre dies vermutlich ein zusätzliches Fingerprinting-Merkmal – das tun wir aber mit Smart Referer nicht. Wir entfernen den Referer nicht vollständig sondern ersetzen ihn mit anderen Werten / Inhalten.

HilfeWenn du konkrete Fragen hast oder Hilfe benötigst, sind das offizielle Forum oder der Chat geeignete Anlaufstellen, um dein Anliegen zu diskutieren. Per E-Mail beantworte ich grundsätzlich keine (Support-)Anfragen – dazu fehlt mir einfach die Zeit. Kuketz-Forum

Abschließender Hinweis

Blog-Beiträge erheben nicht den Anspruch auf ständige Aktualität und Richtigkeit wie Lexikoneinträge (z.B. Wikipedia), sondern beziehen sich wie Zeitungsartikel auf den Informationsstand zum Zeitpunkt des Redaktionsschlusses.

Kritik, Anregungen oder Korrekturvorschläge zu den Beiträgen nehme ich gerne per E-Mail entgegen.