fingerprint

Mein Browser- Fingerprint

Cookieloses Web-Tracking durch die Hintertür

avatar

Simon Schaller – Forschungsarbeit

EAH-Jena, E-Commerce

Während Cookies an Bedeutung verlieren, steigt die Relevanz alternativer Tracking-Technologien zur Nutzeridentifikation im Internet. Eine dieser Alternativen ist das Browser-Fingerprinting. Jedes Mal, wenn wir eine Website aufrufen, können Website-Betreiber Daten über unser verwendetes Gerät (z.B. Bildschirmauflösung oder Browser-Version) auslesen – ohne, dass wir es merken. Die Gerätedaten sind dabei in Kombination oft einzigartig, sodass man anhand dessen beim nächsten Aufruf wiedererkannt werden kann.

Im Rahmen meiner Bachelorarbeit möchte ich über diese Form des Web-Trackings aufklären, und auswerten, wie effektiv Browser-Fingerprinting derzeit noch ist.

Ich würde mich freuen, wenn du mit nur zwei Klicks an meiner Datenerhebung teilnimmst! - gerne auch mit verschiedenen Geräten. Super wäre es auch, wenn du in ca. 14 Tagen nochmal teilnehmen könntest (optional).

Bitte stimme zuerst zu ✔

Vielen Dank für deine Teilnahme!

Die in den folgenden Tabellen dargestellten Informationen über dein verwendetes Gerät und deinen Browser ergeben zusammengefasst deinen Browser-Fingerprint. Allgemeine Informationen zum Browser-Fingerprinting findest du hier.

Auslesen der HTTP-Header-Daten:

Diese Informationen über dein Gerät wurden durch Auslesen des sogenannten HTTP-Headers erhoben.

ⓘ Hinweis: Klicke für weitere Details einfach auf die Tabellenzeilen.

Element Wert
ⓘ HTTP-Header: Accept
Gibt an, welche Formate vom Browser verarbeitet werden können. Der Wert "*/*" bedeutet beispielsweise, dass Daten jedes Typs akzeptiert werden und keine Einschränkungen vorliegen.
ⓘ HTTP-Header: Accept-Encoding
Teilt dem Webserver (bzw. der Website) mit, welche Kompressionsformate für den Datenaustausch vom Browser unterstützt werden. Eines der gängigsten Formate ist beispielsweise gzip.
ⓘ HTTP-Header: Accept-Language
Gibt an, welche Sprachen vom Browser unterstützt werden. Darauf basierend können vom Webserver die Daten in der bevorzugten Sprache des Nutzers bereitgestellt werden.
ⓘ HTTP-Header: User-Agent
Das User-Agent Feld übermittelt dem Webserver Informationen zum verwendeten Browser und dessen Versionsnummer, dem verwendeten Betriebssystem und unter Umständen auch den Namen des verwendeten Endgerätes. Diese Informationen können vom Webserver genutzt werden, um spezifisch angepasste Inhalte auszuliefern.
ⓘ HTTP-Header: Do Not Track
Der "Do Not Track" Vermerk kann in den Browser-Einstellungen aktiviert werden. Ist dies der Fall, so wird Websites beim Aufruf mitgeteilt, dass das eigene Nutzerverhalten nicht getrackt werden soll. Ob diese Information jedoch tatsächlich berücksichtigt wird, ist den Website-Betreibern selbst überlassen. Der Wirksamkeit dieser Einstellung sollte man somit eher skeptisch gegenüberstehen.

Datenerhebung per JavaScript:

Die folgenden Daten über dein Gerät wurden durch Ausführung von JavaScript-Code erhoben.

