Was sind Mediengeräte?
Mediengeräte-Fingerprinting ist eine Technik, bei der durch das Erkennen und Analysieren der Eigenschaften von Mediengeräten auf dem Gerät eines Nutzers eine eindeutige Kennung erzeugt wird. Zu diesen Mediengeräten gehören Ein- und Ausgabegeräte wie Kameras, Mikrofone, Lautsprecher usw. Diese Technik nutzt feine Unterschiede zwischen verschiedenen Geräten, um Nutzer zu identifizieren und zu verfolgen, und wird häufig in Szenarien wie der Nutzeridentifikation und der Ausspielung zielgerichteter Werbung eingesetzt.
Der Prozess, bei dem eine Website Informationen zu den Audio- und Videogeräten eines Nutzers erfasst und daraus einen Browser-Fingerprint erzeugt, umfasst in der Regel die folgenden Schritte:
Schritt 1: Nutzerberechtigung anfordern
Bevor Audio- und Videogeräte verwendet werden können, muss die Website die ausdrückliche Zustimmung des Nutzers einholen. Dies erfolgt üblicherweise durch den Aufruf der JavaScript-API des Browsers.
Schritt 2: Informationen zu Mediengeräten abrufen
Nach der Zustimmung des Nutzers kann die Website über die WebRTC-API auf Geräteinformationen zugreifen. Aus Gründen des Datenschutzes können Informationen zu Mediengeräten nur dann abgerufen werden, wenn der Nutzer der Webseite eine Zugriffsberechtigung erteilt hat. Wenn der Nutzer die Berechtigung verweigert, werden leere Werte für die Geräteinformationen zurückgegeben.
Die Geräteinformationen umfassen hauptsächlich die folgenden Kategorien:
Gerätetyp: z. B. Audioeingabegeräte (Mikrofon), Audioausgabegeräte (Lautsprecher oder Kopfhörer) sowie Videoeingabegeräte (Kamera).
Gerätebezeichnung: der lesbare Name des Geräts. Beispielsweise könnte die Bezeichnung einer Kamera “Logitech HD Webcam C270” lauten, die eines Mikrofons “Built-in Microphone”.
Geräte-ID: die eindeutige Kennung des Geräts, also eine Zeichenfolge zur eindeutigen Identifizierung des Geräts.
Schritt 3: Browser-Fingerprint erzeugen
Durch die Verarbeitung der gesammelten Geräteinformationen wird ein Browser-Fingerprint erzeugt. Die Verarbeitungsmethoden können unterschiedlich sein, beispielsweise indem die Zeichenfolge der Geräteinformationen mithilfe eines Hash-Algorithmus in einen Hash-Wert umgewandelt wird.
Zu beachten ist, dass sich ein Mediengeräte-Fingerprint durch das Verhalten des Nutzers ändern kann — ein Gerätewechsel, die Aktualisierung von Gerätetreibern oder Änderungen an den Systemeinstellungen können dazu führen, dass sich der Fingerprint verändert. Er ist daher nicht dauerhaft unveränderlich.
Was ist ein Audio-Fingerprint?
Audio-Fingerprinting ist eine relativ neue Technik zur Fingerprint-basierten Nachverfolgung. Das Grundprinzip lautet: Aufgrund feiner Unterschiede in der Hardware- und Softwarekonfiguration erzeugen verschiedene Geräte beim Abspielen desselben Audiostücks geringfügige Abweichungen. Diese Unterschiede können erfasst und zur Erstellung einer eindeutigen Kennung des Geräts verwendet werden, dem sogenannten “Audio-Fingerprint”.
Die technischen Grundlagen des Audio-Fingerprintings umfassen vor allem Audioverarbeitung und Signalanalyse. Die konkrete Umsetzung erfordert in der Regel die Verwendung von Web-APIs des Browsers, beispielsweise der AudioContext-Schnittstelle.
Wenn ein Nutzer eine Website besucht, kann die Website den Audio-Fingerprint des Nutzergeräts über die folgenden Schritte erfassen:
Schritt 1: Virtuelle Audioumgebung erstellen
Zunächst muss die Website eine Audioumgebung im Browser aufbauen, um Audio wiederzugeben und zu analysieren. Technisch gesehen geschieht dies durch das Erstellen eines AudioContext-Objekts. AudioContext ist Teil der Web Audio API und stellt eine Reihe von Schnittstellen zur Audioverarbeitung bereit.
Schritt 2: Audio erzeugen und abspielen
In dieser virtuellen Audioumgebung erstellt die Website einen OscillatorNode — eine virtuelle Audiosignalquelle. Diese Signalquelle kann Audiosignale mit bestimmten Frequenzen und Wellenformen (z. B. Sinuswellen, Rechteckwellen usw.) abspielen, wobei der Nutzer diese Töne jedoch nicht hört. Der Zweck der Audiowiedergabe durch die Website besteht darin, auf der Audiohardware des Geräts kleine Abweichungen zu erzeugen, die zur Unterscheidung verschiedener Geräte verwendet werden können.
Schritt 3: Audiodaten erfassen
Während der Audiowiedergabe muss die Website die Audiodaten erfassen. Dies geschieht durch das Erstellen eines AnalyserNode-Objekts. AnalyserNode ist ein virtueller Audioanalysator, der Audiosignale erfassen und analysieren kann.
Schritt 4: Audiodaten analysieren
Die Website analysiert die erfassten Audiodaten und extrahiert Informationen, die die Geräteeigenschaften widerspiegeln. Dieser Schritt kann komplexe Signalverarbeitung und statistische Berechnungen umfassen, beispielsweise die Berechnung von Durchschnittswerten, Varianzen, Spitzenwerten usw. der Audiodaten.
Schritt 5: Audio-Fingerprint erzeugen
Abschließend wandelt die Website die extrahierten Informationen in eine eindeutige Kennung um. Diese Kennung spiegelt die Eigenschaften wider, mit denen das Gerät des Nutzers Audio verarbeitet, und kann als Audio-Fingerprint des Geräts betrachtet werden. Dieser Prozess wird in der Regel mithilfe einer Hash-Funktion umgesetzt, die Daten beliebiger Länge auf eine Ausgabe fester Länge abbilden kann.
Schritt 6: Audio-Fingerprint verwenden
Durch die oben genannten Schritte kann eine Website während des Besuchs einer Webseite den Audio-Fingerprint des Geräts des Nutzers erfassen, ohne dass der Nutzer diesen Vorgang bemerkt. Anschließend kann die Website den Audio-Fingerprint zur Nachverfolgung des Nutzers verwenden, beispielsweise indem sie ihn mit anderen Nutzungsverhaltensdaten verknüpft, um personalisierte Werbung auszuspielen, Online-Betrug vorzubeugen usw.
Wie kann man sich vor Mediengeräte- und Audio-Fingerprint-Tracking schützen?
Mediengeräte-Fingerprinting erzeugt Fingerprints, indem Eigenschaften auf dem Gerät (wie Typ, Bezeichnung, ID) erfasst werden. Audio-Fingerprinting erzeugt Fingerprints hingegen anhand der Merkmale, die beim Abspielen von Audio durch das Gerät entstehen.
Um sich vor dieser Art von Fingerprint-Tracking zu schützen, ist die beste Lösung die “Ersetzungsmethode” — also die Verwendung spezieller Tools, die einen neuen Fingerprint erzeugen, um den ursprünglichen Fingerprint des echten Geräts zu ersetzen. Wenn du einen Fingerprint-Browser verwendest, solltest du prüfen, ob das Tool Konfigurationsoptionen für diese Art von Fingerprints bietet.
