1. Bromite
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
- Brave: Datensendeverhalten Desktop-Version – Browser-Check Teil1
- Ungoogled Chromium: Datensendeverhalten Desktop-Version – Browser-Check Teil2
- Bromite: Datensendeverhalten Android-App – Browser-Check Teil3
- Microsoft Edge: Datensendeverhalten Desktop-Version – Browser-Check Teil4
- Vivaldi: Datensendeverhalten Desktop-Version – Browser-Check Teil5
- Firefox: Datensendeverhalten Android-App (F-Droid-Version) – Browser-Check Teil6
- Iridium Browser: Datensendeverhalten Desktop-Version – Browser-Check Teil7
- LibreWolf: Datensendeverhalten Desktop-Version – Browser-Check Teil8
- Pale Moon: Datensendeverhalten Desktop-Version – Browser-Check Teil9
- SRWare Iron: Datensendeverhalten Desktop-Version – Browser-Check Teil10
- Privacy Browser: Datensendeverhalten Android-App – Browser-Check Teil11
- DuckDuckGo Privacy Browser: Datensendeverhalten Android-App – Browser-Check Teil12
- Opera: Datensendeverhalten Desktop-Version – Browser-Check Teil13
- FOSS Browser: Datensendeverhalten Android-App – Browser-Check Teil14
- Firefox Klar (Focus): Datensendeverhalten Android-App – Browser-Check Teil15
- Waterfox: Datensendeverhalten Desktop-Version – Browser-Check Teil16
- UC Browser: Datensendeverhalten Android-App – Browser-Check Teil17
- iCab Mobile: Datensendeverhalten iOS-App – Browser-Check Teil18
- Safari: Datensendeverhalten iOS-App – Browser-Check Teil19
- Mozilla Firefox: Datensendeverhalten Desktop-Version – Browser-Check Teil20
- Google Chrome: Datensendeverhalten Desktop-Version – Browser-Check Teil21
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.
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. Erwähnenswert
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ß.
Wenn du über aktuelle Beiträge informiert werden möchtest, hast du verschiedene Möglichkeiten, dem Blog zu folgen:
5 Ergänzungen zu “Bromite: Datensendeverhalten Android-App – Browser-Check Teil3”
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-ForumAbschließ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.
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.
Dass Addons nicht möglich sind, kann aus der Sicherheitsperspektive durchaus Vorteile haben. In der Vergangenheit gab es immer wieder bösartige Addons.
GrapheneOS ist ein großer Befürworter von Bromite und empfiehlt ihn neben Vanadium. Weiterführende Infos findet ihr hier GrapheneOS-Web-Browsing
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?
Nein, das ersetzt das systeminterne WebView nicht einfach. Siehe hier für weitere Infos: https://github.com/bromite/bromite/wiki/Installing-SystemWebView