Identificatiemethode voor het gebruikerssysteem op basis van GPU-informatie

Onderzoekers van de Ben-Gurion Universiteit (Israël), de Universiteit van Lille (Frankrijk) en de Universiteit van Adelaide (Australië) hebben een nieuwe techniek ontwikkeld voor het identificeren van gebruikersapparaten door GPU-bedrijfsparameters in een webbrowser te detecteren. De methode heet "Drawn Apart" en is gebaseerd op het gebruik van WebGL om een ​​GPU-prestatieprofiel te verkrijgen, wat de nauwkeurigheid van passieve trackingmethoden die werken zonder het gebruik van cookies en zonder een identificatie op het systeem van de gebruiker op te slaan, aanzienlijk kan verbeteren.

Methoden die bij het identificeren rekening houden met de kenmerken van weergave, GPU, grafische stapel en stuurprogramma's, werden eerder gebruikt, maar deze waren beperkt tot de mogelijkheid om apparaten alleen te scheiden op het niveau van verschillende modellen videokaarten en GPU's, d.w.z. kan alleen worden gebruikt als een extra factor om de kans op identificatie te vergroten. Het belangrijkste kenmerk van de nieuwe "Drawn Apart"-methode is dat deze zich niet beperkt tot het scheiden van verschillende GPU-modellen, maar probeert verschillen tussen identieke GPU's van hetzelfde model te identificeren vanwege de heterogeniteit van het productieproces van chips die zijn ontworpen voor massaal parallelle computergebruik. Opgemerkt wordt dat variaties die ontstaan ​​tijdens het productieproces het mogelijk maken om niet-herhalende afgietsels te vormen voor dezelfde apparaatmodellen.

Identificatiemethode voor het gebruikerssysteem op basis van GPU-informatie

Het bleek dat deze verschillen kunnen worden geïdentificeerd door het aantal uitvoeringseenheden te tellen en hun prestaties in de GPU te analyseren. Controles op basis van een reeks trigonometrische functies, logische bewerkingen en drijvende-kommaberekeningen werden gebruikt als primitieven om verschillende GPU-modellen te identificeren. Om verschillen in dezelfde GPU's te identificeren, werd het aantal gelijktijdig uitgevoerde threads bij het uitvoeren van vertex shaders beoordeeld. Er wordt aangenomen dat het gedetecteerde effect wordt veroorzaakt door verschillen in temperatuuromstandigheden en energieverbruik van verschillende exemplaren van chips (eerder werd een soortgelijk effect aangetoond voor CPU's - identieke processors vertoonden een verschillend energieverbruik bij het uitvoeren van dezelfde code).

Omdat bewerkingen via WebGL asynchroon worden uitgevoerd, kan de JavaScript API performance.now() niet rechtstreeks worden gebruikt om de uitvoeringstijd ervan te meten. Daarom zijn er drie trucs voorgesteld om de tijd te meten:

  • op het scherm - weergave van de scène in een HTML-canvas, meting van de responstijd van de callback-functie, ingesteld via de Window.requestAnimationFrame API en aangeroepen nadat het renderen is voltooid.
  • offscreen - een worker gebruiken en de scène weergeven in een OffscreenCanvas-object, waarbij de uitvoeringstijd van de convertToBlob-opdracht wordt gemeten.
  • GPU - Teken naar een OffscreenCanvas-object, maar gebruik een door WebGL geleverde timer om de tijd te meten, waarbij rekening wordt gehouden met de duur van een reeks opdrachten aan de GPU-kant.

Tijdens het ID-creatieproces worden op elk apparaat 50 tests uitgevoerd, die elk 176 metingen van 16 verschillende kenmerken omvatten. Een experiment waarbij informatie werd verzameld over 2500 apparaten met 1605 verschillende GPU's toonde een toename van 67% in de efficiëntie van gecombineerde identificatiemethoden bij het toevoegen van Draw Apart-ondersteuning. Met name de gecombineerde FP-STALKER-methode zorgde voor identificatie binnen gemiddeld 17.5 dagen, en in combinatie met Draw Apart werd de identificatieduur verlengd tot 28 dagen.

Identificatiemethode voor het gebruikerssysteem op basis van GPU-informatie

  • De scheidingsnauwkeurigheid van 10 systemen met Intel i5-3470-chips (GEN 3 Ivy Bridge) en Intel HD Graphics 2500 GPU in de test op het scherm was 93% en in de test buiten het scherm 36.3%.
  • Voor 10 Intel i5-10500 systemen (GEN 10 Comet Lake) met een NVIDIA GTX1650 videokaart was de nauwkeurigheid 70% en 95.8%.
  • Voor 15 Intel i5-8500 systemen (GEN 8 Coffee Lake) met Intel UHD Graphics 630 GPU - 42% en 55%.
  • Voor 23 Intel i5-4590 (GEN 4 Haswell) systemen met Intel HD Graphics 4600 GPU - 32.7% en 63.7%.
  • Voor zes Samsung Galaxy S20/S20 Ultra-smartphones met Mali-G77 MP11 GPU was de identificatienauwkeurigheid in de schermtest 92.7%, en voor Samsung Galaxy S9/S9+ smartphones met Mali-G72 MP18 was deze 54.3%.

Identificatiemethode voor het gebruikerssysteem op basis van GPU-informatie

Opgemerkt wordt dat de nauwkeurigheid werd beïnvloed door de temperatuur van de GPU, en voor sommige apparaten leidde het opnieuw opstarten van het systeem tot een vervorming van de identificatie. Bij gebruik van de methode in combinatie met andere indirecte identificatiemethoden kan de nauwkeurigheid aanzienlijk worden vergroot. Ze zijn ook van plan de nauwkeurigheid te vergroten door het gebruik van compute shaders na stabilisatie van de nieuwe WebGPU API.

Intel, ARM, Google, Khronos, Mozilla en Brave werden al in 2020 op de hoogte gebracht van het probleem, maar details over de methode worden nu pas onthuld. De onderzoekers publiceerden ook werkvoorbeelden geschreven in JavaScript en GLSL die kunnen werken met en zonder informatie op het scherm weer te geven. Ook zijn er voor systemen gebaseerd op GPU Intel GEN 3/4/8/10 datasets gepubliceerd voor het classificeren van geëxtraheerde informatie in machine learning-systemen.

Bron: opennet.ru

Voeg een reactie