Brave: Datensendeverhalten Desktop-Version – Browser-Check Teil1

1. BraveBrave

Im Rahmen der Artikelserie »Browser-Check« werden diverse Browser auf ihr Datensendeverhalten geprüft. Mittels eines Intercepting-Proxys wird das Verhalten der Browser beim Start und auch während der Nutzung analysiert. Es wird geprüft, wohin ein Browser eine Verbindung aufbaut und welche Daten dabei übermittelt werden. Die Ergebnisse sollen Aufschluss darüber geben, wie datenschutzfreundlich ein Browser in der Standardkonfiguration ist und Tipps ableiten, wie sich das »Nach-Hause-Telefonieren« einschränken oder sogar vollständig abschalten lässt.

Den Anfang macht der Brave-Browser, der für Windows, GNU/Linux, macOS, Android und iOS verfügbar ist. Die Ausgangslage für den nachfolgenden Test des Brave-Browsers ist wie folgt:

  • Betriebssystem: Ubuntu 20.04 (GNU/Linux)
  • Version: 1.24.82 Chromium: 90.0.4430.93 (Offizieller Build) (64-Bit)
  • Konfiguration: Standardkonfiguration (keine Anpassungen)

Brave wirbt aktuell wie folgt:

Three times faster than Chrome. Better privacy by default than Firefox. Uses 35% less battery on mobile.

Dieser Beitrag ist Teil einer Artikelserie:

2. Datensendeverhalten

2.1 Unmittelbar nach dem Start – keine (Nutzer-)Interaktion

[1] Verbindungsaufbau zu Brave zum Host »variations.brave.com«:

GET /seed?osname=linux&channel=stable&milestone=90 HTTP/1.1
Host: variations.brave.com
Connection: close
A-IM: gzip
BraveServiceKey: qjVKcxtUybh8WpKNoQ7EbgbkJTMu7omjDHKk=VrPApb8PwJyPE9eqchxedTsMEWg
Sec-Fetch-Site: none
Sec-Fetch-Mode: no-cors
Sec-Fetch-Dest: empty
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36
Accept-Encoding: gzip, deflate

Beim ersten Start des Browsers wird ein BraveServiceKey generiert, der für Anfragen an Brave-Server bzw. -Dienste übermittelt wird. Über diese Domain erfolgen Experimente bzw. A/B-Tests bei einer Teilmenge der Brave-Nutzer. Unklar bleibt, ob man das bei Bedarf deaktivieren kann bzw. wann man überhaupt zur Testgruppe zählt.

[2] Verbindungsaufbau zu Brave zum Host »crlsets.brave.com«:

GET /edgedl/chrome/dict/de-de-3-0.bdic HTTP/1.1
Host: crlsets.brave.com
Connection: close
Sec-Fetch-Site: none
Sec-Fetch-Mode: no-cors
Sec-Fetch-Dest: empty
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36
Accept-Encoding: gzip, deflate
Accept-Language: de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7

Anfrage nach einem (deutschen) Wörterbuch für die Rechtschreibprüfung.

[3] Verbindungsaufbau zu Brave zum Host »laptop-updates.brave.com«:

GET /1/usage/brave-core?platform=linux-bc&channel=release&version=1.24.82&daily=true&weekly=true&monthly=true&first=true&woi=2021-05-10&dtoi=2021-05-10&ref=BRV001&adsEnabled=false&arch= HTTP/1.1
Host: laptop-updates.brave.com
Connection: close
Pragma: no-cache
Cache-Control: no-cache
X-Brave-API-Key: fe033168-0ff8-4af6-9a7f-95e2cbfc9f4f
Sec-Fetch-Site: none
Sec-Fetch-Mode: no-cors
Sec-Fetch-Dest: empty
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36
Accept-Encoding: gzip, deflate

Bei diesem GET-Request wird unter anderem die verwendete Plattform bzw. Betriebssystem (Linux) und die Brave-Version (1.24.82) mitgesendet. Über Host »laptop-updates.brave.com« bezieht Brave offenbar eine Liste mit Affiliates bzw. Brave-Partnern:

[{"domains":["eaff.com","stg.eaff.com"],"headers":{"X-Brave-Partner":"eaff"},"cookieNames":[],"expiration":31536000000},{"domains":["sandbox.uphold.com","api-sandbox.uphold.com","uphold.com","api.uphold.com"],"headers":{"X-Brave-Partner":"uphold"},"cookieNames":[],"expiration":31536000000},{"domains":["www.grammarly.com","grammarly.com","static.grammarly.com","gnar.grammarly.com"], "headers":{"X-Brave-Partner":"grammarly"},"cookieNames":[],"expiration":31536000000}]

