Felhasználói rendszerazonosító módszer a GPU-információk alapján

A Ben-Gurion Egyetem (Izrael), a Lille Egyetem (Franciaország) és az Adelaide Egyetem (Ausztrália) kutatói új technikát fejlesztettek ki a felhasználói eszközök azonosítására a GPU működési paramétereinek webböngészőben történő észlelésével. A módszert "Drawn Apart"-nak hívják, és a WebGL felhasználásán alapul, hogy GPU-teljesítmény-profilt kapjanak, ami jelentősen javíthatja azon passzív nyomkövetési módszerek pontosságát, amelyek Cookie-k használata és azonosító tárolása nélkül működnek a felhasználó rendszerén.

Korábban is használtak olyan módszereket, amelyek figyelembe veszik a renderelés, a GPU, a grafikus verem és az illesztőprogramok jellemzőit az azonosításnál, de ezek arra korlátozódtak, hogy az eszközöket csak a különböző típusú videokártyák és GPU-k szintjén lehessen szétválasztani, pl. csak kiegészítő tényezőként használható az azonosítás valószínűségének növelésére. Az új "Drawn Apart" módszer fő jellemzője, hogy nem korlátozódik a különböző GPU-modellek szétválasztására, hanem megpróbálja azonosítani az azonos modellhez tartozó azonos GPU-k közötti különbségeket a masszívan párhuzamosra tervezett chipek gyártási folyamatának heterogenitása miatt. számítástechnika. Meg kell jegyezni, hogy a gyártási folyamat során fellépő eltérések lehetővé teszik ugyanazon készülékmodellek nem ismétlődő lenyomatainak kialakítását.

Felhasználói rendszerazonosító módszer a GPU-információk alapján

Kiderült, hogy ezek a különbségek a végrehajtási egységek számának megszámlálásával és a GPU-ban nyújtott teljesítményük elemzésével azonosíthatók. A trigonometrikus függvényeken, logikai műveleteken és lebegőpontos számításokon alapuló ellenőrzéseket primitívekként használták a különböző GPU-modellek azonosítására. Az azonos GPU-k közötti különbségek azonosítása érdekében megbecsültük az egyidejűleg végrehajtott szálak számát a vertex shaderek végrehajtásakor. Feltételezzük, hogy az észlelt hatást a hőmérsékleti viszonyok és a különböző chipek energiafogyasztásának különbsége okozza (korábban hasonló hatást mutattak ki a CPU-k esetében - az azonos processzorok eltérő energiafogyasztást mutattak ugyanazon kód futtatásakor).

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

  • onscreen — a jelenet megjelenítése HTML vásznon, a visszahívási függvény válaszidejének mérése, a Window.requestAnimationFrame API-n keresztül beállítva, és a renderelés befejezése után meghívva.
  • offscreen – egy dolgozó használata és a jelenet OffscreenCanvas objektummá való renderelése, a convertToBlob parancs végrehajtási idejének mérése.
  • GPU – Rajzoljon egy OffscreenCanvas objektumra, de használja a WebGL által biztosított időzítőt az idő mérésére, amely figyelembe veszi egy parancskészlet időtartamát a GPU oldalán.

Az azonosító létrehozásának folyamata során minden eszközön 50 tesztet végeznek, amelyek mindegyike 176 különböző jellemző 16 mérésére terjed ki. Egy kísérlet, amely 2500, 1605 különböző GPU-val rendelkező eszközről gyűjtött információkat, a Drawn Apart támogatás hozzáadásával 67%-os hatékonyságnövekedést mutatott ki a kombinált azonosítási módszerekben. A kombinált FP-STALKER módszer átlagosan 17.5 napon belül biztosította az azonosítást, és a Drawn Apart módszerrel kombinálva az azonosítás időtartama 28 napra nőtt.

Felhasználói rendszerazonosító módszer a GPU-információk alapján

  • 10 Intel i5-3470 lapkával (GEN 3 Ivy Bridge) és Intel HD Graphics 2500 GPU-val rendelkező rendszer elválasztási pontossága a képernyőn megjelenő tesztben 93%, a képernyőn kívüli tesztben pedig 36.3%.
  • 10 Intel i5-10500 rendszernél (GEN 10 Comet Lake) NVIDIA GTX1650 videokártyával a pontosság 70% és 95.8% volt.
  • 15 Intel i5-8500 rendszerhez (GEN 8 Coffee Lake) Intel UHD Graphics 630 GPU-val - 42% és 55%.
  • 23 Intel i5-4590 (GEN 4 Haswell) rendszerhez Intel HD Graphics 4600 GPU-val - 32.7% és 63.7%.
  • Hat, Mali-G20 MP20 GPU-val szerelt Samsung Galaxy S77/S11 Ultra okostelefon esetében az azonosítási pontosság a képernyőn megjelenő tesztben 92.7%, a Mali-G9 MP9-as Samsung Galaxy S72/S18+ okostelefonoknál pedig 54.3%.

Felhasználói rendszerazonosító módszer a GPU-információk alapján

Megjegyzendő, hogy a pontosságot befolyásolta a GPU hőmérséklete, és egyes eszközök esetében a rendszer újraindítása az azonosító torzulásához vezetett. Ha a módszert más közvetett azonosítási módszerekkel kombináljuk, a pontosság jelentősen növelhető. Azt is tervezik, hogy az új WebGPU API stabilizálása után számítási árnyékolók használatával növelik a pontosságot.

Az Intel, az ARM, a Google, a Khronos, a Mozilla és a Brave még 2020-ban értesült a problémáról, de a módszer részleteit csak most árulják el. A kutatók JavaScriptben és GLSL-ben írt működő példákat is publikáltak, amelyek képesek működni a képernyőn megjelenő információkkal és anélkül is. Ezenkívül az Intel GEN 3/4/8/10 GPU-n alapuló rendszerek esetében adatkészleteket tettek közzé a kivont információk gépi tanulási rendszerekben történő osztályozására.

Forrás: opennet.ru

Hozzászólás