Metod för identifiering av användarsystem baserad på GPU-information

Forskare från Ben-Gurion University (Israel), University of Lille (Frankrike) och University of Adelaide (Australien) har utvecklat en ny teknik för att identifiera användarenheter genom att detektera GPU-driftparametrar i en webbläsare. Metoden kallas "Drawn Apart" och bygger på användningen av WebGL för att få en GPU-prestandaprofil, vilket avsevärt kan förbättra noggrannheten hos passiva spårningsmetoder som fungerar utan användning av cookies och utan att lagra en identifierare på användarens system.

Metoder som tar hänsyn till funktionerna för rendering, GPU, grafikstack och drivrutiner vid identifiering användes tidigare, men de var begränsade till möjligheten att separera enheter endast på nivån för olika modeller av grafikkort och GPU:er, d.v.s. kan endast användas som en ytterligare faktor för att öka sannolikheten för identifiering. Nyckelegenskapen för den nya "Drawn Apart"-metoden är att den inte begränsar sig till att separera olika GPU-modeller, utan försöker identifiera skillnader mellan identiska GPU:er av samma modell på grund av heterogeniteten i tillverkningsprocessen av chips designade för massivt parallella datoranvändning. Det noteras att variationer som uppstår under produktionsprocessen gör det möjligt att forma icke-repeterande avgjutningar för samma enhetsmodeller.

Metod för identifiering av användarsystem baserad på GPU-information

Det visade sig att dessa skillnader kan identifieras genom att räkna antalet exekveringsenheter och analysera deras prestanda i GPU:n. Kontroller baserade på en uppsättning trigonometriska funktioner, logiska operationer och flyttalsberäkningar användes som primitiver för att identifiera olika GPU-modeller. För att identifiera skillnader i samma GPU:er utvärderades antalet samtidigt exekverande trådar vid exekvering av vertex shaders. Det antas att den detekterade effekten orsakas av skillnader i temperaturförhållanden och strömförbrukning för olika instanser av chips (tidigare har en liknande effekt demonstrerats för processorer - identiska processorer visade olika strömförbrukning när samma kod kördes).

Eftersom operationer genom WebGL utförs asynkront, kan JavaScript API performance.now() inte användas direkt för att mäta deras exekveringstid, så tre knep har föreslagits för att mäta tiden:

  • onscreen — återgivning av scenen i en HTML-duk, mätning av svarstiden för återuppringningsfunktionen, inställd via Window.requestAnimationFrame API och anropad efter att renderingen är klar.
  • offscreen - använder en arbetare och renderar scenen till ett OffscreenCanvas-objekt, mäter exekveringstiden för kommandot convertToBlob.
  • GPU - Rita till ett OffscreenCanvas-objekt, men använd en WebGL-försedd timer för att mäta tid som tar hänsyn till varaktigheten av en uppsättning kommandon på GPU-sidan.

Under processen att skapa ID utförs 50 tester på varje enhet, som var och en omfattar 176 mätningar av 16 olika egenskaper. Ett experiment som samlade in information om 2500 1605 enheter med 67 17.5 olika GPU:er visade en 28% ökning av effektiviteten för kombinerade identifieringsmetoder när man lade till Drawn Apart-stöd. I synnerhet gav den kombinerade FP-STALKER-metoden identifiering inom XNUMX dagar i genomsnitt, och i kombination med Drawn Apart ökade identifieringstiden till XNUMX dagar.

Metod för identifiering av användarsystem baserad på GPU-information

  • Separationsnoggrannheten för 10 system med Intel i5-3470-chips (GEN 3 Ivy Bridge) och Intel HD Graphics 2500 GPU i skärmtestet var 93 %, och i offscreen-testet var den 36.3 %.
  • För 10 Intel i5-10500-system (GEN 10 Comet Lake) med ett NVIDIA GTX1650 grafikkort var noggrannheten 70 % och 95.8 %.
  • För 15 Intel i5-8500-system (GEN 8 Coffee Lake) med Intel UHD Graphics 630 GPU - 42% och 55%.
  • För 23 Intel i5-4590 (GEN 4 Haswell)-system med Intel HD Graphics 4600 GPU – 32.7 % och 63.7 %.
  • För sex Samsung Galaxy S20/S20 Ultra-smarttelefoner med Mali-G77 MP11 GPU var identifieringsnoggrannheten i skärmtestet 92.7 %, och för Samsung Galaxy S9/S9+-smarttelefoner med Mali-G72 MP18 var den 54.3 %.

Metod för identifiering av användarsystem baserad på GPU-information

Det noteras att noggrannheten påverkades av temperaturen på GPU:n, och för vissa enheter ledde omstart av systemet till en förvrängning av identifieraren. Vid användning av metoden i kombination med andra indirekta identifieringsmetoder kan noggrannheten ökas avsevärt. De planerar också att öka noggrannheten genom att använda beräkningsskuggningar efter stabilisering av det nya WebGPU API.

Intel, ARM, Google, Khronos, Mozilla och Brave underrättades om problemet redan 2020, men detaljer om metoden avslöjas först nu. Forskarna publicerade också fungerande exempel skrivna i JavaScript och GLSL som kan fungera med och utan att visa information på skärmen. Dessutom, för system baserade på GPU Intel GEN 3/4/8/10, har datauppsättningar publicerats för klassificering av extraherad information i maskininlärningssystem.

Källa: opennet.ru

Lägg en kommentar