Drawn Apart, une méthode d'identification des utilisateurs basée sur le GPU

Il ya quelques jours la nouvelle a éclaté que 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 GPU dans un navigateur Web.

La méthode s'appelle "Drawn Apart" et est basé sur l'utilisation de WebGL pour obtenir un profil de performance GPU, ce qui peut améliorer considérablement la précision des méthodes de suivi passif qui fonctionnent sans utiliser de cookies et sans stocker d'identifiant sur le système de l'utilisateur.

Les méthodes qui prendre en compte les caractéristiques de rendu, le GPU, la pile graphique et les pilotes lors de leur identification, ils étaient auparavant utilisés, mais ils étaient limités à 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 qu'il ne pouvait être utilisé que comme facteur supplémentaire pour augmenter la probabilité d'identification.

La caractéristique clé de la nouvelle méthode "Drawn Apart" est qu'il ne se limite pas à séparer différents modèles de GPUMais essayez d'identifier les différences entre des GPU identiques du même modèle, en raison de l'hétérogénéité du processus de production des puces conçues.

Il est également mentionné que des variations survenant au cours du processus de fabrication sont observées pour permettre de former des moules non répétitifs pour les mêmes modèles de dispositif.

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 sur le GPU. Comme primitives pour identifier différents modèles de GPU, des contrôles basés sur un ensemble de fonctions trigonométriques, des opérations logiques et des calculs en virgule flottante ont été utilisés. Pour identifier les différences sur le même GPU, le nombre de threads exécutés simultanément lors de l'exécution des vertex shaders a été estimé.

L'effet révélé est supposé être causé par des différences de régimes de température et de consommation d'énergie de différentes instances de puce (un effet similaire a déjà été démontré pour le CPU : les mêmes processeurs ont démontré une consommation d'énergie différente lors de l'exécution du même code).

Les opérations via WebGL étant asynchrones, vous ne pouvez pas utiliser directement l'API JavaScript performance.now() pour mesurer leur temps d'exécution, trois astuces ont donc été proposées pour mesurer le temps :

  • À l'écran: rendu de la scène sur le canevas HTML avec la mesure du temps de réponse de la fonction de rappel exposée via l'API Window.requestAnimationFrame et appelée une fois le rendu terminé.
  • hors écran: utilisez un travailleur et affichez la scène dans un objet OffscreenCanvas en mesurant le temps d'exécution de la commande convertToBlob.
  • GPU: rendu vers un objet OffscreenCanvas, mais avec un timer fourni par WebGL pour mesurer le temps, en tenant compte de la durée d'exécution d'un ensemble de commandes côté GPU.

En cours de création d'un identifiant 50 contrôles sont effectués sur chaque appareil, dont chacune couvre 176 mesures de 16 caractéristiques différentes. L'expérience, au cours de laquelle les données collectées sur 2500 1605 appareils avec 67 XNUMX GPU différents ont montré une augmentation de XNUMX % de l'efficacité des méthodes d'identification combinées en leur ajoutant la prise en charge de Draw Apart.

En particulier, la méthode combinée FP-STALKER a fourni en moyenne une identification dans les 17,5 jours, et en combinaison avec Drawn Apart, la durée d'identification est passée à 28 jours.

On observe que la précision était affectée par la température du GPU et, pour certains appareils, le redémarrage du système provoquait une distorsion de l'identifiant. Lorsque la méthode est utilisée en combinaison avec d'autres méthodes identification indirecte, la précision peut être augmentée de manière significative. Il est également prévu d'augmenter la précision grâce à l'utilisation de shaders de calcul après la stabilisation de la nouvelle API WebGPU.

Intel, ARM, Google, Khronos, Mozilla et Brave ont été informés du problème dès 2020, mais les détails de la méthode viennent tout juste d'être révélés.

Entre autres choses, les chercheurs ont publié des exemples de travail écrits en JavaScript et GLSL qui peuvent fonctionner avec et sans afficher des informations à l'écran. Également 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.

Enfin si vous souhaitez en savoir plus, vous pouvez vérifier les détails dans le lien suivant


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.