[4] Verbindungsaufbau zu Brave zum Host »go-updater.brave.com« / »componentupdater.brave.com«:

POST /extensions HTTP/1.1
Host: go-updater.brave.com
Connection: close
Content-Length: 887
Content-Type: application/json
BraveServiceKey: qjVKcxtUybh8WpKNoQ7EbgbkJTMu7omjDHKk=VrPApb8PwJyPE9eqchxedTsMEWg
Sec-Fetch-Site: none
Sec-Fetch-Mode: no-cors
Sec-Fetch-Dest: empty
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36
Accept-Encoding: gzip, deflate

{"request":{"@os":"linux","@updater":"","acceptformat":"crx2,crx3","app":[{"appid":"obbokncgfcbepeipkhpdepjjoncelefj","event":[{"download_time_ms":1142,"downloaded":975418,"downloader":"direct","eventresult":1,"eventtype":14,"nextversion":"1.0.372","previousversion":"0.0.0.0","total":975418,"url":"https://brave-core-ext.s3.brave.com/release/obbokncgfcbepeipkhpdepjjoncelefj/extension_1_0_372.crx"},{"eventresult":1,"eventtype":3,"nextversion":"1.0.372","previousversion":"0.0.0.0"}],"version":"1.0.372"}],"arch":"x64","dedup":"cr","hw":{"physmemory":8},"lang":"","nacl_arch":"x86-64","os":{"arch":"x86_64","platform":"Linux","version":"5.8.0-50-generic"},"prodchannel":"stable","prodversion":"90.1.24.82","protocol":"3.1","requestid":"{88fdba9a-ceee-4f88-a770-b193fe1e868d}","sessionid":"{8e247858-1cda-434d-b8af-8cf0c3b561ae}","updaterchannel":"stable","updaterversion":"90.1.24.82"}}

Über den Host »go-updater.brave.com« / »componentupdater.brave.com« sucht der Browser offenbar nach Updates für Erweiterungen bzw. den Browser selbst. In der Standardkonfiguration, ohne die weitere Installation von Add-ons, wird der Aufruf über 30x wiederholt. Dabei wird unter anderem übermittelt:

  • Betriebssystem: Linux
  • Variante: x86_64
  • Kernel-Version: 5.8.0-50-generic
  • Chrome-Version: 90.1.24.82
  • Arbeitsspeicher: 8 GB
  • App-ID: obbokncgfcbepeipkhpdepjjoncelefj (vermutlich eine Referenz zur Erweiterung)
  • Versionsnummer des Add-ons: 1.0.372

[5] Verbindungsaufbau zu Brave zum Host »brave-core-ext.s3.brave.com«:

GET /release/oofiananboodjbbmdelgdommihjbkfag/extension_1_0_41.crx HTTP/1.1
Host: brave-core-ext.s3.brave.com
Connection: close
BraveServiceKey: qjVKcxtUybh8WpKNoQ7EbgbkJTMu7omjDHKk=VrPApb8PwJyPE9eqchxedTsMEWg
Sec-Fetch-Site: none
Sec-Fetch-Mode: no-cors
Sec-Fetch-Dest: empty
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36
Accept-Encoding: gzip, deflate

Anschließend werden vorhandene Updates zu den integrierten Erweiterungen heruntergeladen und installiert.

[6] Verbindungsaufbau zu Brave zum Host »p3a.brave.com«:

POST / HTTP/1.1
Host: p3a.brave.com
Connection: close
Content-Length: 100
X-Brave-P3A: ?1
Content-Type: application/base64
BraveServiceKey: qjVKcxtUybh8WpKNoQ7EbgbkJTMu7omjDHKk=VrPApb8PwJyPE9eqchxedTsMEWg
Sec-Fetch-Site: none
Sec-Fetch-Mode: no-cors
Sec-Fetch-Dest: empty
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36
Accept-Encoding: gzip, deflate

CViDhci9YYpLEkADLERFLGxpbnV4LWJjLDEuMjQuODIscmVsZWFzZSwyMTE5LDIxMTksbm9uZSwwAAAAAAAAAAAAAAAAAAAAAAAA

