Kasutaja süsteemi tuvastamise meetod, mis põhineb GPU teabel

Ben-Gurioni ülikooli (Iisrael), Lille'i ülikooli (Prantsusmaa) ja Adelaide'i ülikooli (Austraalia) teadlased on välja töötanud uue tehnika kasutajaseadmete tuvastamiseks, tuvastades veebibrauseris GPU tööparameetrid. Meetodit nimetatakse "Drawn Apart" ja see põhineb WebGL-i kasutamisel GPU jõudlusprofiili saamiseks, mis võib oluliselt parandada passiivsete jälgimismeetodite täpsust, mis töötavad ilma küpsiseid kasutamata ja kasutaja süsteemi identifikaatorit salvestamata.

Varem kasutati meetodeid, mis võtavad tuvastamisel arvesse renderdamise, GPU, graafikapinu ja draiverite omadusi, kuid need piirdusid seadmete eraldamise võimalusega ainult videokaartide ja GPU-de erinevate mudelite tasemel, s.t. saab kasutada ainult täiendava tegurina tuvastamise tõenäosuse suurendamiseks. Uue "Drawn Apart" meetodi põhiomadus on see, et see ei piirdu erinevate GPU mudelite eraldamisega, vaid püüab tuvastada erinevusi sama mudeli identsete GPU-de vahel, mis on tingitud massiliselt paralleelseks kasutamiseks mõeldud kiipide tootmisprotsessi heterogeensusest. andmetöötlus. Märgitakse, et tootmisprotsessi käigus tekkivad variatsioonid võimaldavad moodustada samade seadmemudelite puhul mittekorduvaid muljeid.

Kasutaja süsteemi tuvastamise meetod, mis põhineb GPU teabel

Selgus, et neid erinevusi saab tuvastada, loendades täitmisüksuste arvu ja analüüsides nende jõudlust GPU-s. Erinevate GPU mudelite tuvastamiseks kasutati primitiividena trigonomeetriliste funktsioonide komplektil, loogilistel operatsioonidel ja ujukomaarvutustel põhinevaid kontrolle. Samade GPU-de erinevuste tuvastamiseks hinnati samaaegselt täitvate lõimede arvu tippude varjutajate käivitamisel. Eeldatakse, et tuvastatud efekti põhjustavad erinevused temperatuuritingimustes ja kiipide erinevate eksemplaride energiatarbimises (varem demonstreeriti sarnast efekti CPU-de puhul - identsed protsessorid näitasid sama koodi täitmisel erinevat energiatarbimist).

Kuna WebGL-i kaudu tehtavad toimingud tehakse asünkroonselt, ei saa JavaScript API performance.now()-d nende täitmisaja mõõtmiseks otse kasutada, seega on aja mõõtmiseks välja pakutud kolm nippi:

  • ekraanil — stseeni renderdamine HTML-lõuendil, tagasihelistamise funktsiooni reaktsiooniaja mõõtmine, seadistamine Window.requestAnimationFrame API kaudu ja väljakutsumine pärast renderdamise lõpetamist.
  • offscreen – töötaja kasutamine ja stseeni renderdamine OffscreenCanvas objektiks, käsu convertToBlob täitmisaja mõõtmine.
  • GPU – joonistage OffscreenCanvase objektile, kuid kasutage aja mõõtmiseks WebGL-i pakutavat taimerit, mis võtab arvesse GPU-poolse käskude komplekti kestust.

ID loomise käigus tehakse iga seadmega 50 testi, millest igaüks hõlmab 176 mõõtmist 16 erineva karakteristikuga. Eksperiment, mis kogus teavet 2500 seadme kohta 1605 erineva GPU-ga, näitas Drawn Aparti toe lisamisel kombineeritud identifitseerimismeetodite efektiivsuse 67% tõusu. Eelkõige võimaldas kombineeritud FP-STALKER meetod tuvastamist keskmiselt 17.5 päeva jooksul ja koos Drawn Apartiga suurenes tuvastamise kestus 28 päevani.

Kasutaja süsteemi tuvastamise meetod, mis põhineb GPU teabel

  • Inteli i10-5 kiipidega (GEN 3470 Ivy Bridge) ja Intel HD Graphics 3 GPU-ga 2500 süsteemi eraldustäpsus oli ekraanitestis 93% ja ekraanivälises testis 36.3%.
  • NVIDIA GTX10 videokaardiga 5 Inteli i10500-10 süsteemi (GEN 1650 Comet Lake) puhul oli täpsus 70% ja 95.8%.
  • 15 Intel i5-8500 süsteemile (GEN 8 Coffee Lake) koos Intel UHD Graphics 630 GPU-ga - 42% ja 55%.
  • 23 Intel i5-4590 (GEN 4 Haswell) süsteemi jaoks koos Intel HD Graphics 4600 GPU-ga - 32.7% ja 63.7%.
  • Kuue Mali-G20 MP20 GPU-ga Samsung Galaxy S77/S11 Ultra nutitelefoni puhul oli ekraanitesti tuvastamise täpsus 92.7% ja Mali-G9 MP9-ga Samsung Galaxy S72/S18+ nutitelefonidel 54.3%.

Kasutaja süsteemi tuvastamise meetod, mis põhineb GPU teabel

Märgitakse, et täpsust mõjutas GPU temperatuur ja mõne seadme puhul viis süsteemi taaskäivitamine identifikaatori moonutamiseni. Kasutades meetodit koos teiste kaudsete identifitseerimismeetoditega, saab täpsust oluliselt suurendada. Samuti kavatsevad nad pärast uue WebGPU API stabiliseerimist suurendada täpsust arvutusvarjurite kasutamisega.

Intel, ARM, Google, Khronos, Mozilla ja Brave said probleemist teada juba 2020. aastal, kuid meetodi üksikasjad avalikustatakse alles nüüd. Teadlased avaldasid ka JavaScriptis ja GLSL-is kirjutatud töönäiteid, mis võivad töötada nii ekraanil teabe kuvamisega kui ka ilma. Samuti on GPU Intel GEN 3/4/8/10 süsteemide jaoks avaldatud andmekogumid masinõppesüsteemides ekstraheeritud teabe klassifitseerimiseks.

Allikas: opennet.ru

Lisa kommentaar