Metoda identifikace uživatelského systému na základě informací o GPU

Vědci z Ben-Gurion University (Izrael), University of Lille (Francie) a University of Adelaide (Austrálie) vyvinuli novou techniku ​​pro identifikaci uživatelských zařízení pomocí detekce provozních parametrů GPU ve webovém prohlížeči. Metoda se nazývá „Drawn Apart“ a je založena na použití WebGL pro získání profilu výkonu GPU, což může výrazně zlepšit přesnost pasivních metod sledování, které fungují bez použití cookies a bez ukládání identifikátoru do systému uživatele.

Dříve byly používány metody, které při identifikaci zohledňují vlastnosti vykreslování, GPU, grafického zásobníku a ovladačů, ale omezovaly se na schopnost oddělovat zařízení pouze na úrovni různých modelů grafických karet a GPU, tzn. lze použít pouze jako dodatečný faktor ke zvýšení pravděpodobnosti identifikace. Klíčovým rysem nové metody „Drawn Apart“ je, že se neomezuje na oddělení různých modelů GPU, ale snaží se identifikovat rozdíly mezi identickými GPU stejného modelu kvůli heterogenitě výrobního procesu čipů určených pro masivně paralelní výpočetní. Je třeba poznamenat, že odchylky, které vznikají během výrobního procesu, umožňují vytvářet neopakující se odlitky pro stejné modely zařízení.

Metoda identifikace uživatelského systému na základě informací o GPU

Ukázalo se, že tyto rozdíly lze identifikovat spočítáním počtu prováděcích jednotek a analýzou jejich výkonu v GPU. Kontroly založené na sadě goniometrických funkcí, logických operací a výpočtů s pohyblivou řádovou čárkou byly použity jako primitiva k identifikaci různých modelů GPU. Pro identifikaci rozdílů ve stejných GPU byl odhadnut počet souběžně spouštěných vláken při spouštění vertex shaderů. Předpokládá se, že detekovaný efekt je způsoben rozdíly v teplotních podmínkách a spotřebě energie různých instancí čipů (dříve byl podobný efekt prokázán u CPU - stejné procesory vykazovaly různou spotřebu při provádění stejného kódu).

Vzhledem k tomu, že operace prostřednictvím WebGL jsou prováděny asynchronně, nelze JavaScript API performance.now() přímo použít k měření doby jejich provádění, proto byly navrženy tři triky, jak čas měřit:

  • onscreen — vykreslení scény na plátně HTML, měření doby odezvy funkce zpětného volání, nastavené pomocí rozhraní API Window.requestAnimationFrame a zavoláno po dokončení vykreslování.
  • offscreen - pomocí pracovníka a vykreslení scény do objektu OffscreenCanvas, měření doby provedení příkazu convertToBlob.
  • GPU – Kreslení do objektu OffscreenCanvas, ale k měření času, který bere v úvahu dobu trvání sady příkazů na straně GPU, použijte časovač poskytovaný WebGL.

Během procesu vytváření ID je na každém zařízení provedeno 50 testů, z nichž každý zahrnuje 176 měření 16 různých charakteristik. Experiment, který shromáždil informace o 2500 1605 zařízeních s 67 17.5 různými GPU, ukázal 28% nárůst účinnosti kombinovaných identifikačních metod při přidání podpory Drawn Apart. Zejména kombinovaná metoda FP-STALKER poskytla identifikaci v průměru do XNUMX dne a v kombinaci s Drawn Apart se doba identifikace prodloužila na XNUMX dní.

Metoda identifikace uživatelského systému na základě informací o GPU

  • Přesnost oddělení 10 systémů s čipy Intel i5-3470 (GEN 3 Ivy Bridge) a GPU Intel HD Graphics 2500 v testu na obrazovce byla 93 % a v testu mimo obrazovku 36.3 %.
  • Pro 10 systémů Intel i5-10500 (GEN 10 Comet Lake) s grafickou kartou NVIDIA GTX1650 byla přesnost 70 % a 95.8 %.
  • Pro 15 systémů Intel i5-8500 (GEN 8 Coffee Lake) s grafikou Intel UHD Graphics 630 GPU - 42 % a 55 %.
  • Pro 23 systémů Intel i5-4590 (GEN 4 Haswell) s grafikou Intel HD Graphics 4600 GPU – 32.7 % a 63.7 %.
  • U šesti smartphonů Samsung Galaxy S20/S20 Ultra s GPU Mali-G77 MP11 byla přesnost identifikace v testu na obrazovce 92.7 % a u smartphonů Samsung Galaxy S9/S9+ s Mali-G72 MP18 54.3 %.

Metoda identifikace uživatelského systému na základě informací o GPU

Je třeba poznamenat, že přesnost byla ovlivněna teplotou GPU a u některých zařízení vedlo restartování systému ke zkreslení identifikátoru. Při použití metody v kombinaci s jinými metodami nepřímé identifikace lze výrazně zvýšit přesnost. Plánují také zvýšení přesnosti pomocí výpočetních shaderů po stabilizaci nového rozhraní WebGPU API.

Intel, ARM, Google, Khronos, Mozilla a Brave byly na problém upozorněny již v roce 2020, ale podrobnosti o metodě byly odhaleny až nyní. Výzkumníci také zveřejnili pracovní příklady napsané v JavaScriptu a GLSL, které mohou pracovat s informacemi na obrazovce i bez nich. Také pro systémy založené na GPU Intel GEN 3/4/8/10 byly publikovány datové sady pro klasifikaci extrahovaných informací v systémech strojového učení.

Zdroj: opennet.ru

Přidat komentář