Beim Verbindungsaufbau zum Host »p3a.brave.com« werden Telemetriedaten übermittelt. Dahinter steckt das von Brave entwickelte Privacy-Preserving Product Analytics (P3a) – also ein Analyse-Dienst. Der Body des Post-Requests ist Base64-codiert. Gemeinsam mit dem BraveServiceKey wird übermittelt:

  • Sprache: DE
  • System: linux-bc
  • Brave-Version: 1.24.82

Des Weiteren wird im Base64-Body noch »release,2119,2119,none,0« übermittelt – kann ich aktuell nicht genau zuordnen.

[7] Verbindungsaufbau zu Brave zum Host »safebrowsing.brave.com«:

GET /v4/threatListUpdates:fetch?$req=ChYKCGNocm9taXVtEgo5MC4xLjI0LjgyGgwIBxACIgQgASACKAEaDAgFEAIiBCABIAIoARoMCAEQAiIEIAEgAigDGgwIARACIgQgASACKAEaDAgDEAIiBCABIAIoARoMCAEQCCIEIAEgAigEGgwIDxACIgQgASACKAEiAggB&$ct=application/x-protobuf&key=dummytoken HTTP/1.1
Host: safebrowsing.brave.com
Connection: close
X-HTTP-Method-Override: POST
BraveServiceKey: qjVKcxtUybh8WpKNoQ7EbgbkJTMu7omjDHKk=VrPApb8PwJyPE9eqchxedTsMEWg
Sec-Fetch-Site: none
Sec-Fetch-Mode: no-cors
Sec-Fetch-Dest: empty
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36
Accept-Encoding: gzip, deflate

Die Google-Safe-Browsing-Blocklist wird nicht über Google-Server bezogen, sondern auf Brave-Servern gehostet.

2.2 Während der aktiven Nutzung

[1] Verbindungsaufbau zu Brave zum Host »p3a.brave.com«:

POST / HTTP/1.1
Host: p3a.brave.com
Connection: close
Content-Length: 100
X-Brave-P3A: ?1
Content-Type: application/base64
BraveServiceKey: qjVKcxtUybh8WpKNoQ7EbgbkJTMu7omjDHKk=VrPApb8PwJyPE9eqchxedTsMEWg
Sec-Fetch-Site: none
Sec-Fetch-Mode: no-cors
Sec-Fetch-Dest: empty
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36
Accept-Encoding: gzip, deflate

CViDhci9YYpLEkADLERFLGxpbnV4LWJjLDEuMjQuODIscmVsZWFzZSwyMTE5LDIxMTksbm9uZSwwAAAAAAAAAAAAAAAAAAAAAAAA

In regelmäßigen Abständen wird der Telemetriedienst kontaktiert.

[2] Verbindungsaufbau zu Brave zum Host »safebrowsing.brave.com«:

GET /v4/threatListUpdates:fetch?$req=ChYKCGNocm9taXVtEgo5MC4xLjI0LjgyGgwIBxACIgQgASACKAEaDAgFEAIiBCABIAIoARoMCAEQAiIEIAEgAigDGgwIARACIgQgASACKAEaDAgDEAIiBCABIAIoARoMCAEQCCIEIAEgAigEGgwIDxACIgQgASACKAEiAggB&$ct=application/x-protobuf&key=dummytoken HTTP/1.1
Host: safebrowsing.brave.com
Connection: close
X-HTTP-Method-Override: POST
BraveServiceKey: qjVKcxtUybh8WpKNoQ7EbgbkJTMu7omjDHKk=VrPApb8PwJyPE9eqchxedTsMEWg
Sec-Fetch-Site: none
Sec-Fetch-Mode: no-cors
Sec-Fetch-Dest: empty
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36
Accept-Encoding: gzip, deflate

Die Google-Safe-Browsing-Blocklist wird regelmäßig aktualisiert.

3. Er­wäh­nens­wert

3.1 Basis bzw. Unterbau

Brave basiert auf Chromium – eine quelloffene Version des Google-Browsers Chrome. Auch andere Browser wie Microsoft Edge, Opera oder Vivaldi setzen auf Chromium als Unterbau und passen den Browser dann an die eigenen Bedürfnisse und Vorstellungen an. Aufgrund der Nähe zu Google (Funktionalitäten wie Safe Browsing oder den Chrome Web Store für Extensions) ist Chromium bzw. darauf basierende Projekte meist eng mit Google verbandelt.

3.2 Suchmaschine

Google ist als Standardsuchmaschine voreingestellt. Im Gegensatz zu anderen Browsern wird allerdings nicht jede Tastatureingabe an Google übermittelt, wenn man etwas im Suchfeld bzw. der Adressleiste eintippt, sondern erst dann, wenn die Suchanfrage auch abgesendet wird. Über Einstellungen -> Suchmaschinen lässt sich die Suchmaschine anpassen.

