Mètode d'identificació del sistema d'usuari basat en la informació de la GPU

Investigadors de la Universitat Ben-Gurion (Israel), la Universitat de Lille (França) i la Universitat d'Adelaida (Austràlia) han desenvolupat una nova tècnica per identificar els dispositius dels usuaris mitjançant la detecció de paràmetres de funcionament de la GPU en un navegador web. El mètode s'anomena "Drawn Apart" i es basa en l'ús de WebGL per obtenir un perfil de rendiment de la GPU, que pot millorar significativament la precisió dels mètodes de seguiment passiu que funcionen sense l'ús de cookies i sense emmagatzemar un identificador al sistema de l'usuari.

Abans s'utilitzaven mètodes que tenen en compte les característiques de renderització, GPU, pila de gràfics i controladors a l'hora d'identificar-se, però es limitaven a la capacitat de separar dispositius només a nivell de diferents models de targetes de vídeo i GPU, és a dir. només es pot utilitzar com a factor addicional per augmentar la probabilitat d'identificació. La característica clau del nou mètode "Drawn Apart" és que no es limita a separar diferents models de GPU, sinó que intenta identificar diferències entre GPU idèntiques d'un mateix model a causa de l'heterogeneïtat del procés de fabricació de xips dissenyats per a un massiu paral·lel. informàtica. Cal assenyalar que les variacions que es produeixen durant el procés de producció permeten formar motlles no repetides per als mateixos models de dispositiu.

Mètode d'identificació del sistema d'usuari basat en la informació de la GPU

Va resultar que aquestes diferències es poden identificar comptant el nombre d'unitats d'execució i analitzant el seu rendiment a la GPU. Les comprovacions basades en un conjunt de funcions trigonomètriques, operacions lògiques i càlculs de coma flotant es van utilitzar com a primitives per identificar diferents models de GPU. Per identificar diferències en les mateixes GPU, es va estimar el nombre de fils que s'executen simultàniament quan s'executen ombrejadors de vèrtex. Se suposa que l'efecte detectat és causat per diferències en les condicions de temperatura i el consum d'energia de diferents instàncies de xips (anteriorment, es va demostrar un efecte similar per a les CPU: els processadors idèntics mostraven un consum d'energia diferent en executar el mateix codi).

Com que les operacions mitjançant WebGL es realitzen de manera asíncrona, l'API JavaScript performance.now() no es pot utilitzar directament per mesurar el seu temps d'execució, de manera que s'han proposat tres trucs per mesurar el temps:

  • en pantalla: representació de l'escena en un llenç HTML, mesurant el temps de resposta de la funció de devolució de trucada, establerta mitjançant l'API Window.requestAnimationFrame i cridada després de completar la renderització.
  • offscreen: utilitzant un treballador i convertint l'escena en un objecte OffscreenCanvas, mesurant el temps d'execució de l'ordre convertToBlob.
  • GPU: dibuixeu un objecte OffscreenCanvas, però utilitzeu un temporitzador proporcionat per WebGL per mesurar el temps que tingui en compte la durada d'un conjunt d'ordres al costat de la GPU.

Durant el procés de creació d'ID, es realitzen 50 proves a cada dispositiu, cadascuna de les quals cobreix 176 mesures de 16 característiques diferents. Un experiment que va recopilar informació en 2500 dispositius amb 1605 GPU diferents va mostrar un augment del 67% en l'eficiència dels mètodes d'identificació combinats en afegir suport Drawn Apart. En particular, el mètode combinat FP-STALKER va proporcionar la identificació en un termini de 17.5 dies de mitjana, i quan es va combinar amb Drawn Apart, la durada d'identificació va augmentar a 28 dies.

Mètode d'identificació del sistema d'usuari basat en la informació de la GPU

  • La precisió de separació de 10 sistemes amb xips Intel i5-3470 (GEN 3 Ivy Bridge) i GPU Intel HD Graphics 2500 a la prova en pantalla va ser del 93%, i a la prova fora de pantalla va ser del 36.3%.
  • Per a 10 sistemes Intel i5-10500 (GEN 10 Comet Lake) amb una targeta de vídeo NVIDIA GTX1650, la precisió era del 70% i del 95.8%.
  • Per a 15 sistemes Intel i5-8500 (GEN 8 Coffee Lake) amb GPU Intel UHD Graphics 630: 42% i 55%.
  • Per a 23 sistemes Intel i5-4590 (GEN 4 Haswell) amb GPU Intel HD Graphics 4600: 32.7% i 63.7%.
  • Per a sis telèfons intel·ligents Samsung Galaxy S20/S20 Ultra amb GPU Mali-G77 MP11, la precisió d'identificació a la prova en pantalla va ser del 92.7%, i per als telèfons intel·ligents Samsung Galaxy S9/S9+ amb Mali-G72 MP18 va ser del 54.3%.

Mètode d'identificació del sistema d'usuari basat en la informació de la GPU

S'observa que la precisió es va veure afectada per la temperatura de la GPU i, per a alguns dispositius, el reinici del sistema va provocar una distorsió de l'identificador. Quan s'utilitza el mètode en combinació amb altres mètodes d'identificació indirecta, la precisió es pot augmentar significativament. També tenen previst augmentar la precisió mitjançant l'ús d'ombrejats informàtics després de l'estabilització de la nova API WebGPU.

Intel, ARM, Google, Khronos, Mozilla i Brave van ser notificats del problema l'any 2020, però els detalls del mètode només s'estan revelant ara. Els investigadors també van publicar exemples de treball escrits en JavaScript i GLSL que poden funcionar amb i sense mostrar informació a la pantalla. També, per als sistemes basats en GPU Intel GEN 3/4/8/10, s'han publicat conjunts de dades per classificar la informació extreta en sistemes d'aprenentatge automàtic.

Font: opennet.ru

Afegeix comentari