Bromite: Datensendeverhalten Android-App – Browser-Check Teil3

1. BromiteBromite

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.

Im vorliegenden Beitrag wird Bromite analysiert, der ausschließlich für Android (F-Droid-Version) verfügbar ist. Die Ausgangslage für den nachfolgenden Test von Bromite ist wie folgt:

  • Betriebssystem: Android 11
  • Version: 90.0.4430.204 (Offizieller Build) (ARM64)
  • Konfiguration: Standardkonfiguration (keine Anpassungen)

Bromite wirbt aktuell wie folgt:

Bromite is a Chromium fork with ad blocking and enhanced privacy; take back your browser

Dieser Beitrag ist Teil einer Artikelserie:

2. Datensendeverhalten

Hilf mit die Spendenziele zu erreichen!

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 Unmittelbar nach dem Start – keine (Nutzer-)Interaktion

[1] Verbindungsaufbau zu Bromite zum Host »www.bromite.org«:

GET /filters/filters.dat HTTP/1.1
Host: www.bromite.org
Connection: close
Pragma: no-cache
Cache-Control: no-cache
Sec-Fetch-Site: none
Sec-Fetch-Mode: no-cors
Sec-Fetch-Dest: empty
User-Agent: Mozilla/5.0 (Linux; Android 9; Unspecified Device) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.0.0 Mobile Safari/537.36
Accept-Encoding: gzip, deflate

Bromite wird mit einer Filterliste gegen Werbung und Tracker ausgeliefert, die bei jedem Start des Browsers aktualisiert wird. Über Einstellungen -> AdBlock settings kann das Verhalten beeinflusst werden.

Alle nachfolgenden Verbindungen (2 bis 5) kommen zustande, weil Bromite die Icons (Favicon) von Webseiten lädt, die am meisten/häufig aufgerufen werden und diese dann beim Start des Browsers darstellt. Eine Komfortfunktion, damit der Nutzer mit einem Tipp auf das Website-Icon die entsprechende Seite direkt laden kann.

Leider ist die Funktion aus Datenschutzperspektive nicht ideal, da der Browser beim erstmaligen Start damit Verbindungen zu Webseiten initiiert, um die noch nicht vorhandenen Icons zu laden bzw. jene, die noch nicht im Cache vorhanden sind. Im Auslieferungszustand sind in Bromite folgende Webseiten hinterlegt, zu denen der Browser einmalig eine Verbindung initiiert, um die fehlenden Icons nachzuladen:

  • freenode.net
  • www.bromite.org
  • www.eff.org
  • www.chromium.org

[2] Verbindungsaufbau zu Freenode zum Host »freenode.net«:

GET /static/img/logos/coloured-alphabg-sq-120.png HTTP/1.1
Host: freenode.net
Connection: close
Sec-Fetch-Site: none
Sec-Fetch-Mode: no-cors
Sec-Fetch-Dest: empty
User-Agent: Mozilla/5.0 (Linux; Android 9; Unspecified Device) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.0.0 Mobile Safari/537.36
Accept-Encoding: gzip, deflate
Accept-Language: de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7

[3] Verbindungsaufbau zu Bromite zum Host »www.bromite.org«:

GET /chromium.png HTTP/1.1
Host: www.bromite.org
Connection: close
Sec-Fetch-Site: none
Sec-Fetch-Mode: no-cors
Sec-Fetch-Dest: empty
User-Agent: Mozilla/5.0 (Linux; Android 9; Unspecified Device) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.0.0 Mobile Safari/537.36
Accept-Encoding: gzip, deflate
Accept-Language: de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7

[4] Verbindungsaufbau zur EFF zum Host »www.eff.org«:

GET /sites/all/themes/phoenix/apple-touch-icon-precomposed-114x114.png h2
Host: www.eff.org
sec-fetch-site: none
sec-fetch-mode: no-cors
sec-fetch-dest: empty
user-agent: Mozilla/5.0 (Linux; Android 9; Unspecified Device) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.0.0 Mobile Safari/537.36
accept-encoding: gzip, deflate, br
accept-language: de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7

[5] Verbindungsaufbau zum Chromium-Projekt zum Host »www.chromium.org«:

GET /_/rsrc/1484148948583/apple-touch-icon.png h2
Host: www.chromium.org
sec-fetch-site: none
sec-fetch-mode: no-cors
sec-fetch-dest: empty
user-agent: Mozilla/5.0 (Linux; Android 9; Unspecified Device) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.0.0 Mobile Safari/537.36
accept-encoding: gzip, deflate, br
accept-language: de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7

Die vorhandenen Einträge bzw. Icons kann man über Einstellungen -> Datenschutz und Sicherheit -> Browserdaten löschen -> Daten löschen loswerden. Sie werden erst dann wieder angelegt, wenn man eine Webseite aufruft.

2.2 Während der aktiven Nutzung

[1] Verbindungsaufbau zu Bromite zum Host »www.bromite.org«:

