Crédit :CC0 Domaine public
Informaticiens de l'Université de Californie, Riverside a révélé pour la première fois avec quelle facilité les attaquants peuvent utiliser l'unité de traitement graphique d'un ordinateur, ou GPU, espionner l'activité web, voler des mots de passe, et percer dans les applications basées sur le cloud.
Marlan et Rosemary Bourns, doctorante en informatique au College of Engineering Hoda Naghibijouybari et post-doctorante Ajaya Neupane, avec le professeur agrégé Zhiyun Qian et le professeur Nael Abu-Ghazaleh, rétroconçu un GPU Nvidia pour démontrer trois attaques sur les piles graphiques et informatiques, ainsi qu'à travers eux. Le groupe pense qu'il s'agit des premières attaques générales de canaux secondaires signalées contre les GPU.
Les trois attaques nécessitent que la victime acquière d'abord un programme malveillant intégré dans une application téléchargée. Le programme est conçu pour espionner l'ordinateur de la victime.
Les navigateurs Web utilisent des GPU pour afficher les graphiques sur les ordinateurs de bureau, ordinateurs portables, et les téléphones intelligents. Les GPU sont également utilisés pour accélérer les applications sur le cloud et les centres de données. Les graphiques Web peuvent exposer les informations et l'activité des utilisateurs. Les charges de travail de calcul améliorées par le GPU incluent des applications avec des données ou des algorithmes sensibles qui pourraient être exposés par les nouvelles attaques.
Les GPU sont généralement programmés à l'aide d'interfaces de programmation d'applications, ou API, comme OpenGL. OpenGL est accessible par n'importe quelle application sur un bureau avec des privilèges de niveau utilisateur, rendre toutes les attaques pratiques sur un ordinateur de bureau. Étant donné que les ordinateurs de bureau ou portables sont livrés par défaut avec les bibliothèques graphiques et les pilotes installés, l'attaque peut être facilement mise en œuvre à l'aide d'API graphiques.
La première attaque suit l'activité des utilisateurs sur le Web. Lorsque la victime ouvre l'application malveillante, il utilise OpenGL pour créer un espion afin de déduire le comportement du navigateur lorsqu'il utilise le GPU. Chaque site Web a une trace unique en termes d'utilisation de la mémoire GPU en raison du nombre différent d'objets et des différentes tailles d'objets rendus. Ce signal est cohérent lors du chargement du même site Web plusieurs fois et n'est pas affecté par la mise en cache.
Les chercheurs ont surveillé soit les allocations de mémoire GPU au fil du temps, soit les compteurs de performances GPU et ont transmis ces fonctionnalités à un classificateur basé sur l'apprentissage automatique, réaliser des empreintes digitales de site Web avec une grande précision. L'espion peut obtenir de manière fiable tous les événements d'allocation pour voir ce que l'utilisateur a fait sur le Web.
Lors de la deuxième attaque, les auteurs ont extrait les mots de passe des utilisateurs. Chaque fois que l'utilisateur tape un caractère, toute la zone de texte du mot de passe est téléchargée sur le GPU en tant que texture à restituer. La surveillance de l'intervalle de temps des événements d'allocation de mémoire consécutifs a divulgué le nombre de caractères de mot de passe et la synchronisation entre les frappes, techniques bien établies pour apprendre les mots de passe.
La troisième attaque cible une application de calcul dans le cloud. L'attaquant lance une charge de travail de calcul malveillante sur le GPU qui fonctionne avec l'application de la victime. En fonction des paramètres du réseau de neurones, l'intensité et le modèle de conflit sur la cache, la mémoire et les unités fonctionnelles diffèrent dans le temps, créant des fuites mesurables. L'attaquant utilise une classification basée sur l'apprentissage automatique sur les traces de compteur de performances pour extraire la structure secrète du réseau neuronal de la victime, comme le nombre de neurones dans une couche spécifique d'un réseau neuronal profond.
Les chercheurs ont fait part de leurs découvertes à Nvidia, qui ont répondu qu'ils avaient l'intention de publier un correctif offrant aux administrateurs système la possibilité de désactiver l'accès aux compteurs de performances à partir des processus de niveau utilisateur. Ils ont également partagé une ébauche du document avec les équipes de sécurité d'AMD et d'Intel pour leur permettre d'évaluer leurs GPU par rapport à ces vulnérabilités.
À l'avenir, le groupe prévoit de tester la faisabilité des attaques par canal latéral GPU sur les téléphones Android.
Le papier, "Rendu non sécurisé :les attaques par canal côté GPU sont pratiques, " a été présenté à la conférence ACM SIGSAC sur la sécurité informatique et des communications du 15 au 19 octobre, 2018, à Toronto, Canada.