Les chercheurs utilisent les empreintes digitales GPU pour suivre les utilisateurs en ligne

gpu

Une équipe de chercheurs d’universités françaises, israéliennes et australiennes a exploré la possibilité d’utiliser les GPU des gens pour créer des empreintes digitales uniques et les utiliser pour un suivi Web persistant.

Les résultats de leur expérience à grande échelle impliquant 2 550 appareils avec 1 605 configurations de processeur distinctes montrent que leur technique, nommée « DrawnApart », peut augmenter la durée médiane de suivi à 67 % par rapport aux méthodes de pointe actuelles.

Il s’agit d’un grave problème pour la confidentialité des utilisateurs, qui est actuellement protégée par des lois qui se concentrent sur l’obtention du consentement pour activer les cookies du site Web.

Ces lois ont conduit des sites Web peu scrupuleux à collecter d’autres éléments potentiels d’empreintes digitales tels que la configuration matérielle, le système d’exploitation, les fuseaux horaires, la résolution d’écran, la langue, les polices, etc.

Cette approche contraire à l’éthique est encore limitée car ces éléments changent fréquemment, et même lorsqu’ils sont stables, ils ne peuvent que placer les utilisateurs dans une catégorisation approximative plutôt que de créer une empreinte digitale unique.

Empreinte digitale de GPU identiques

Les chercheurs ont envisagé la possibilité de créer des empreintes digitales distinctives basées sur le GPU (unité de traitement graphique) des systèmes suivis à l’aide de WebGL (Web Graphics Library).

WebGL est une API multiplateforme pour le rendu de graphiques 3D dans le navigateur, et elle est présente sur tous les navigateurs Web modernes.

À l’aide de cette bibliothèque, le système de suivi DrawnApart peut compter le nombre et la vitesse des unités d’exécution dans le GPU, mesurer le temps nécessaire pour effectuer les rendus de sommets, gérer les fonctions de décrochage, etc.

Empreinte digitale du GPU pour un suivi persistant
Empreinte digitale du GPU pour un suivi persistant
Source : Arxiv.org

DrawnApart utilise de courts programmes GLSL exécutés par le GPU cible dans le cadre du vertex shader pour surmonter le défi d’avoir des unités d’exécution aléatoires gérant les calculs. Par conséquent, la répartition de la charge de travail est prévisible et normalisée.

L’équipe a développé à la fois une méthode de mesure à l’écran qui exécute un petit nombre d’opérations intensives en calcul et une méthode hors écran qui soumet le GPU à un test plus long et moins intensif.

Boucle de rendu utilisée pour le test à l'écran
Boucle de rendu utilisée pour le test à l’écran
Source : Arxiv.org

Ce processus génère des traces composées de 176 mesures prises à partir de 16 points qui sont utilisées pour créer une empreinte digitale. Même lors de l’évaluation visuelle des traces brutes individuelles, on peut remarquer des différences et des variations de synchronisation distinctes entre les appareils.

Les traces brutes résultantes de deux GPU identiques
Les traces brutes résultantes de deux GPU identiques
Source : Arxiv.org

Les chercheurs ont également essayé d’échanger d’autres composants matériels sur les machines pour voir si les traces resteraient distinctes et ont découvert que les empreintes digitales dépendaient uniquement du GPU.

Même si un ensemble de circuits intégrés est créé par un processus de fabrication identique, a la même puissance de calcul nominale, le même nombre d’unités de traitement et exactement les mêmes cœurs et architecture, chaque circuit est légèrement différent en raison de la variabilité de fabrication normale.

Ces différences sont indiscernables dans les opérations quotidiennes normales, mais elles peuvent devenir utiles dans le contexte d’un système de suivi sophistiqué comme DrawnApart, qui est spécifiquement conçu pour déclencher des aspects fonctionnels qui les mettent en évidence.

Appareils testés et précision de la classification
Appareils testés et précision de la classification
Source : Arxiv.org

Implications et considérations

Lorsque DrawnApart est utilisé conjointement avec des algorithmes de suivi de pointe, la durée médiane de suivi d’un utilisateur ciblé augmente de 67 %.

Comme illustré dans le diagramme suivant, l’algorithme de suivi autonome peut atteindre un temps de suivi moyen de 17,5 jours, mais avec l’aide de l’empreinte GPU, ce délai est étendu à 28 jours.

Diagramme de durée de suivi
Diagramme de durée de suivi
Source : Arxiv.org

Cette évaluation était basée sur les conditions de test selon lesquelles la plage de température de fonctionnement du GPU est comprise entre 26,4 °C et 37 °C, sans variations de tension.

En dehors de ces conditions, les variations de charge de travail, les charges utiles GPU d’autres onglets de navigateur Web, les redémarrages du système et d’autres modifications d’exécution n’affectent pas DrawnApart.

Les API GPU de nouvelle génération actuellement en développement, notamment WebGPU, comportent des shaders de calcul qui viennent s’ajouter au pipeline graphique existant.

En tant que tel, l’API à venir pourrait introduire encore plus de moyens d’identifier les utilisateurs d’Internet, et très probablement plus rapide et beaucoup plus précis aussi.

Lorsque les chercheurs ont testé les shaders de calcul dans le WebGL 2.0, désormais abandonné, ils ont constaté que DrawnApart offrait une précision de classification de 98 % en seulement 150 millisecondes, bien plus rapidement que les 8 secondes utilisées pour collecter les données d’empreintes digitales via l’API WebGL.

« Nous pensons qu’une méthode similaire peut également être trouvée pour l’API WebGPU une fois qu’elle sera généralement disponible. Les effets des API de calcul accéléré sur la confidentialité des utilisateurs doivent être pris en compte avant qu’ils ne soient activés à l’échelle mondiale », conclut le document de recherche.

Les contre-mesures potentielles à cette méthode d’empreinte digitale incluent les changements de valeur d’attribut, la prévention d’exécution parallèle, le blocage de script, le blocage d’API et la prévention de la mesure du temps.

Le développeur de l’API WebGL, le groupe Khronos, a reçu la divulgation des chercheurs sur ce qui précède et a formé un groupe d’étude technique pour discuter des solutions potentielles avec les fournisseurs de navigateurs et d’autres parties prenantes.