Firefox 60: Datenmitschnitt der Android-Fassung
Mozilla hat sich in der Vergangenheit ja schon einige »Dummheiten« geleistet. Grund genug den Datenverkehr von Firefox / Fennec regelmäßig unter die Lupe zu nehmen. Der nachfolgende Datenmitschnitt bezieht sich auf die Version 60.0.2 von Fennec aus dem F-Droid Store. Unterschied zum Original Firefox:
Fennec F-Droid is based on the latest Firefox release. It’s focused on removing any proprietary bits found in official Mozilla’s builds. There might still be some binaries left and the app (or some builds) might get removed or re-pushed anytime.
[1.] Unmittelbar nach dem Start wird eine Verbindung zu »firefox.settings.services.mozilla.com« initiiert:
GET /v1/buckets/fennec/collections/experiments/records HTTP/1.1 User-Agent: Mozilla/5.0 (Android 7.1.2; Mobile; rv:60.0.2) Gecko/60.0.2 Firefox/60.0.2 Host: firefox.settings.services.mozilla.com Connection: close Accept-Encoding: gzip, deflate
Dabei handelt es sich um einen Verbindungsaufbau zum Switchboard – einem Service von Mozilla, um Nutzer unterschiedlichen Testgruppen zuzuordnen. Die Konfiguration für ein »Experiment« wird bei jedem Start von Fennec von der Adresse »https://firefox.settings.services.mozilla.com/v1/buckets/fennec/collections/experiments/records« geladen. Weitere Infos dazu unter: Mobile/Fennec/Android/Switchboard. In Zusammenhang mit diesem Dienst werden auch regelmäßig folgende Informationen übermittelt:
GET /v1/buckets/fennec/collections/catalog/records?_since=1500641251312&_fields=type%2Ckind%2Cattachment.location%2Cattachment.hash%2Cattachment.original.size%2Cattachment.original.filename%2Cattachment.original.hash%2Cmatch&_sort=last_modified HTTP/1.1 User-Agent: Mozilla/5.0 (Android 7.1.2; Mobile; rv:60.0.2) Gecko/60.0.2 Firefox/60.0.2 Host: firefox.settings.services.mozilla.com Connection: close Accept-Encoding: gzip, deflate
[2.] Eine weitere Verbindung direkt nach dem Start von Fennec wird zur Adresse »location.services.mozilla.com« initiiert:
POST /v1/country?key=no-mozilla-api-key HTTP/1.1 Host: location.services.mozilla.com User-Agent: Mozilla/5.0 (Android 7.1.2; Mobile; rv:60.0) Gecko/60.0 Firefox/60.0 Accept: */* Accept-Language: de-DE,de;q=0.8,en-US;q=0.5,en;q=0.3 Accept-Encoding: gzip, deflate Content-Type: application/json Content-Length: 2 Connection: close {}
Auf Basis der übermittelten Informationen (bspw. Accept-Language Parameter) bestimmt Mozilla anschließend den ungefähren Standort des Nutzers. Die Datenübermittlung geht vermutlich auf den Mozilla Location Service zurück. Während dem Test kam folgende Antwort:
{"country_name": "Germany", "country_code": "DE"}
[3.] Beim Start werden an die Adresse »search.services.mozilla.com« neben der IP-Adresse noch ein paar Meta-Informationen an Mozilla übermittelt:
GET /1/fennec/60.0.2/default/de/DE/default/default HTTP/1.1 Host: search.services.mozilla.com User-Agent: Mozilla/5.0 (Android 7.1.2; Mobile; rv:60.0) Gecko/60.0 Firefox/60.0 Accept: */* Accept-Language: de-DE,de;q=0.8,en-US;q=0.5,en;q=0.3 Accept-Encoding: gzip, deflate Content-Type: application/json Connection: close
Mozilla nutzt diese Informationen, um die Standard-Suchmaschine innerhalb von Fennec festzulegen. Stammt eure IP-Adresse bspw. aus Deutschland und auch die weiteren Daten deuten auf einen deutschen Nutzer hin, wird Google (Deutschland) als Standardsuchmaschine festgelegt.
[4.] Ebenfalls unmittelbar nach dem Start wird die Adresse »fennec-catalog.cdn.mozilla.net« kontaktiert:
GET /fennec-staging/catalog/8ce078e5-841b-4d26-a555-f8319bac5518.gz HTTP/1.1 User-Agent: Mozilla/5.0 (Android 7.1.2; Mobile; rv:60.0.2) Gecko/60.0.2 Firefox/60.0.2 Host: fennec-catalog.cdn.mozilla.net Connection: close Accept-Encoding: gzip, deflate
Fennec lädt von dieser Adresse mehrere *.gz Dateien nach. Zum Sinn und Zweck kann ich nichts sagen – vielleicht weiß da jemand etwas dazu.
[5.] Nach dem Start und ungefähr jede Stunde kontaktiert Fennec die Adresse »shavar.services.mozilla.com«:
POST /downloads?client=navclient-auto-ffox&appver=60.0&pver=2.2 HTTP/1.1 Host: shavar.services.mozilla.com User-Agent: Mozilla/5.0 (Android 7.1.2; Mobile; rv:60.0) Gecko/60.0 Firefox/60.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: de-DE,de;q=0.8,en-US;q=0.5,en;q=0.3 Accept-Encoding: gzip, deflate Content-Length: 114 Content-Type: text/plain Connection: close Pragma: no-cache Cache-Control: no-cache base-track-digest256;a:1512580265 mozplugin-block-digest256;a:1471849627 mozstd-trackwhite-digest256;a:1524157865
Bei dieser Adresse handelt es sich um den Shavar-Server von Mozilla. Dieser wertet die übermittelten Daten aus und übersendet neue Anti-Tracking-Listen an den Client, sofern ein Update bereitsteht. Diese Listen sind ein Teil der in Firefox integrierten Tracking Protection. Sofern ein Update bereisteht, wird dieses von der Adresse »tracking-protection.cdn.mozilla.net« bezogen:
GET /base-track-digest256/1512580265 HTTP/1.1 Host: tracking-protection.cdn.mozilla.net User-Agent: Mozilla/5.0 (Android 7.1.2; Mobile; rv:60.0) Gecko/60.0 Firefox/60.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: de-DE,de;q=0.8,en-US;q=0.5,en;q=0.3 Accept-Encoding: gzip, deflate Connection: close Pragma: no-cache Cache-Control: no-cache
Insgesamt ein ernüchterndes Ergebnis. Mozilla lässt den Firefox zu einigen Diensten / Servern Kontakt aufnehmen. Datenschutzbewusste Nutzer dürften sich jetzt fragen, weshalb eine Verbindung zum Switchboard (Versuchskaninchen Gruppe A oder B), den Location Services oder auch zur Bestimmung der Suchmaschine notwendig sind. Auch die Verbindung zum Shavar-Server kann in Frage gestellt werden, sofern man zur Tracking-Protection ein Addon wie uBlock Origin nutzt.
Es bleibt die Frage offen: Lässt sich diese ständige Übermittlung von Daten innerhalb von Fennec / Firefox deaktivieren? Innerhalb der Artikelserie »Firefox Kompendium« werde ich diese Frage aufgreifen und beantworten.