Metoda de identificare a sistemului utilizatorului bazată pe informațiile GPU

Cercetătorii de la Universitatea Ben-Gurion (Israel), Universitatea din Lille (Franța) și Universitatea din Adelaide (Australia) au dezvoltat o nouă tehnică de identificare a dispozitivelor utilizatorului prin detectarea parametrilor de funcționare a GPU într-un browser web. Metoda se numește „Drawn Apart” și se bazează pe utilizarea WebGL pentru a obține un profil de performanță GPU, care poate îmbunătăți semnificativ acuratețea metodelor pasive de urmărire care funcționează fără utilizarea Cookie-urilor și fără a stoca un identificator pe sistemul utilizatorului.

Metodele care iau în considerare caracteristicile de randare, GPU, stiva grafică și drivere la identificare au fost utilizate anterior, dar acestea au fost limitate la capacitatea de a separa dispozitivele doar la nivelul diferitelor modele de plăci video și GPU-uri, adică. ar putea fi folosit doar ca un factor suplimentar pentru a crește probabilitatea identificării. Caracteristica cheie a noii metode „Drawn Apart” este că nu se limitează la separarea diferitelor modele de GPU, ci încearcă să identifice diferențele dintre GPU-uri identice ale aceluiași model datorită eterogenității procesului de fabricație a cipurilor concepute pentru paralele masive. tehnica de calcul. Se observă că variațiile care apar în timpul procesului de producție fac posibilă formarea de impresii nerepetate pentru aceleași modele de dispozitive.

Metoda de identificare a sistemului utilizatorului bazată pe informațiile GPU

S-a dovedit că aceste diferențe pot fi identificate numărând numărul de unități de execuție și analizând performanța acestora în GPU. Verificările bazate pe un set de funcții trigonometrice, operații logice și calcule cu virgulă mobilă au fost folosite ca primitive pentru a identifica diferite modele de GPU. Pentru a identifica diferențele în aceleași GPU, a fost estimat numărul de fire care se execută concomitent la executarea vertex shaders. Se presupune că efectul detectat este cauzat de diferențele în condițiile de temperatură și consumul de energie al diferitelor instanțe de cipuri (anterior, un efect similar a fost demonstrat pentru procesoare - procesoare identice au prezentat un consum de energie diferit la executarea aceluiași cod).

Deoarece operațiunile prin WebGL sunt efectuate asincron, API-ul JavaScript performance.now() nu poate fi utilizat direct pentru a măsura timpul de execuție al acestora, așa că au fost propuse trei trucuri pentru a măsura timpul:

  • pe ecran — redarea scenei într-o pânză HTML, măsurarea timpului de răspuns al funcției de apel invers, setată prin API-ul Window.requestAnimationFrame și apelată după ce randarea este finalizată.
  • offscreen - folosind un lucrător și redarea scenei într-un obiect OffscreenCanvas, măsurând timpul de execuție al comenzii convertToBlob.
  • GPU - Desenați la un obiect OffscreenCanvas, dar utilizați un temporizator furnizat de WebGL pentru a măsura timpul care ia în considerare durata unui set de comenzi pe partea GPU.

În timpul procesului de creare a ID, sunt efectuate 50 de teste pe fiecare dispozitiv, fiecare acoperind 176 de măsurători cu 16 caracteristici diferite. Un experiment care a colectat informații pe 2500 de dispozitive cu 1605 GPU-uri diferite a arătat o creștere cu 67% a eficienței metodelor de identificare combinate la adăugarea suportului Drawn Apart. În special, metoda combinată FP-STALKER a oferit identificarea în medie în 17.5 zile, iar atunci când a fost combinată cu Drawn Apart, durata identificării a crescut la 28 de zile.

Metoda de identificare a sistemului utilizatorului bazată pe informațiile GPU

  • Precizia de separare a 10 sisteme cu cipuri Intel i5-3470 (GEN 3 Ivy Bridge) și Intel HD Graphics 2500 GPU în testul pe ecran a fost de 93%, iar în testul offscreen a fost de 36.3%.
  • Pentru 10 sisteme Intel i5-10500 (GEN 10 Comet Lake) cu o placă video NVIDIA GTX1650, precizia a fost de 70% și 95.8%.
  • Pentru 15 sisteme Intel i5-8500 (GEN 8 Coffee Lake) cu Intel UHD Graphics 630 GPU - 42% și 55%.
  • Pentru 23 de sisteme Intel i5-4590 (GEN 4 Haswell) cu Intel HD Graphics 4600 GPU - 32.7% și 63.7%.
  • Pentru șase smartphone-uri Samsung Galaxy S20/S20 Ultra cu GPU Mali-G77 MP11, precizia de identificare în testul de pe ecran a fost de 92.7%, iar pentru smartphone-urile Samsung Galaxy S9/S9+ cu Mali-G72 MP18 a fost de 54.3%.

Metoda de identificare a sistemului utilizatorului bazată pe informațiile GPU

Se observă că acuratețea a fost afectată de temperatura GPU-ului, iar pentru unele dispozitive, repornirea sistemului a dus la o distorsiune a identificatorului. Atunci când se utilizează metoda în combinație cu alte metode indirecte de identificare, precizia poate fi crescută semnificativ. Ei intenționează, de asemenea, să crească acuratețea prin utilizarea de shadere de calcul după stabilizarea noului API WebGPU.

Intel, ARM, Google, Khronos, Mozilla și Brave au fost notificați despre problemă încă din 2020, dar detaliile metodei sunt dezvăluite abia acum. Cercetătorii au publicat, de asemenea, exemple de lucru scrise în JavaScript și GLSL care pot funcționa cu și fără afișarea informațiilor pe ecran. De asemenea, pentru sistemele bazate pe GPU Intel GEN 3/4/8/10, au fost publicate seturi de date pentru clasificarea informațiilor extrase în sistemele de învățare automată.

Sursa: opennet.ru

Adauga un comentariu