Metóda identifikácie používateľského systému na základe informácií o GPU

Výskumníci z Ben-Gurion University (Izrael), University of Lille (Francúzsko) a University of Adelaide (Austrália) vyvinuli novú techniku ​​identifikácie používateľských zariadení pomocou detekcie prevádzkových parametrov GPU vo webovom prehliadači. Metóda sa nazýva „Drawn Apart“ a je založená na použití WebGL na získanie výkonnostného profilu GPU, čo môže výrazne zlepšiť presnosť pasívnych metód sledovania, ktoré fungujú bez použitia cookies a bez uloženia identifikátora v systéme používateľa.

Metódy, ktoré pri identifikácii zohľadňujú vlastnosti vykresľovania, GPU, grafického zásobníka a ovládačov, sa používali skôr, ale boli obmedzené na schopnosť oddeliť zariadenia iba na úrovni rôznych modelov grafických kariet a GPU, t.j. možno použiť len ako dodatočný faktor na zvýšenie pravdepodobnosti identifikácie. Kľúčovou vlastnosťou novej metódy „Drawn Apart“ je, že sa neobmedzuje na oddeľovanie rôznych modelov GPU, ale snaží sa identifikovať rozdiely medzi identickými GPU toho istého modelu v dôsledku heterogenity výrobného procesu čipov navrhnutých pre masívne paralelné výpočtový. Je potrebné poznamenať, že odchýlky, ktoré vznikajú počas výrobného procesu, umožňujú vytvárať neopakujúce sa odliatky pre rovnaké modely zariadení.

Metóda identifikácie používateľského systému na základe informácií o GPU

Ukázalo sa, že tieto rozdiely možno identifikovať spočítaním počtu vykonávacích jednotiek a analýzou ich výkonu v GPU. Kontroly založené na súbore goniometrických funkcií, logických operáciách a výpočtoch s pohyblivou rádovou čiarkou boli použité ako primitíva na identifikáciu rôznych modelov GPU. Na identifikáciu rozdielov v rovnakých GPU sa hodnotil počet súbežne vykonávaných vlákien pri vykonávaní vertex shaderov. Predpokladá sa, že zistený efekt je spôsobený rozdielmi v teplotných podmienkach a spotrebe energie rôznych inštancií čipov (predtým bol podobný efekt preukázaný pre CPU - rovnaké procesory vykazovali rozdielnu spotrebu energie pri spustení rovnakého kódu).

Keďže operácie cez WebGL sa vykonávajú asynchrónne, JavaScript API performance.now() nemožno použiť priamo na meranie času ich vykonania, preto boli navrhnuté tri triky na meranie času:

  • onscreen — vykreslenie scény na plátne HTML, meranie doby odozvy funkcie spätného volania, nastavené cez API Window.requestAnimationFrame a volané po dokončení vykresľovania.
  • offscreen – použitie pracovníka a vykreslenie scény do objektu OffscreenCanvas, meranie času vykonania príkazu convertToBlob.
  • GPU – Kreslenie do objektu OffscreenCanvas, ale na meranie času, ktorý zohľadňuje trvanie súboru príkazov na strane GPU, použite časovač poskytovaný WebGL.

Počas procesu vytvárania ID sa na každom zariadení vykoná 50 testov, z ktorých každý pokrýva 176 meraní 16 rôznych charakteristík. Experiment, ktorý zhromaždil informácie o 2500 1605 zariadeniach s 67 17.5 rôznymi GPU, ukázal 28 % zvýšenie účinnosti kombinovaných metód identifikácie po pridaní podpory Drawn Apart. Najmä kombinovaná metóda FP-STALKER poskytla identifikáciu v priemere do XNUMX dňa a v kombinácii s Drawn Apart sa dĺžka trvania identifikácie zvýšila na XNUMX dní.

Metóda identifikácie používateľského systému na základe informácií o GPU

  • Presnosť oddelenia 10 systémov s čipmi Intel i5-3470 (GEN 3 Ivy Bridge) a GPU Intel HD Graphics 2500 v teste na obrazovke bola 93 % a v teste mimo obrazovky to bolo 36.3 %.
  • Pre 10 systémov Intel i5-10500 (GEN 10 Comet Lake) s grafickou kartou NVIDIA GTX1650 bola presnosť 70 % a 95.8 %.
  • Pre 15 systémov Intel i5-8500 (GEN 8 Coffee Lake) s grafikou Intel UHD Graphics 630 GPU - 42 % a 55 %.
  • Pre 23 systémov Intel i5-4590 (GEN 4 Haswell) s grafikou Intel HD Graphics 4600 GPU – 32.7 % a 63.7 %.
  • Pri šiestich smartfónoch Samsung Galaxy S20/S20 Ultra s GPU Mali-G77 MP11 bola presnosť identifikácie v teste na obrazovke 92.7 % a pri smartfónoch Samsung Galaxy S9/S9+ s Mali-G72 MP18 54.3 %.

Metóda identifikácie používateľského systému na základe informácií o GPU

Je potrebné poznamenať, že presnosť bola ovplyvnená teplotou GPU a pre niektoré zariadenia viedlo reštartovanie systému k skresleniu identifikátora. Pri použití metódy v kombinácii s inými metódami nepriamej identifikácie je možné výrazne zvýšiť presnosť. Po stabilizácii nového WebGPU API plánujú zvýšiť presnosť aj pomocou výpočtových shaderov.

Intel, ARM, Google, Khronos, Mozilla a Brave boli o probléme informovaní už v roku 2020, ale podrobnosti o metóde sa odhaľujú až teraz. Výskumníci tiež zverejnili pracovné príklady napísané v JavaScripte a GLSL, ktoré dokážu pracovať s informáciami na obrazovke aj bez nich. Pre systémy založené na GPU Intel GEN 3/4/8/10 boli tiež publikované súbory údajov na klasifikáciu extrahovaných informácií v systémoch strojového učenia.

Zdroj: opennet.ru

Pridať komentár