Brukersystemidentifikasjonsmetode basert på GPU-informasjon

Forskere fra Ben-Gurion University (Israel), University of Lille (Frankrike) og University of Adelaide (Australia) har utviklet en ny teknikk for å identifisere brukerenheter ved å oppdage GPU-driftsparametere i en nettleser. Metoden kalles «Drawn Apart» og er basert på bruk av WebGL for å få en GPU-ytelsesprofil, som kan forbedre nøyaktigheten av passive sporingsmetoder som fungerer uten bruk av informasjonskapsler og uten å lagre en identifikator på brukerens system betydelig.

Metoder som tar hensyn til funksjonene til gjengivelse, GPU, grafikkstabel og drivere ved identifisering ble brukt tidligere, men de var begrenset til muligheten til å skille enheter bare på nivået til forskjellige modeller av skjermkort og GPUer, dvs. kan bare brukes som en tilleggsfaktor for å øke sannsynligheten for identifikasjon. Nøkkeltrekket til den nye "Drawn Apart"-metoden er at den ikke begrenser seg til å skille forskjellige GPU-modeller, men prøver å identifisere forskjeller mellom identiske GPUer av samme modell på grunn av heterogeniteten i produksjonsprosessen til brikker designet for massivt parallelle databehandling. Det bemerkes at variasjoner som oppstår under produksjonsprosessen gjør det mulig å danne ikke-repeterende avstøpninger for de samme enhetsmodellene.

Brukersystemidentifikasjonsmetode basert på GPU-informasjon

Det viste seg at disse forskjellene kan identifiseres ved å telle antall utførelsesenheter og analysere ytelsen deres i GPU. Sjekker basert på et sett med trigonometriske funksjoner, logiske operasjoner og flyttallsberegninger ble brukt som primitiver for å identifisere ulike GPU-modeller. For å identifisere forskjeller i de samme GPU-ene, ble antallet samtidig kjørende tråder ved utførelse av toppunktskyggelegging estimert. Det antas at den oppdagede effekten er forårsaket av forskjeller i temperaturforhold og strømforbruk for forskjellige forekomster av brikker (tidligere ble en lignende effekt demonstrert for CPUer - identiske prosessorer viste forskjellig strømforbruk når de kjørte den samme koden).

Fordi operasjoner gjennom WebGL utføres asynkront, kan ikke JavaScript API performance.now() brukes direkte til å måle utførelsestiden, så tre triks er foreslått for å måle tiden:

  • på skjermen — gjengivelse av scenen i et HTML-lerret, måling av responstiden til tilbakeringingsfunksjonen, satt via Window.requestAnimationFrame API og kalt opp etter at gjengivelsen er fullført.
  • offscreen - ved å bruke en arbeider og gjengi scenen til et OffscreenCanvas-objekt, som måler utførelsestiden for kommandoen convertToBlob.
  • GPU - Tegn til et OffscreenCanvas-objekt, men bruk en WebGL-levert tidtaker for å måle tid som tar hensyn til varigheten av et sett med kommandoer på GPU-siden.

I løpet av ID-opprettingsprosessen utføres 50 tester på hver enhet, som hver dekker 176 målinger av 16 forskjellige egenskaper. Et eksperiment som samlet inn informasjon om 2500 enheter med 1605 forskjellige GPUer, viste en 67% økning i effektiviteten til kombinerte identifikasjonsmetoder når man la til Drawn Apart-støtte. Spesielt ga den kombinerte FP-STALKER-metoden identifikasjon innen 17.5 dager i gjennomsnitt, og når den ble kombinert med Drawn Apart, økte identifikasjonsvarigheten til 28 dager.

Brukersystemidentifikasjonsmetode basert på GPU-informasjon

  • Separasjonsnøyaktigheten til 10 systemer med Intel i5-3470-brikker (GEN 3 Ivy Bridge) og Intel HD Graphics 2500 GPU i skjermtesten var 93 %, og i offscreen-testen var den 36.3 %.
  • For 10 Intel i5-10500-systemer (GEN 10 Comet Lake) med et NVIDIA GTX1650-skjermkort var nøyaktigheten 70 % og 95.8 %.
  • For 15 Intel i5-8500-systemer (GEN 8 Coffee Lake) med Intel UHD Graphics 630 GPU - 42 % og 55 %.
  • For 23 Intel i5-4590 (GEN 4 Haswell)-systemer med Intel HD Graphics 4600 GPU - 32.7 % og 63.7 %.
  • For seks Samsung Galaxy S20/S20 Ultra-smarttelefoner med Mali-G77 MP11 GPU var identifikasjonsnøyaktigheten i skjermtesten 92.7 %, og for Samsung Galaxy S9/S9+-smarttelefoner med Mali-G72 MP18 var den 54.3 %.

Brukersystemidentifikasjonsmetode basert på GPU-informasjon

Det bemerkes at nøyaktigheten ble påvirket av temperaturen på GPUen, og for noen enheter førte omstart av systemet til en forvrengning av identifikatoren. Ved bruk av metoden i kombinasjon med andre indirekte identifiseringsmetoder kan nøyaktigheten økes betydelig. De planlegger også å øke nøyaktigheten gjennom bruk av dataskyggere etter stabilisering av den nye WebGPU API.

Intel, ARM, Google, Khronos, Mozilla og Brave ble varslet om problemet tilbake i 2020, men detaljer om metoden avsløres først nå. Forskerne publiserte også arbeidseksempler skrevet i JavaScript og GLSL som kan fungere med og uten å vise informasjon på skjermen. For systemer basert på GPU Intel GEN 3/4/8/10 er det også publisert datasett for klassifisering av utvunnet informasjon i maskinlæringssystemer.

Kilde: opennet.ru

Legg til en kommentar