Methode zur Identifizierung des Benutzersystems basierend auf GPU-Informationen

Forscher der Ben-Gurion-Universität (Israel), der Universität Lille (Frankreich) und der Universität Adelaide (Australien) haben eine neue Technik zur Identifizierung von Benutzergeräten durch Erkennung von GPU-Betriebsparametern in einem Webbrowser entwickelt. Die Methode heißt „Drawn Apart“ und basiert auf der Verwendung von WebGL zur Erstellung eines GPU-Leistungsprofils, wodurch die Genauigkeit passiver Tracking-Methoden, die ohne den Einsatz von Cookies und ohne Speicherung einer Kennung auf dem System des Nutzers funktionieren, deutlich verbessert werden kann.

Bisher wurden Methoden verwendet, die bei der Identifizierung die Merkmale von Rendering, GPU, Grafikstapel und Treibern berücksichtigen. Sie beschränkten sich jedoch auf die Möglichkeit, Geräte nur auf der Ebene verschiedener Grafikkarten- und GPU-Modelle zu trennen, d. h. konnte nur als zusätzlicher Faktor genutzt werden, um die Wahrscheinlichkeit einer Identifizierung zu erhöhen. Das Hauptmerkmal der neuen „Drawn Apart“-Methode besteht darin, dass sie sich nicht auf die Trennung verschiedener GPU-Modelle beschränkt, sondern versucht, Unterschiede zwischen identischen GPUs desselben Modells aufgrund der Heterogenität des Herstellungsprozesses von Chips zu identifizieren, die für massiv parallel ausgelegt sind Rechnen. Es wird darauf hingewiesen, dass Variationen, die während des Produktionsprozesses auftreten, es ermöglichen, sich nicht wiederholende Abgüsse für dieselben Gerätemodelle zu erstellen.

Methode zur Identifizierung des Benutzersystems basierend auf GPU-Informationen

Es stellte sich heraus, dass diese Unterschiede durch Zählen der Anzahl der Ausführungseinheiten und Analyse ihrer Leistung in der GPU identifiziert werden können. Als Grundelemente zur Identifizierung verschiedener GPU-Modelle wurden Prüfungen basierend auf einer Reihe von trigonometrischen Funktionen, logischen Operationen und Gleitkommaberechnungen verwendet. Um Unterschiede bei denselben GPUs zu identifizieren, wurde die Anzahl der gleichzeitig ausgeführten Threads bei der Ausführung von Vertex-Shadern bewertet. Es wird angenommen, dass der festgestellte Effekt durch Unterschiede in den Temperaturbedingungen und im Stromverbrauch verschiedener Chipinstanzen verursacht wird (zuvor wurde ein ähnlicher Effekt für CPUs nachgewiesen – identische Prozessoren zeigten einen unterschiedlichen Stromverbrauch bei der Ausführung desselben Codes).

Da Vorgänge über WebGL asynchron ausgeführt werden, kann die JavaScript-API performance.now() nicht direkt zum Messen ihrer Ausführungszeit verwendet werden. Daher wurden drei Tricks vorgeschlagen, um die Zeit zu messen:

  • onscreen – Rendern der Szene in einem HTML-Canvas, Messen der Reaktionszeit der Rückruffunktion, die über die Window.requestAnimationFrame-API festgelegt und nach Abschluss des Renderns aufgerufen wird.
  • Offscreen – Verwenden eines Workers und Rendern der Szene in ein OffscreenCanvas-Objekt, wobei die Ausführungszeit des Befehls „convertToBlob“ gemessen wird.
  • GPU – Zeichnen Sie in ein OffscreenCanvas-Objekt, verwenden Sie jedoch einen von WebGL bereitgestellten Timer, um die Zeit zu messen, die die Dauer eines Befehlssatzes auf der GPU-Seite berücksichtigt.

Während des ID-Erstellungsprozesses werden an jedem Gerät 50 Tests durchgeführt, die jeweils 176 Messungen von 16 verschiedenen Merkmalen umfassen. Ein Experiment, bei dem Informationen zu 2500 Geräten mit 1605 verschiedenen GPUs gesammelt wurden, zeigte eine Steigerung der Effizienz kombinierter Identifizierungsmethoden um 67 %, wenn die Drawn Apart-Unterstützung hinzugefügt wurde. Insbesondere die kombinierte FP-STALKER-Methode ermöglichte eine Identifizierung innerhalb von durchschnittlich 17.5 Tagen, und in Kombination mit Drawn Apart erhöhte sich die Identifizierungsdauer auf 28 Tage.

Methode zur Identifizierung des Benutzersystems basierend auf GPU-Informationen

  • Die Trenngenauigkeit von 10 Systemen mit Intel i5-3470 Chips (GEN 3 Ivy Bridge) und Intel HD Graphics 2500 GPU lag im Onscreen-Test bei 93 %, im Offscreen-Test bei 36.3 %.
  • Bei 10 Intel i5-10500-Systemen (GEN 10 Comet Lake) mit einer NVIDIA GTX1650-Grafikkarte betrug die Genauigkeit 70 % und 95.8 %.
  • Für 15 Intel i5-8500-Systeme (GEN 8 Coffee Lake) mit Intel UHD Graphics 630 GPU – 42 % und 55 %.
  • Für 23 Intel i5-4590 (GEN 4 Haswell) Systeme mit Intel HD Graphics 4600 GPU – 32.7 % und 63.7 %.
  • Bei sechs Samsung Galaxy S20/S20 Ultra Smartphones mit Mali-G77 MP11 GPU lag die Identifikationsgenauigkeit im Bildschirmtest bei 92.7 %, bei Samsung Galaxy S9/S9+ Smartphones mit Mali-G72 MP18 bei 54.3 %.

Methode zur Identifizierung des Benutzersystems basierend auf GPU-Informationen

Es wird darauf hingewiesen, dass die Genauigkeit durch die Temperatur der GPU beeinflusst wurde und bei einigen Geräten ein Neustart des Systems zu einer Verfälschung der Kennung führte. Bei Verwendung der Methode in Kombination mit anderen indirekten Identifizierungsverfahren kann die Genauigkeit deutlich erhöht werden. Sie planen außerdem, die Genauigkeit durch den Einsatz von Compute-Shadern nach der Stabilisierung der neuen WebGPU-API zu erhöhen.

Intel, ARM, Google, Khronos, Mozilla und Brave wurden bereits im Jahr 2020 über das Problem informiert, Details der Methode werden jedoch erst jetzt bekannt gegeben. Die Forscher veröffentlichten auch in JavaScript und GLSL geschriebene Arbeitsbeispiele, die mit und ohne Anzeige von Informationen auf dem Bildschirm funktionieren können. Außerdem wurden für Systeme, die auf der GPU Intel GEN 3/4/8/10 basieren, Datensätze zur Klassifizierung extrahierter Informationen in maschinellen Lernsystemen veröffentlicht.

Source: opennet.ru

Kommentar hinzufügen