Mozilla entfernt Architektur-Information aus User-Agent von Firefox
Um den digitalen Fingerabdruck von Firefox-Nutzern zu reduzieren, wird Mozilla den User-Agent von Firefox um die Angabe der CPU-Architektur reduzieren.
Browser senden bei jedem Seitenaufruf einen sogenannten User-Agent an die jeweilige Website. Dieser beinhaltet einfache Informationen über das verwendete Betriebssystem, den Browser sowie die CPU-Architektur.
Was die CPU-Architektur betrifft, unterscheidet Firefox derzeit zwischen 64-Bit-Firefox auf 64-Bit-Betriebssystem, 32-Bit-Firefox auf 32-Bit-Betriebssystem sowie 32-Bit-Firefox auf 64-Bit-Betriebssystem. Letzteres wird mit Firefox 69 entfallen. Mozilla hat bereits eine Änderung in der Nightly-Version von Firefox implementiert, womit in diesem Szenario die gleiche Angabe wie bei einem 64-Bit-Firefox auf einem 64-Bit-Betriebssystem verwendet wird. Konkret bedeutet dies für Nutzer von Windows, dass aus der Angabe WOW64 ein Win64 wird, und für Nutzer von Linux, dass aus der Angabe Linux i686 on x86_64 ein Linux x86_64 wird. Die 32-Bit- sowie die AArch64-Version von Firefox für Windows haben bereits keine Architektur-Angabe im User-Agent.
Diese Änderung wird als risikolos bewertet, weswegen die Änderung direkt erfolgte und hinter keiner versteckten Einstellung implementiert worden ist. Geplant ist allerdings, die Angabe der CPU-Architektur komplett aus dem User-Agent von Firefox für Windows und Linux zu entfernen. Auch die Eigenschaften navigator.oscpu sowie navigator.platform sollen entsprechend angepasst werden und diese Information nicht länger beinhalten. Das gilt ebenso für Android.
Diese vollständige Entfernung der CPU-Architektur besitzt aufgrund von User-Agent-Sniffing auf Webseiten ein größeres Risiko, weswegen hier noch nicht klar ist, ob die Änderung mit Firefox 69 oder erst später in Kraft treten wird.
Mit der Änderung reduziert Mozilla den digitalen Fingerabdruck seiner Nutzer, da standardmäßig weniger Informationen über das System des Nutzers preisgegeben werden. Grundsätzlich sind Änderungen des User-Agents aus Gründen der Web-Kompatibilität immer eine schwierige Angelegenheit, weil viele Websites auf Basis des User-Agents Entscheidungen treffen und nicht unbedingt jede Erkennung des User-Agents besonders flexibel umgesetzt ist. Darum erfolgen grundlegende Änderungen des User-Agents selten und immer mit Bedacht.
datensparsamkeit ist immer gut. Aber welcher sinn steckt dahinter das webseiten die cpu-architektur nicht mehr kennen? Ich würde da eher das OS verbergen.
Wieso eher das Betriebssystem als die CPU-Architektur? Das Betriebssystem hat deutlich mehr Relevanz für Webseiten. Unzählige Webseiten könnten beispielsweise nicht mehr von sich aus die richtigen Downloads dem Nutzer anbieten, es kann aber auch die gesamte Produktpräsentation auf der Webseite betreffen, wie Screenshots eines Produkts, oder die Hilfe-Sektion einer Support-Plattform. Die CPU-Architektur kann zwar in diesem Sinn auch relevant sein, aber eben klar weniger als das Betriebssystem.
Da kennst du dich deutlich besser aus als ich. wieder was gelernt.
Aber die dann nur noch "Linux x86_64" oder "Win64" lese kann ich doch die CPU-Architektur auslesen, nämlich 64 Bit. Was entfernt wurde ist um welche Binärdatei es sich bei Firefox handelt, nicht die CPU-Architektur.
Streng genommen nicht mal das, sondern eher in welchem Modus das Betriebssystem läuft (nur bei 64 Bit lässt sich die CPU-Architektur nun auch sicher sagen).
Du musst den Artikel schon bis zum Ende lesen. 😉
Wär es nicht sinnvoll das Ganze in Stufen zu machen?
Sprich wir bieten an über JS/Browser-Funktion Seiten zu ermöglichen Platform und OS auf Wunsch zu erfahren mit Möglichkeit für den Nutzer es abzunicken/blockieren wie man es mit dem Standort schon macht.
Wenn das etabliert ist, kann man den Useragent radikal zusammenkürzen?
Ich halte es für nur wenige Seiten notwendig zu wissen welches OS auf welcher Platform läuft.
Siehe letzter Teil des Artikels:
Radikale Änderungen des User-Agents würden für den Nutzer einen großen Teil des Webs kaputtmachen. Man bräuchte alle Browserhersteller dabei und selbst dann würde es sehr, sehr lange dauern. Aber:
So gesehen kannst du diesen Schritt jetzt ja als eine Stufe sehen.
Er meint aber etwas ganz anders, nämlich das ähnlich der Freigabe für Benachrichtungen oder die Kamera eine Webseite auch die Freigabe von Systeminformationen anfragen kann.
Ich habe den Vorschlag im Kommentar gesehen. Hinter dem Vorschlag stand aber eine ganz konkrete Idee, nämlich den User-Agent noch weiter zu reduzieren. Und dahingehend kann die Maßnahme jetzt als Schritt gesehen werden. Man kann, wie ich erklärt habe, den User-Agent nicht einfach von heute auf morgen beliebig ändern.
"Um den digitalen Fingerabdruck von Firefox-Nutzern zu reduzieren, …"
ich finde das begrenzt sinnvoll. Ist man der Ansicht, dass Nutzer so leichter identifiziert werden können? (wo eh jede Seite Cookies nutzt, welchen man wohl idR zustimmt, außer Leute die sich auskennen und eh in der Lage sind den User Agent zu verändern)
Bei Linux ist der digitale Fingerabdruck wesentlich größer, insbesondere bei Linux i686 on x86_64, was wohl eher selten genutzt wird. Bei den Architekturen insgesamt ist der Fingerabdruck kleiner. Und als Statistikfreak finde ich sowas einfach wissenswert, sehe aber einen geringfügigen bis keinen Schaden.
Das sind zwei unterschiedliche Baustellen. Wenn du von Cookies sprichst, beziehst du dich darauf, über Cookies getrackt werden zu können. Das Cookie selbst kann alles Mögliche an Informationen speichern, stellt für sich alleine genommen aber selbst keine reale Information deines Systems dar. Die Architektur-Angabe im User-Agent hingegen stellt eine reale Information deines Systems dar. Und es geht darum, die Information, die über den User-Agent mitgeteilt wird, auf den kleinsten notwendigen Nenner zu reduzieren. Ob nun Tracking über Cookies stattfindet oder nicht, ist davon vollkommen unabhängig.
Das ist das große Dilemma der Marketing-Abteilungen: Fingerprinting und Tracking ermöglichen interessante Statistiken. Gehen aber auf Kosten der Privatsphäre. Man kann nicht beides auf ein Optimum heben, das eine geht immer auf Kosten des anderen. 😉