GET /filters/filters.dat HTTP/1.1
Host: www.bromite.org
Connection: close
Pragma: no-cache
Cache-Control: no-cache
Sec-Fetch-Site: none
Sec-Fetch-Mode: no-cors
Sec-Fetch-Dest: empty
User-Agent: Mozilla/5.0 (Linux; Android 9; Unspecified Device) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.0.0 Mobile Safari/537.36
Accept-Encoding: gzip, deflate

Während der Laufzeit aktualisiert Bromite regelmäßig die Filterliste gegen Werbung und Tracker.

3. Er­wäh­nens­wert

3.1 Basis bzw. Unterbau

Bromite basiert auf Chromium – eine quelloffene Version des Google-Browsers Chrome. 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. Bei Bromite ist das anders. Der Browser hat sich zum Ziel gesetzt alle Zöpfe zu Google abzuschneiden und verwendet dazu diverse Patches und Modifikationen, die zum Teil vom Ungoogled-Chromium-Projekt stammen. Auf der GitHub-Seite des Bromite-Projekts sind weitere Informationen zu finden:

Is Bromite de-googled?

Yes, although this has not been verified (and hardly can be) under all situations; if you were to find connections to cloud-based services please report them via the issue tracker. Bromite uses ungoogled-chromium’s python script to disable URLs in the codebase since version 78.0.3904.93.

Projects which follow a strict approach on this are Iridium and Inox patchset.

Bei Bromite handelt es sich um einen Fork (Abspaltung) von Chromium. Forks haben allerdings im Vergleich zum Mutterprojekt den Nachteil, dass diese meist nur von wenigen Entwicklern begleitet werden. Sicherheitsaktualisierungen werden bei Bromite meist mit einer kurzen Verzögerung eingepflegt. Das sollte man im Hinterkopf behalten, wenn eine schwerwiegende Sicherheitslücke in Chromium grassiert bzw. geschlossen wurde – es kann unter Umständen etwas dauern, bis der Patch/Aktualisierung seinen Weg in Bromite findet.

Zusätzlich zu einer integrierten Filterliste gegen Werbung und Tracker hat Bromite diverse Techniken implementiert, die das Fingerprinting erschweren/verhindern. Die Feature-Liste ist durchaus beeindruckend.

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 -> Suchmaschine lässt sich die Suchmaschine anpassen.

3.3 Tracking

Bromite trackt/verfolgt den Nutzer in keinster Weise.

3.4 Add-ons/Erweiterungen

Leider unterstützt Bromite die Installation von zusätzlichen Add-ons nicht.

3.5 Private Browsing/Privates Fenster

Keine Auffälligkeiten.

4. Fazit

Insgesamt hinterlässt Bromite einen datenschutzfreundlichen Eindruck, auch wenn die Standardeinstellungen nicht optimal sind. Unter anderem zu bemängeln ist Google als Standardsuchmaschine und das einmalige Nachladen von Webseiten-Icons bei der Inbetriebnahme des Browsers. Das müsste nicht sein.

Abgesehen von diesen kleinen Mängeln telefoniert der Browser nicht nach Hause. Bei Bedarf lässt sich die Aktualisierung der Tracking- bzw. Werbefilterliste deaktivieren – danach öffnet der Browser eigenständig keine Verbindungen mehr, außer man ruft eine Webseite auf. Von der Deaktivierung der Filterliste rate ich allerdings ab. Der Nutzen ist einfach zu groß.

Ü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

5 Ergänzungen zu “Bromite: Datensendeverhalten Android-App – Browser-Check Teil3”

  1. Comment Avatar Sebastian sagt:

    Ein kleiner Trick, bei dem ich aber selbst leider nicht 100% sicher bin, ob er funktioniert:
    Die URL der Filterliste lässt sich angepassen. Die Datei ‚filters.dat‘ kann also mit einem regulären Aufruf der originalen URL herunterladen und lokal unter

    file:///storage/.../filters.dat

    abgerufen werden. Bromite nimmt es zumindest als valide URL an.

  2. Comment Avatar Niemand sagt:

    Dass Addons nicht möglich sind, kann aus der Sicherheitsperspektive durchaus Vorteile haben. In der Vergangenheit gab es immer wieder bösartige Addons.

  3. Comment Avatar Christian sagt:

    GrapheneOS ist ein großer Befürworter von Bromite und empfiehlt ihn neben Vanadium. Weiterführende Infos findet ihr hier GrapheneOS-Web-Browsing

  4. Comment Avatar HBrO2 sagt:

    Was mir nicht ganz klar ist:

    Da mit der Installation aus dem Bromite/F-droid Repository auch das SystemWebView von Bromite mitinstalliert wird (s. „installiert“ in der f-droid app), stellt sich mir die Frage, ob selbiges das vom Betriebssystem installierte systemweit ersetzt?
    D.h., es würden sämtliche Apps, die die webview implementiert haben, die Bromite-Version verwenden?

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.