A felhasználói rendszer azonosításának módszere a GPU információi alapján

A Ben-Gurion University (Israel), Lille University (France), and University of Adelaide (Australia) researchers developed a new technique for identifying user devices by analyzing GPU performance parameters in web browsers. The method, named 'Drawn Apart,' utilizes WebGL to obtain a GPU performance profile, significantly enhancing the accuracy of passive tracking methods that operate without cookies and do not save identifiers on the user's system.

Methods that consider rendering features, GPU characteristics, graphics stacks, and drivers have been utilized previously, but they were limited to distinguishing devices only at the level of different graphics card models and GPUs. Thus, they could only serve as supplementary factors for increasing identification accuracy. A key feature of the new 'Drawn Apart' method is that it is not confined to distinguishing different GPU models but aims to identify differences between identical GPUs of the same model, which are due to the variability in the chip production process designed for massive parallel computations. It is noted that the variations arising during production allow for the formation of unique fingerprints for the same device models.

A felhasználói rendszer azonosításának módszere a GPU információi alapján

It turns out that these differences can be identified by counting execution blocks and analyzing their performance in the GPU. Primitives such as checks based on a set of trigonometric functions, logical operations, and floating-point computations were used to distinguish different GPU models. To identify the differences in identical GPUs, the number of concurrently executed threads was evaluated during vertex shader execution. It is hypothesized that the observed effects are caused by variations in the thermal conditions and energy consumption of different chip instances (a similar effect was previously demonstrated for CPUs, where identical processors running the same code exhibited varying energy consumption).

Mivel a WebGL műveletek aszinkron módon futnak, a végrehajtási idő mérésére nem lehet közvetlenül a JavaScript API performance.now()-t használni, ezért három trükköt javasoltak az idő mérésére:

  • onscreen — a jelenet rajzolása HTML canvasban, az idő mérése a callback-függvény aktiválásától, amelyet a Window.requestAnimationFrame API-n keresztül állítottak be, és amely a rajzolás befejezése után kerül meghívásra.
  • offscreen — worker használata és a jelenet rajzolása az OffscreenCanvas objektumban, az execute parancs convertToBlob időtartamának mérésével.
  • GPU — rajzolás az OffscreenCanvas objektumban, de az idő méréséhez az WebGL-ben rendelkezésre álló időzítőt használják, amely figyelembe veszi a GPU oldali parancsok végrehajtási idejét.

Az azonosító létrehozásának folyamatában minden eszközön 50 ellenőrzést végeznek, amelyek mindegyike 16 különböző jellemző 176 mérését tartalmazza. Az 2500 eszköz és 1605 különböző GPU információinak gyűjtése során végzett kísérlet 67%-os hatékonyságnövekedést mutatott a kombinált azonosítási módszerek esetén a Drawn Apart támogatásának hozzáadásával. Különösen a kombinált FP-STALKER módszer átlagosan 17,5 napos azonosítást biztosított, míg a Drawn Aparttal párosítva az azonosítás időtartama 28 napra nőtt.

A felhasználói rendszer azonosításának módszere a GPU információi alapján
  • A 10 Intel i5-3470 (GEN 3 Ivy Bridge) chippekből álló rendszer pontosan 93%-os azonosítást mutatott az onscreen tesztben, míg offscreen esetén 36,3%-ot ért el.
  • A 10 Intel i5-10500 (GEN 10 Comet Lake) rendszer esetén, NVIDIA GTX1650 grafikus kártyával, az pontoság 70% és 95,8% volt.
  • A 15 Intel i5-8500 (GEN 8 Coffee Lake) rendszer esetén, Intel UHD Graphics 630 GPU-val, az 42% és 55% volt.
  • A 23 Intel i5-4590 (GEN 4 Haswell) rendszer esetén, Intel HD Graphics 4600 GPU-val, az 32,7% és 63,7% volt.
  • Hat Samsung Galaxy S20/S20 Ultra okostelefon, Mali-G77 MP11 GPU-val a képernyőn történő teszt során 92,7%-os azonosítási pontosságot mutatott, míg a Samsung Galaxy S9/S9+ Mali-G72 MP18 GPU-val 54,3%-ot.

A felhasználói rendszer azonosításának módszere a GPU információi alapján

Megjegyezték, hogy a GPU hőmérséklete befolyásolta a pontoságot, és egyes eszközök esetén a rendszer újraindítása torzította az azonosítót. A módszer más közvetett azonosító módszerekkel való kombinálásával a pontosság lényegesen növelhető. A pontosságot a WebGPU új API-jának stabilizálása után a számítási shaderek alkalmazásával is tervezik növelni.

Az Intel, ARM, Google, Khronos, Mozilla és Brave cégeket már 2020-ban értesítették a problémáról, de a módszer részletei csak most kerültek nyilvánosságra. A kutatók JavaScript és GLSL nyelven írt működő példákat is közzétettek, amelyek képesek megjeleníteni az információt, de anélkül is működhetnek. Emellett az Intel GEN 3/4/8/10 GPU-alapú rendszerekhez adathalmazokat is kiadtak az információk osztályozására a gépi tanulás rendszereiben.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster