Méthode d'identification du système utilisateur basée sur les informations du GPU

Des chercheurs de l'Université Ben Gourion (Israël), de l'Université de Lille (France) et de l'Université d'Adélaïde (Australie) ont développé une nouvelle technique pour identifier les appareils des utilisateurs en détectant les paramètres de fonctionnement du GPU dans un navigateur Web. La méthode s'appelle "Drawn Apart" et est basée sur l'utilisation de WebGL pour obtenir un profil de performances GPU, ce qui peut améliorer considérablement la précision des méthodes de suivi passives qui fonctionnent sans utilisation de cookies et sans stocker d'identifiant sur le système de l'utilisateur.

Des méthodes prenant en compte les fonctionnalités de rendu, de GPU, de pile graphique et de pilotes lors de l'identification étaient utilisées auparavant, mais elles étaient limitées à la possibilité de séparer les appareils uniquement au niveau des différents modèles de cartes vidéo et de GPU, c'est-à-dire ne pouvait être utilisé que comme facteur supplémentaire pour augmenter la probabilité d’identification. La principale caractéristique de la nouvelle méthode "Drawn Apart" est qu'elle ne se limite pas à séparer les différents modèles de GPU, mais tente d'identifier les différences entre des GPU identiques d'un même modèle en raison de l'hétérogénéité du processus de fabrication des puces conçues pour être massivement parallèles. l'informatique. Il est à noter que les variations qui surviennent au cours du processus de production permettent de former des impressions non répétitives pour les mêmes modèles d'appareils.

Méthode d'identification du système utilisateur basée sur les informations du GPU

Il s'est avéré que ces différences peuvent être identifiées en comptant le nombre d'unités d'exécution et en analysant leurs performances dans le GPU. Des vérifications basées sur un ensemble de fonctions trigonométriques, d'opérations logiques et de calculs en virgule flottante ont été utilisées comme primitives pour identifier différents modèles de GPU. Pour identifier les différences entre les mêmes GPU, le nombre de threads s'exécutant simultanément lors de l'exécution des vertex shaders a été estimé. On suppose que l'effet détecté est dû aux différences de conditions de température et de consommation d'énergie des différentes instances de puces (auparavant, un effet similaire avait été démontré pour les processeurs - des processeurs identiques présentaient une consommation d'énergie différente lors de l'exécution du même code).

Étant donné que les opérations via WebGL sont effectuées de manière asynchrone, l'API JavaScript performance.now() ne peut pas être utilisée directement pour mesurer leur temps d'exécution, c'est pourquoi trois astuces ont été proposées pour mesurer le temps :

  • à l'écran - rendu de la scène dans un canevas HTML, mesurant le temps de réponse de la fonction de rappel, définie via l'API Window.requestAnimationFrame et appelée une fois le rendu terminé.
  • offscreen - utiliser un travailleur et rendre la scène dans un objet OffscreenCanvas, mesurant le temps d'exécution de la commande convertToBlob.
  • GPU : dessinez sur un objet OffscreenCanvas, mais utilisez un minuteur fourni par WebGL pour mesurer le temps qui prend en compte la durée d'un ensemble de commandes côté GPU.

Au cours du processus de création d'ID, 50 tests sont effectués sur chaque appareil, chacun couvrant 176 mesures de 16 caractéristiques différentes. Une expérience qui a collecté des informations sur 2500 1605 appareils dotés de 67 17.5 GPU différents a montré une augmentation de 28 % de l'efficacité des méthodes d'identification combinées lors de l'ajout de la prise en charge de Drawn Apart. En particulier, la méthode combinée FP-STALKER a permis une identification dans un délai moyen de XNUMX jours, et lorsqu'elle est combinée avec Drawn Apart, la durée d'identification est passée à XNUMX jours.

Méthode d'identification du système utilisateur basée sur les informations du GPU

  • La précision de séparation de 10 systèmes équipés de puces Intel i5-3470 (GEN 3 Ivy Bridge) et d'un GPU Intel HD Graphics 2500 dans le test à l'écran était de 93 %, et dans le test hors écran, de 36.3 %.
  • Pour 10 systèmes Intel i5-10500 (GEN 10 Comet Lake) avec une carte vidéo NVIDIA GTX1650, la précision était de 70 % et 95.8 %.
  • Pour 15 systèmes Intel i5-8500 (GEN 8 Coffee Lake) avec GPU Intel UHD Graphics 630 - 42 % et 55 %.
  • Pour 23 systèmes Intel i5-4590 (GEN 4 Haswell) avec GPU Intel HD Graphics 4600 – 32.7 % et 63.7 %.
  • Pour six smartphones Samsung Galaxy S20/S20 Ultra équipés du GPU Mali-G77 MP11, la précision d'identification lors du test à l'écran était de 92.7 %, et pour les smartphones Samsung Galaxy S9/S9+ équipés du Mali-G72 MP18, elle était de 54.3 %.

Méthode d'identification du système utilisateur basée sur les informations du GPU

Il est à noter que la précision était affectée par la température du GPU, et pour certains appareils, le redémarrage du système entraînait une distorsion de l'identifiant. En utilisant la méthode en combinaison avec d’autres méthodes d’identification indirecte, la précision peut être considérablement améliorée. Ils prévoient également d'augmenter la précision grâce à l'utilisation de shaders de calcul après stabilisation de la nouvelle API WebGPU.

Intel, ARM, Google, Khronos, Mozilla et Brave ont été informés du problème en 2020, mais les détails de la méthode ne sont révélés que maintenant. Les chercheurs ont également publié des exemples de travail écrits en JavaScript et GLSL qui peuvent fonctionner avec et sans afficher des informations à l'écran. De plus, pour les systèmes basés sur GPU Intel GEN 3/4/8/10, des ensembles de données ont été publiés pour classer les informations extraites dans les systèmes d'apprentissage automatique.

Source: opennet.ru

Ajouter un commentaire