Les GPU (Graphics Processing Units) sont devenus des composants critiques au-delà du rendu graphique : intelligence artificielle, calcul scientifique, cryptographie, et même l'exécution de navigateurs web. Cette omniprésence crée de nouvelles surfaces d'attaque : les attaques par canaux auxiliaires GPU exploitent les fuites d'information à travers les caches GPU, les compteurs de performance, la consommation mémoire et les temps d'exécution des kernels CUDA et OpenCL. Les chercheurs ont démontré l'extraction de clés cryptographiques, le keystroke timing via le rendu GPU, et l'espionnage de modèles de machine learning via les side-channels GPU. Ce guide technique couvre l'architecture des GPU du point de vue sécurité, les vecteurs d'attaque spécifiques aux GPU NVIDIA et AMD, les techniques d'exploitation pratiques et les contre-mesures disponibles.
En bref
- Architecture GPU : caches L1/L2, shared memory, warp scheduling et vecteurs de fuite
- Attaques timing : keystroke timing via GPU rendering, website fingerprinting
- Attaques cache GPU : Flush+Reload adapté au cache L2 GPU, covert channels
- Espionnage de modèles ML : extraction d'architecture et de paramètres via le timing GPU
- Side-channels WebGL/WebGPU : attaques depuis le navigateur sans privilèges
Architecture GPU : Perspective Sécurité
Les GPU modernes (NVIDIA, AMD, Intel) ont une architecture massivement parallèle avec des milliers de cœurs. Du point de vue sécurité, les composants partagés entre les applications créent des canaux de fuite :
| Composant GPU | Partagé entre | Type de fuite |
|---|---|---|
| Cache L2 | Tous les kernels/contextes | Cache timing (Flush+Reload) |
| Shared Memory / LDS | Threads d'un même block | Bank conflicts timing |
| Memory bandwidth | Tous les contextes | Contention monitoring |
| Performance counters | Global (certains GPUs) | Activité monitoring |
| Warp/Wavefront scheduler | SM/CU | Scheduling timing |
| TLB GPU | Tous les contextes | TLB timing side-channel |
Attaques Cache sur GPU NVIDIA
Les GPU NVIDIA utilisent un cache L2 partagé entre tous les contextes CUDA. Les chercheurs ont adapté les techniques de Prime+Probe et Flush+Reload au cache L2 GPU pour créer des canaux de communication cachés (covert channels) et extraire des informations sur les calculs d'autres processus :
// Prime+Probe sur cache L2 GPU (CUDA)
// Étape 1: PRIME — remplir le cache L2 avec nos données
__global__ void prime_cache(int *probe_array, int stride, int sets) {
for (int s = 0; s < sets; s++) {
// Accéder à chaque set du cache L2
volatile int val = probe_array[s * stride];
}
}
// Étape 2: PROBE — mesurer les temps d'accès après que la victime a exécuté
__global__ void probe_cache(int *probe_array, int stride, int sets,
clock_t *timings) {
for (int s = 0; s < sets; s++) {
clock_t start = clock();
volatile int val = probe_array[s * stride];
clock_t end = clock();
timings[s] = end - start;
// Si timing élevé → la victime a évicté notre ligne de cache
// → la victime a accédé à un set correspondant
}
}
Keystroke Timing via GPU Rendering
Une attaque élégante exploite le fait que chaque frappe clavier déclenche un cycle de rendu GPU (mise à jour de l'écran). En surveillant l'activité GPU depuis un processus non privilégié (via les compteurs de performance ou la contention mémoire), un attaquant peut détecter le timing des frappes clavier avec une précision de quelques millisecondes — suffisant pour réduire l'espace de recherche des mots de passe et identifier les mots tapés.
Espionnage de Modèles de Machine Learning
Les modèles de ML s'exécutent principalement sur GPU. Les side-channels GPU permettent d'extraire des informations sur les modèles propriétaires (architecture, nombre de couches, taille) sans accès direct :
- Timing d'inférence : le temps d'exécution d'un kernel CUDA révèle le nombre d'opérations et la taille des matrices — permettant de déduire l'architecture du réseau de neurones
- Memory footprint : la consommation mémoire GPU pendant l'inférence indique le nombre de paramètres et la taille des activations
- Electromagnetic emanations : les émissions EM du GPU varient selon les opérations effectuées — des chercheurs ont reconstruit les poids d'un réseau de neurones à partir des mesures EM
- Cache contention : les patterns d'accès au cache L2 GPU pendant l'inférence révèlent les structures de données et les patterns d'accès mémoire du modèle
Attaques via WebGL et WebGPU
Les API web WebGL et WebGPU donnent aux pages web un accès au GPU — créant des vecteurs d'attaque side-channel depuis le navigateur sans aucun privilège :
- GPU-based browser fingerprinting : les variations de rendu GPU entre les modèles de GPU créent une empreinte unique, identifiable via WebGL. DrawnApart (2022) obtient une précision de 98% pour le tracking entre sessions.
- WebGL timing attacks : mesurer le temps de rendu de shaders spécifiques pour détecter l'activité d'autres onglets (site visité, vidéo en cours, etc.)
- GPU.zip (2023) : compression de données dépendante du contenu dans les GPU modernes, exploitable via iframes cross-origin en CSS pour lire des pixels d'autres origines — contournement de la same-origin policy.
Mitigations et Isolation GPU
- MIG (Multi-Instance GPU) : NVIDIA A100/H100 permettent le partitionnement matériel du GPU en instances isolées avec des caches et mémoire séparés
- NVIDIA Confidential Computing : chiffrement de la mémoire GPU (H100 TEE) pour protéger les données des modèles ML
- GPU virtualization (SR-IOV) : isolation via les fonctions virtuelles PCIe — chaque VM a un accès GPU isolé
- WebGPU security model : validation des shaders, limites de timing, et isolation des contextes entre onglets
À retenir
- Le cache L2 GPU partagé entre contextes permet des attaques Prime+Probe adaptées au GPU
- Le keystroke timing via monitoring GPU détecte les frappes clavier avec une précision millisecondes
- Les modèles ML sont vulnérables à l'extraction d'architecture via le timing et la mémoire GPU
- WebGL/WebGPU permettent des side-channels GPU depuis le navigateur sans aucun privilège
- GPU.zip (2023) contourne la same-origin policy via la compression GPU hardware
- MIG et le confidential computing GPU (H100 TEE) sont les principales mitigations d'isolation
FAQ — Questions Fréquentes
Les side-channels GPU sont-ils exploitables à distance ?
Oui, les attaques via WebGL/WebGPU sont exploitables à distance depuis une page web — aucun accès physique ni privilège nécessaire. Les attaques GPU.zip et le browser fingerprinting via WebGL fonctionnent depuis n'importe quel navigateur supportant WebGL. En environnement cloud, les side-channels GPU affectent les co-tenants partageant le même GPU physique.
Comment protéger mes modèles ML sur GPU partagé ?
Utilisez des GPU dédiés (pas de time-sharing), activez MIG sur les GPU NVIDIA supportés (A100, H100), ou utilisez le confidential computing GPU (H100 TEE) qui chiffre la mémoire GPU. Ajoutez du bruit aux timings d'inférence et randomisez les patterns d'accès mémoire pour réduire les fuites side-channel.
Les GPU AMD sont-ils aussi vulnérables ?
Oui, les GPU AMD partagent les mêmes principes architecturaux (caches partagés, shared memory) et sont vulnérables aux mêmes classes d'attaques. Les recherches se concentrent sur NVIDIA (part de marché dominante en ML/cloud), mais les techniques sont transposables à AMD et Intel. AMD n'a pas encore d'équivalent au MIG pour l'isolation matérielle.
Besoin d'un accompagnement expert ?
Nos consultants spécialisés en sécurité matérielle et IA vous accompagnent dans l'évaluation de votre posture de sécurité.
Contactez-nousTélécharger cet article en PDF
Format A4 optimisé pour l'impression et la lecture hors ligne
À propos de l'auteur
Ayi NEDJIMI
Expert Cybersécurité Offensive & Intelligence Artificielle
Ayi NEDJIMI est consultant senior en cybersécurité offensive et intelligence artificielle, avec plus de 20 ans d'expérience sur des missions à haute criticité. Il dirige Ayi NEDJIMI Consultants, cabinet spécialisé dans le pentest d'infrastructures complexes, l'audit de sécurité et le développement de solutions IA sur mesure.
Ses interventions couvrent l'audit Active Directory et la compromission de domaines, le pentest cloud (AWS, Azure, GCP), la rétro-ingénierie de malwares, le forensics numérique et l'intégration d'IA générative (RAG, agents LLM, fine-tuning). Il accompagne des organisations de toutes tailles — des PME aux grands groupes du CAC 40 — dans leur stratégie de sécurisation.
Contributeur actif à la communauté cybersécurité, il publie régulièrement des analyses techniques, des guides méthodologiques et des outils open source. Ses travaux font référence dans les domaines du pentest AD, de la conformité (NIS2, DORA, RGPD) et de la sécurité des systèmes industriels (OT/ICS).
Ressources & Outils de l'auteur
Articles connexes
Commentaires
Aucun commentaire pour le moment. Soyez le premier à commenter !
Laisser un commentaire