Element Wert
ⓘ Useragent
Das User-Agent Feld übermittelt dem Webserver Informationen zum verwendeten Browser und dessen Versionsnummer, dem verwendeten Betriebssystem und unter Umständen auch den Namen des verwendeten Endgerätes. Diese Informationen können vom Webserver (bzw. der Website) genutzt werden, um spezifisch angepasste Inhalte auszuliefern.
ⓘ Bevorzugte Sprachen
Ermittelt die vom Browser unterstützten Sprachen. Darauf basierend können vom Webserver die Daten in der bevorzugten Sprache bereitgestellt werden.
ⓘ UTC-Zeitzonendifferenz
Differenz der örtlichen/lokalen Zeit zur Coordinated Universal Time (UTC).
ⓘ Auflösung Bildschirm
Ermittelt die volle Bildschirmauflösung des verwendeten Geräts. Diese Werte können von Websites ermittelt werden, um z.B. kleinen Geräten Fotos in geringerer Auflösung auszuliefern, um die Datenmenge möglichst gering zu halten.
ⓘ Verfügbare Auflösung
Ermittelt die verfügbare Bildschirmauflösung des verwendeten Geräts. Bedienoberflächen wie bspw. die Taskleiste bei Windows werden der vollen Bildschirmauflösung abgezogen.
ⓘ Pixelverhältnis
Gibt das Verhältnis zwischen logischen und physischen Pixeln an. Ein iPhone 13 Mini hat bspw. eine logische Auflösung von 375 x 812 px, aufgrund des scharfen Displays jedoch eine tatsächliche, physische Auflösung von 1080 x 2340 px. Damit Websites auf solch hochauflösenden Geräten nicht zu klein angezeigt werden, erfolgt mittels des Pixelverhältnisses eine Umrechnung auf eine gewohnte, gut lesbare Darstellungsgröße. Das Pixelverhältnis ist somit stark gerätespezfisch.
ⓘ Farbtiefe
Die Farbtiefe gibt an, wie viele Bits der Bildschirm für die Darstellung einer Farbe verwendet. Während ältere Geräte eine Farbtiefe von teils sogar nur 8 Bit haben, beträgt die Farbtiefe bei modernen Geräten meist 24 oder 32 Bit. Bei einer Farbtiefe von 24 Bit können insgesamt 16,8 Mio. verschiedene Farbwerte dargestellt werden.
ⓘ Touch-Punkte
Ermittelt, wie viele Touch-Punkte eines Displays gleichzeitig genutzt werden können. Bei Geräten ohne Touchscreen wird null zurückgeliefert.
ⓘ Cookies
Ermittelt, ob der Browser das Setzen von Cookies erlaubt, oder ob dies in den Einstellungen oder durch eine Erweiterung deaktiviert wurde. Cookies sind kleine Textdateien, die beim ersten Aufruf einer Website im Webbrowser gespeichert werden, und bei jedem weiteren Website-Aufruf wieder an die Website übertragen werden können. Somit kann bspw. in Onlineshops der Inhalt eines Warenkorbs auch ohne Login gespeichert werden. Abseits dieser legitimen Interessen kommen Cookies jedoch vor allem zum Einsatz, um das Surfverhalten der Website-Nutzer zu analysieren, Nutzerprofile zu bilden und darauf basierend personalisierte Werbung anzuzeigen bzw. andere Marketingabsichten zu verfolgen.
ⓘ Session Storage
Im sogenannten Session Storage lassen sich während der Browser-Sitzung Informationen in Textform abspeichern und auslesen. Ob dieser Speicher nutzbar ist wird hier durch einen Versuch getestet, bei dem ein Wert in den Session-Storage geschrieben und direkt im Anschluss wieder gelöscht wird. Lässt sich dieser Schritt durchführen, so kann schlussgefolgert werden, dass der Session Storage genutzt werden kann und nicht durch Browser-Einstellungen blockiert wird.
ⓘ Local Storage
Die Local Storage Funktionalität entspricht der des Session Storage (s. oben). Der Unterschied ist jedoch, dass im Local Storage gespeicherte Daten nicht automatisch beim Verlassen der Website gelöscht werden, sondern persistent sind. Die Verfügbarkeitsprüfung erfolgt nach gleichem Schema wie beim Session Storage.
ⓘ Indexed Database
In der sogenannten Indexed Database lassen sich größere Mengen an strukturierten Daten browserseitig ablegen. Genutzt werden kann diese integrierte Datenbank, um bspw. Notizen-Einträge einer Webanwendung dem Nutzer auch ohne Internetzugriff zugänglich zu machen.
ⓘ Logische CPU-Kerne
Ermittelt, wie viele logische Prozessoren auf dem verwendeten Gerät genutzt werden können. Das Ergebnis kann unter Umständen leicht von der tatsächlichen Anzahl des Gerätes abweichen.
ⓘ Ad-Blocker
Prüft, ob Werbeanzeigen automatisch blockiert werden, z.B. per Browser-Erweiterung. Hierfür wurde der Webseite ein leeres, unsichtbares Werbeelement implementiert, das aufgrund seiner Charakteristik automatisch herausgefiltert werden würde, falls ein Adblocker aktiv ist.
ⓘ WebGL Vendor
Ermittelt über die WebGL (Web Graphics Library) JavaScript-Schnittstelle, die für das Rendern von 3D-Grafiken verfügbar ist, den Anbieter des Grafiktreibers.
ⓘ WebGL Renderer
Ermittelt über die WebGL (Web Graphics Library) JavaScript-Schnittstelle, die für das Rendern von 3D-Grafiken verfügbar ist, weitere Informationen über den Grafikkartentreiber und die Grafikkarte.
ⓘ Canvas Fingerprint

Bei einem Canvas-Element handelt es sich um eine zweidimensionale Grafik, die per JavaScript Code generiert wird und vom Browser angezeigt werden kann. Auch wenn die hier erstellte Grafik auf verschiedenen Geräten sehr ähnlich oder sogar identisch aussieht, gibt es dennoch feinste Unterschiede. Diese Unterschiede entstehen u.a. durch den verwendeten Browser, die verbaute Grafikkarte, installierte Schriftarten, vordefinierte Regeln zur Kantenglättung, und abhängig vom Betriebssystem unterschiedlich aussehende Emojis. Nach der Darstellung des Canvas-Elements wird aus der Grafik ein Hash-Wert generiert. Die Wahrscheinlichkeit, dass dieser Hash-Wert bei verschiedenen Geräten identisch ist, ist unwahrscheinlich. Im echten Fingerprinting-Einsatz werden diese Canvas-Elemente im Hintergrund geladen, so dass sie für den Nutzer nicht sichtbar sind.
ⓘ Installierte Schriftarten
Verschiedene Schriftarten unterscheiden sich abseits ihrer visuellen Erscheinung auch meist in ihre Wortbreite und Höhe. Um die auf dem Gerät installierten Schriftarten zu ermitteln, wird zuerst im Hintergrund ein Referenzwort in der Standardschriftart des Geräts erstellt und vermessen. Im Anschluss wird versucht, das gleiche Wort in einer anderen Schriftart zu laden. Dieses wird ebenfalls vermessen. Ist die zu testende Schriftart auf dem Gerät nicht installiert, wird sie durch die Standardschriftart ersetzt, wodurch das Wort die gleiche Breite und Höhe wie das Referenzwort hat. Wenn sich Breite und Höhe jedoch unterscheiden, ist davon auszugehen, dass die zu testende Schriftart installiert ist. Wird neben Standardschriftarten des jeweiligen Betriebssystems bspw. eine weitere, außergewöhnliche Schriftart entdeckt, so kann man anhand dessen leicht wiedererkannt werden.