Der problematische HTTP-Header, den Chrome an Google sendet

Der HTTP-Header x-client-data wird von Chrome systematisch an Google- und Doubleclick-Domains gesendet, auch wenn Sie Cookies ablehnen

Veröffentlicht von Pixel de Tracking am 8. Januar 2020

Chrome und die Privatsphäre

Chrome ist ein ausgezeichneter Browser, aber nicht der beste Verteidiger Ihrer Privatsphäre.

Anders als Firefox, der einen verbesserten Schutz vor Tracking eingeführt hat und damit die meisten Tracker blockiert, oder Safari, das seine Tracker-Blockade über die Funktion Intelligent Tracking Prevention verbessert, tut Chrome nicht viel. Zwar wird Chrome ab Version 80 bestimmte Cookies blockieren (Erklärungen zum SameSite-Attribut von Cookies und dazu, wie Chrome seine Behandlung ändern wird, finden Sie hier), aber Werbetreibende müssen ihre Cookies nur mit dem Attribut SameSite=None markieren, damit sich nichts ändert.

Bei meinen Tests für den Artikel über die Deanonymisierung der von Doubleclick gesammelten Surfdaten bin ich auf ein weiteres Problem gestoßen: Chrome sendete systematisch denselben benutzerdefinierten HTTP-Header namens x-client-data an Google und Doubleclick.

Der Test

Wir beobachten diesen benutzerdefinierten Header, den Chrome nur an die Domains Doubleclick (Googles Werbedienst) und Google sendet. Schauen wir uns zuerst Doubleclick an, einen Dienst, den lemonde.fr nutzt.

  • Deaktivieren Sie Ihren Adblocker
  • Löschen Sie die Cookies in Chrome (Einstellungen > Erweiterte Einstellungen > Browserdaten löschen), damit Sie von Ihrem Google-Konto abgemeldet sind
  • Gehen Sie dann auf lemonde.fr
  • Öffnen Sie die Chrome-Konsole (⌘+Option+J auf dem Mac, Strg, Umschalt und J auf dem PC)
  • Öffnen Sie den Tab „Network“ und filtern Sie die Ergebnisse nach doubleclick
  • Scrollen Sie auf der Seite (lemonde.fr betrachtet Scrollen als Zustimmung zu Cookies und löst danach das Werbetracking aus)
  • Klicken Sie im Tab „Network“ der Konsole auf eine Anfrage an doubleclick und sehen Sie sich die „Request headers“ an

x-client-data doubleclick

Sie sehen einen Chrome-spezifischen Header, der an die Doubleclick-Domain gesendet wird: x-client-data.

Der zweite Schritt des Tests sieht so aus:

  • Gehen Sie zu google.com
  • Öffnen Sie die Chrome-Konsole (⌘+Option+J auf dem Mac, Strg, Umschalt und J auf dem PC)
  • Öffnen Sie den Tab „Network“ und filtern Sie die Ergebnisse nach google.fr
  • Laden Sie die Seite neu, klicken Sie dann im Tab „Network“ der Konsole auf eine Anfrage an Google und sehen Sie sich die „Request headers“ an

x-client-data google

Sie sehen weiterhin denselben Header: x-client-data, mit demselben Wert. Über Chrome kann Google Sie also auf allen Domains verfolgen, die Google- oder Doubleclick-Dienste nutzen (also auf einem großen Teil des Webs), selbst wenn Sie Cookies blockieren.

Was ist der Zweck des x-client-data-Headers?

Nach dieser Entdeckung habe ich versucht, im Web mehr darüber herauszufinden. Es stellte sich heraus, dass dieser Header kaum Aufmerksamkeit bekommen hat: kein Artikel auf Französisch und nur zwei Artikel auf Englisch:

Vincent Toubiana nennt das Whitepaper von Chrome als einzige Informationsquelle von Google. Hier also die offiziellen Informationen zu diesem Header:

Wir möchten Funktionen entwickeln, die sich die Nutzer wünschen; daher erhält ein Teil der Nutzer einen Vorab-Einblick in neue Funktionen, die getestet werden, bevor sie für die breite Öffentlichkeit ausgerollt werden. Eine Liste der Feldversuche, die derzeit auf Ihrer Chrome-Installation aktiv sind, wird allen an Google gesendeten Anfragen beigefügt. Dieser Chrome-Variations-Header (X-Client-Data) enthält keine personenbezogenen Daten und beschreibt lediglich den Zustand der Chrome-Installation selbst, einschließlich der aktiven Variationen sowie serverseitiger Experimente, die die Installation betreffen können.

Welche Variationen für eine bestimmte Installation aktiv sind, wird durch eine Seed-Zahl bestimmt, die beim ersten Start zufällig ausgewählt wird. Wenn Nutzungsstatistiken und Absturzberichte deaktiviert sind, wird diese Zahl zwischen 0 und 7999 gewählt (13 Bit Entropie). Wenn Sie Ihren Variations-Seed zurücksetzen möchten, führen Sie Chrome mit dem Befehlszeilen-Flag „--reset-variation-state“ aus. Experimente können zusätzlich nach Land (anhand Ihrer IP-Adresse bestimmt), Betriebssystem, Chrome-Version und anderen Parametern eingeschränkt werden.

Dieser Header wird also tatsächlich in allen Anfragen an Google gesendet. Er wird für A/B-Tests genutzt, aber auch für Nutzungsstatistiken von Chrome. Auch hier müssen Sie Google vertrauen, dass der Header nicht genutzt wird, um Sie noch besser zu tracken.

Können Sie dem entgehen?

Relativ einfach: Sie können Chrome meiden und auf einen Browser umsteigen, der die Privatsphäre stärker respektiert, etwa Firefox, Safari oder Brave. Wenn Sie Chrome nutzen, wird dieser Header im Inkognito-Modus nicht gesendet. Sie können außerdem das Senden von Nutzungsstatistiken und Fehlerberichten an Chrome deaktivieren, um die Entropie des Headers zu verringern.