Metoda identifikacije korisničkog sustava na temelju GPU informacija

Istraživači sa Sveučilišta Ben-Gurion (Izrael), Sveučilišta Lille (Francuska) i Sveučilišta Adelaide (Australija) razvili su novu tehniku ​​za identifikaciju korisničkih uređaja otkrivanjem radnih parametara GPU-a u web pregledniku. Metoda se zove "Drawn Apart" i temelji se na korištenju WebGL-a za dobivanje profila performansi GPU-a, što može značajno poboljšati točnost metoda pasivnog praćenja koje rade bez upotrebe kolačića i bez pohranjivanja identifikatora u sustavu korisnika.

Prethodno su korištene metode koje prilikom identifikacije uzimaju u obzir značajke renderiranja, GPU-a, grafičkog skupa i upravljačkih programa, ali su bile ograničene na mogućnost odvajanja uređaja samo na razini različitih modela video kartica i GPU-a, tj. može se koristiti samo kao dodatni faktor za povećanje vjerojatnosti identifikacije. Ključna značajka nove "Drawn Apart" metode je da se ne ograničava na odvajanje različitih GPU modela, već pokušava identificirati razlike između identičnih GPU-ova istog modela zbog heterogenosti procesa proizvodnje čipova dizajniranih za masivno paralelno računalstvo. Napominje se da varijacije koje nastaju tijekom procesa proizvodnje omogućuju stvaranje dojmova koji se ne ponavljaju za iste modele uređaja.

Metoda identifikacije korisničkog sustava na temelju GPU informacija

Ispostavilo se da se te razlike mogu identificirati prebrojavanjem broja izvršnih jedinica i analizom njihove izvedbe u GPU-u. Provjere temeljene na skupu trigonometrijskih funkcija, logičkih operacija i proračuna s pomičnim zarezom korištene su kao primitive za identifikaciju različitih GPU modela. Kako bi se identificirale razlike u istim GPU-ovima, procijenjen je broj istodobnih niti koje se izvršavaju prilikom izvođenja vertex shadera. Pretpostavlja se da je otkriveni učinak uzrokovan razlikama u temperaturnim uvjetima i potrošnji energije različitih instanci čipova (prethodno je sličan učinak pokazan za CPU - identični procesori pokazali su različitu potrošnju energije prilikom izvođenja istog koda).

Budući da se operacije putem WebGL-a izvode asinkrono, JavaScript API performance.now() ne može se koristiti izravno za mjerenje njihovog vremena izvršenja, pa su predložena tri trika za mjerenje vremena:

  • na zaslonu — renderiranje scene u HTML platnu, mjerenje vremena odziva funkcije povratnog poziva, postavljene putem Window.requestAnimationFrame API-ja i pozvane nakon što je renderiranje završeno.
  • offscreen - korištenje worker-a i renderiranje scene u OffscreenCanvas objekt, mjerenje vremena izvršenja naredbe convertToBlob.
  • GPU - Crtajte na OffscreenCanvas objekt, ali koristite mjerač vremena koji nudi WebGL za mjerenje vremena koje uzima u obzir trajanje skupa naredbi na strani GPU-a.

Tijekom procesa izrade ID-a provodi se 50 testova na svakom uređaju, a svaki pokriva 176 mjerenja 16 različitih karakteristika. Eksperiment koji je prikupio informacije o 2500 uređaja s 1605 različitih GPU-a pokazao je povećanje od 67% u učinkovitosti kombiniranih metoda identifikacije kada se doda podrška za Drawn Apart. Konkretno, kombinirana metoda FP-STALKER omogućila je identifikaciju u prosjeku za 17.5 dana, a u kombinaciji s Drawn Apart trajanje identifikacije povećalo se na 28 dana.

Metoda identifikacije korisničkog sustava na temelju GPU informacija

  • Točnost odvajanja 10 sustava s Intel i5-3470 čipovima (GEN 3 Ivy Bridge) i Intel HD Graphics 2500 GPU u onscreen testu bila je 93%, au offscreen testu 36.3%.
  • Za 10 Intel i5-10500 sustava (GEN 10 Comet Lake) s NVIDIA GTX1650 video karticom, točnost je bila 70% i 95.8%.
  • Za 15 Intel i5-8500 sustava (GEN 8 Coffee Lake) s Intel UHD Graphics 630 GPU - 42% i 55%.
  • Za 23 Intel i5-4590 (GEN 4 Haswell) sustava s Intel HD Graphics 4600 GPU – 32.7% i 63.7%.
  • Za šest Samsung Galaxy S20/S20 Ultra pametnih telefona s Mali-G77 MP11 GPU-om, točnost identifikacije u testu na ekranu bila je 92.7%, a za Samsung Galaxy S9/S9+ pametne telefone s Mali-G72 MP18 54.3%.

Metoda identifikacije korisničkog sustava na temelju GPU informacija

Napominje se da je na točnost utjecala temperatura GPU-a, a za neke je uređaje ponovno pokretanje sustava dovelo do izobličenja identifikatora. Korištenjem metode u kombinaciji s drugim neizravnim metodama identifikacije, točnost se može značajno povećati. Također planiraju povećati točnost upotrebom računalnih shadera nakon stabilizacije novog WebGPU API-ja.

Intel, ARM, Google, Khronos, Mozilla i Brave bili su obaviješteni o problemu još 2020. godine, ali tek sada se otkrivaju detalji metode. Istraživači su također objavili radne primjere napisane u JavaScriptu i GLSL-u koji mogu raditi sa i bez prikazivanja informacija na ekranu. Također, za sustave temeljene na GPU Intel GEN 3/4/8/10, objavljeni su skupovi podataka za klasificiranje ekstrahiranih informacija u sustavima strojnog učenja.

Izvor: opennet.ru

Dodajte komentar