Hinweis

Einige Leser haben mir gemeldet, dass die Standardsuchmaschine DuckDuckGo ist. Dem ist nicht (mehr) so – jedenfalls nicht in der von mir verwendeten Version des Browsers für Ubuntu 20.04 (GNU/Linux).

3.3 Tracking

Die Übermittlung von Telemetriedaten lässt sich über Einstellungen -> Erweiterte Einstellungen -> Datenschutz und Sicherheit -> Automatisch vollständig private Produktanalysen an Brave senden deaktivieren.

3.4 Add-ons/Erweiterungen

Erweiterungen (Add-ons) können über den Chrome Store installiert werden. Dabei wird eine Verbindung zu »chrome.google.com« bzw. weiteren Google-Servern geöffnet. Sobald man eine Erweiterung installiert, wird über den Google-Host »update.googleapis.com« nach Aktualisierungen gesucht. Wer also nicht möchte, dass der Brave-Browser Verbindungen zu Google aufnimmt, der sollte auf die zusätzliche Installation von Erweiterungen verzichten.

Unterstütze den Blog mit einem Dauerauftrag!

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 ➡

3.5 Private Browsing/Privates Fenster

Keine Auffälligkeiten.

4. Fazit

Insgesamt hinterlässt Brave einen durchwachsenen Eindruck. Die Voreinstellungen des Browsers sind nicht ideal. Unter anderem zu bemängeln ist Google als Standardsuchmaschine, das User-Tracking und das Nachladen von JavaScript von diversen Google-, Facebook- und Twitter-Domains, um die Funktionalität der Plattformen (Social-Media) nicht zu beeinträchtigen. Der Trackerschutz sollte aktiv fragen, ob der Nutzer die Einbindung erlauben bzw. verweigern möchte. Zumindest kann das Verhalten über Einstellungen -> Social-Media-Sperrung angepasst werden.

Unklar bleibt, ob man zur A/B-Testgruppe gehört und welche Daten dabei an die Domain »variations.brave.com« fließen. Ebenfalls fragwürdig ist die Abfrage von Affiliate-Domains über die Domain »laptop-updates.brave.com«.

Passt man die Voreinstellungen an und installiert keine weiteren Add-ons, hat man einen Chromium-Ableger, der offenbar keine Verbindungen zu Google initiiert, aber dennoch unnötige Verbindungen beim Start aufbaut. So ganz passt die Außendarstellung bzw. das Versprechen zum Schutz der Privatsphäre nicht zum tatsächlichen Verhalten in der Praxis.

Ü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

3 Ergänzungen zu “Brave: Datensendeverhalten Desktop-Version – Browser-Check Teil1”

  1. Comment Avatar V wie Vendetta sagt:

    Brave hatte ich mal eine Zeit lang verwendet, aber Brave Shield hat viele Seiten zerschossen und das konnte nur durch dessen vollständige Deaktivierung umgangen werden. Eine unbefriedigende Lösung. uMatrix, uBlock Origin und Co. handhaben das viel besser!
    Zudem war bei Brave zu viel Ballast mit an Bord, wie ein Torrent-Client oder dieses BAT-Falschgeld.

    • Comment Avatar maxmoon sagt:

      Was genau meinst du mit BAT-Falschgeld?

      BAT ist eine legitime Crypto-Währung, die recht weit verbreitet ist und gut gehandelt wird.

      Das Konzept, dass man für das textbasierte Ansehen von Werbung Geld bekommt und dabei nicht ausspioniert wird, sind doch zwei tolle Sachen, die es als Standard hätte geben sollen, als das Internet erfunden wurde. Doch hat es sich anders entwickelt und wir müssen heutzutage Werbung sehen für die wir kein Geld bekommen, die uns ausspioniert und multi-millionen schwere Unternehmen noch reicher macht.

      Erkläre bitte, wie das schlecht sein kann, weil deine Aussage eher vermuten lässt, dass du dem negativ gegenüber stehst.

  2. Comment Avatar Justus sagt:

    Brave hat selbst eine Analyse zum Sendeverhalten anderer Browser erstellt.
    Gerade hier in dem Kontext ist es interessant die Erkenntnisse zu vergleichen und sich die Begründungen von Brave anzusehen.
    https://brave.com/popular-browsers-first-run/

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.