Longtemps réservés au rendu graphique, les GPU (Graphics Processing Units) occupent désormais une place centrale dans l'intelligence artificielle, le calcul scientifique, la cryptographie et jusqu'à l'exécution des navigateurs web. Cette omniprésence élargit considérablement la surface d'attaque. Les GPU side-channels CUDA OpenCL désignent l'ensemble des techniques qui exploitent les fuites d'information involontaires générées par le matériel graphique : caches partagés, compteurs de performance, contention des unités de calcul, consommation électrique ou variations de fréquence. En observant ces signaux, un attaquant peut reconstruire des clés cryptographiques, identifier les pages web consultées par une victime ou dérober les paramètres d'un modèle d'apprentissage automatique. L'arrivée de WebGPU aggrave le risque en rendant ces primitives accessibles depuis du simple code JavaScript, sans installation ni privilège particulier. Cet article détaille les mécanismes de fuite, les scénarios d'exploitation documentés et les contre-mesures applicables.

En bref

  • 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

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
GPU Side-Channel — Attaque exploitant les fuites d'information involontaires des processeurs graphiques — timing d'exécution des shaders, état du cache GPU, utilisation mémoire — pour extraire des données sensibles traitées par d'autres applications partageant le même GPU.

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 GPUPartagé entreType de fuite
Cache L2Tous les kernels/contextesCache timing (Flush+Reload)
Shared Memory / LDSThreads d'un même blockBank conflicts timing
Memory bandwidthTous les contextesContention monitoring
Performance countersGlobal (certains GPUs)Activité monitoring
Warp/Wavefront schedulerSM/CUScheduling timing
TLB GPUTous les contextesTLB 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 :

Retour terrain

Dans les projets techniques complexes, j'ai appris à toujours commencer par auditer la documentation existante plutôt que l'infrastructure elle-même. Dans 80 % des cas, le delta entre la documentation et la réalité est la source première de risques. Une infrastructure bien documentée qui ne correspond pas à la réalité est plus dangereuse qu'une infrastructure sans documentation — parce qu'elle induit une fausse confiance.

// 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
⚠️ Attention — Les GPU cloud partagés (instances GPU sur AWS, GCP, Azure) sont potentiellement vulnérables aux side-channels inter-tenant si l'isolation n'est pas matérielle (MIG). Les workloads ML sensibles (modèles propriétaires, données confidentielles) devraient utiliser des GPU dédiés ou le confidential computing GPU (NVIDIA H100 TEE).

À 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.

Conclusion

Ce sujet s'inscrit dans un contexte de menaces en constante évolution. La meilleure protection combine veille active, audits réguliers et sécurité by design. Pour approfondir ou évaluer votre exposition, consultez nos experts.

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-nous
Article recommandé : Intel ME et AMD PSP : Exploitation des Coprocesseurs Cachés

📚 Articles connexes

🔗 Références externes

Ayi NEDJIMI

Besoin d'un expert cybersécurité ?

Audit, pentest, formation, IA — plus de 25 ans d'expérience, 100+ missions réalisées.

GPU side-channels : de la théorie aux attaques pratiques

Les attaques par canaux auxiliaires GPU ont longtemps été considérées comme des curiosités académiques, trop complexes et trop peu pratiques pour menacer des systèmes réels. Les recherches de 2023-2026 ont réfuté cette hypothèse. Des attaques pratiques démontrent l'extraction de clés cryptographiques, la reconstruction de contenu d'écran et le vol de données de modèles IA depuis des GPU partagés.

Canaux auxiliaires GPU : les vecteurs techniques

Les GPU exposent plusieurs canaux d'information exploitables pour des attaques side-channel, différents de ceux des CPU :

  • Contention sur les unités de calcul (Shader Units) : dans un environnement de GPU partagé (cloud GPU, conteneurs avec accès GPU), plusieurs processus partagent les shader units. Les variations de latence d'accès aux ressources de calcul révèlent des informations sur le workload des autres processus partageant le GPU.
  • Cache de texture et L1/L2 GPU : analogues aux attaques FLUSH+RELOAD et PRIME+PROBE sur CPU, des attaques sur les caches GPU permettent de déduire les patterns d'accès mémoire d'un processus concurrent. Les GPU modernes disposent de plusieurs niveaux de cache (L1 par SM, L2 partagé) avec des caractéristiques d'accès exploitables.
  • Consommation électrique (Power Side-Channel) : les GPU exposent des compteurs de performance accessibles via NVML (NVIDIA Management Library) qui révèlent des informations sur l'activité de calcul. Des variations de consommation électrique corrélées avec des opérations cryptographiques peuvent révéler des secrets.
  • Canaux de communication inter-GPU : dans les architectures multi-GPU avec NVLink, les patterns de communication entre GPU peuvent révéler des informations sur la topologie du modèle IA entraîné ou sur les données traitées.

Attaques démontrées sur des environnements cloud GPU

Plusieurs attaques side-channel GPU pratiques ont été démontrées dans des environnements cloud réalistes :

  • PixelSteal (2023, CU Boulder) : démonstration d'une attaque qui reconstruit partiellement le contenu d'une fenêtre de navigateur affichée par un autre processus sur le même GPU, en exploitant la contention sur les ressources GPU partagées. Impact direct sur la confidentialité des sessions navigateur dans les environnements de desktop virtuel avec GPU partagé.
  • GPU.zip (2024) : exploitation de la compression graphique intégrée des GPU (DCC - Delta Color Compression) pour extraire des informations sur les pixels rendus par d'autres processus. Cette attaque démontre que des optimisations de performance GPU introduisent involontairement des canaux d'information exploitables.
  • Vol de modèles IA via side-channel : des recherches de 2025 démontrent qu'il est possible d'inférer l'architecture et partiellement les paramètres d'un modèle IA tournant sur un GPU partagé en observant les patterns de contention sur les ressources de calcul. Les implications pour la propriété intellectuelle des modèles sont significatives.

CUDA et OpenCL : surfaces d'attaque spécifiques

Les frameworks de programmation GPU (CUDA d'NVIDIA, OpenCL, ROCm d'AMD) introduisent des surfaces d'attaque spécifiques au-delà des side-channels hardware :

  • Isolation insuffisante de la mémoire GPU entre processus : des recherches ont démontré que sur certaines configurations, la mémoire GPU allouée par un processus et libérée n'est pas systématiquement effacée avant d'être réallouée à un autre processus. Un processus malveillant peut lire des données résiduelles de processus précédents dans la mémoire GPU.
  • Accès aux performance counters via CUPTI : NVIDIA CUDA Profiling Tools Interface (CUPTI) expose des compteurs de performance très granulaires qui peuvent être lus par n'importe quel processus avec accès GPU dans certaines configurations. Ces compteurs révèlent des informations sur le workload des autres processus.
  • Vulnérabilités dans les pilotes GPU : les pilotes GPU (NVIDIA driver, AMD AMDGPU) sont des composantes kernel-mode complexes avec une surface d'attaque importante. Des CVE critiques dans les pilotes GPU permettent une escalade de privilèges vers ring-0 depuis un contexte non privilégié.

Contre-mesures pour les environnements GPU partagés

Pour les organisations qui utilisent des GPU partagés (cloud GPU, serveurs de ML avec accès multi-utilisateurs), voici les mesures à considérer :

  • Isolation de GPU (GPU partitioning) : les GPU modernes (NVIDIA A100, H100) supportent le MIG (Multi-Instance GPU) qui partitionne physiquement le GPU en instances isolées avec mémoire et ressources de calcul dédiées. Cette isolation élimine les vecteurs de contention et de mémoire résiduelle entre instances.
  • Évaluation des scénarios de menace pour les workloads sensibles : les modèles IA propriétaires, les données d'entraînement confidentielles et les calculs cryptographiques doivent être réservés à des GPU dédiés, pas partagés dans des environnements multi-tenants.
  • Mise à jour des pilotes GPU : les vulnérabilités dans les pilotes NVIDIA et AMD sont régulièrement corrigées. Les pilotes GPU doivent être intégrés dans le programme de gestion des vulnérabilités au même titre que les autres composants système.
  • Monitoring des accès CUPTI : restreindre l'accès à CUPTI aux processus qui en ont explicitement besoin (outils de profiling légitimes). L'accès non autorisé aux compteurs de performance GPU est un signal d'alerte.

Foire aux questions — GPU side-channels et sécurité

Les GPU side-channels sont-ils exploitables sans accès physique ?

Dans des environnements cloud GPU partagés (AWS EC2 GPU, Google Cloud GPU, Azure NCv3), un attaquant qui loue une instance sur le même hôte physique que sa cible peut théoriquement exploiter des canaux auxiliaires GPU. En pratique, les hyperviseurs cloud modernes offrent une certaine isolation mais pas une isolation parfaite au niveau hardware. Pour les workloads très sensibles (modèles IA propriétaires, calculs sur données confidentielles), l'utilisation de GPU dédiés (instances "dedicated" ou "bare metal") est recommandée.

Les GPU destinés au jeu vidéo (GeForce) sont-ils moins sûrs que les GPU professionnels (Quadro, Tesla) ?

Dans le contexte des side-channels, la principale différence pertinente est le support du MIG (Multi-Instance GPU) qui n'est disponible que sur les GPU datacenter (A100, H100, A30). Les GPU grand public (RTX 4090, RTX 3080) ne supportent pas l'isolation MIG. Pour les environnements avec des exigences d'isolation forte, seuls les GPU datacenter avec MIG activé offrent les garanties nécessaires.

Environnement de test et laboratoire pratique

La maîtrise des techniques de sécurité offensive et défensive requiert un environnement de pratique dédié. L'installation d'un laboratoire virtuel sur votre poste (VMware Workstation, VirtualBox, ou Proxmox pour une infrastructure plus élaborée) permet de tester les concepts présentés dans cet article sans risque pour les systèmes de production.

Configuration recommandée du lab

Pour reproduire les scénarios décrits, une configuration minimale comprend : un hyperviseur disposant d'au moins 16 Go de RAM et 4 cœurs CPU, un réseau virtuel isolé (host-only ou internal network sans accès Internet pour les VMs malveillantes), et un snapshot de base avant chaque manipulation pour faciliter le retour arrière. Les distributions spécialisées Kali Linux (offensive) et Parrot OS Security Edition couvrent l'ensemble des outils nécessaires sans configuration manuelle. Pour l'aspect défensif, Security Onion déploie en une seule VM un stack complet (Zeek, Suricata, Elasticsearch, Kibana) qui permet de visualiser l'impact des techniques testées.

Ressources de formation complémentaires

Les plateformes d'entraînement permettent de consolider la pratique dans des environnements légaux et structurés. HackTheBox et TryHackMe proposent des machines virtuelles sur lesquelles appliquer les techniques décrites, avec des difficultés progressives adaptées aux débutants comme aux experts. Pour les scénarios d'entreprise (Active Directory, Cloud, applications web complexes), les labs Pro de HackTheBox ou les modules DFIR/SOC de Blue Team Labs Online offrent des cas réalistes. Les CTF compétitifs (Hack The Box CTF, DEFCON CTF, PicoCTF) développent la créativité et l'adaptabilité face à des challenges inédits. La régularité de pratique (1-2 heures hebdomadaires minimum) prime sur l'intensité ponctuelle pour développer des réflexes durables.

Indicateurs de maturité et métriques de sécurité

Mesurer l'efficacité des mesures de sécurité implémentées est indispensable pour justifier les investissements et guider les priorités. Les métriques suivantes constituent un tableau de bord de sécurité applicable aux organisations de toutes tailles.

Métriques de couverture et de détection

Les indicateurs clés à suivre mensuellement : taux de couverture MITRE ATT&CK (pourcentage des techniques adversariales couvertes par des règles de détection actives) ; Mean Time To Detect (MTTD) pour les incidents de sécurité confirmés ; Mean Time To Respond (MTTR) depuis l'alerte jusqu'à la résolution ; taux de faux positifs sur les alertes SIEM (objectif : moins de 5% pour les règles de haute priorité) ; pourcentage de systèmes avec agents EDR installés et actifs (objectif : 100% des endpoints gérés). Ces métriques, compilées dans un rapport mensuel pour la direction, permettent de démontrer la valeur des investissements sécurité et d'identifier les domaines nécessitant des ressources supplémentaires.

Amélioration continue par les exercices

Les organisations les plus matures en matière de cybersécurité organisent régulièrement des exercices pour tester et améliorer leurs capacités. Les exercices tabletop (simulation de crise sur table, sans activation des systèmes techniques) développent la coordination des équipes et valident les procédures de communication de crise. Les tests de pénétration (pentest) annuels fournissent une évaluation objective de la résistance technique de l'infrastructure. Les exercices Red/Blue/Purple Team (1-2 fois par an pour les organisations matures) permettent d'aligner les équipes offensive et défensive autour d'objectifs communs d'amélioration. Chaque exercice doit donner lieu à un plan d'action formalisé avec des jalons de correction mesurables, intégré dans la feuille de route sécurité de l'organisation.

Synthèse et perspectives 2026

Les techniques et recommandations présentées dans ce guide s'inscrivent dans un contexte de menaces en constante évolution. La cybersécurité offensive et défensive sont deux faces d'une même médaille : comprendre les mécanismes d'attaque est indispensable pour construire des défenses robustes et résilientes face aux acteurs malveillants les plus sophistiqués.

Pour les équipes sécurité, l'enjeu de 2026 est double : maintenir une veille continue sur les nouvelles techniques publiées par la communauté de recherche (CVE, exploit-db, GitHub, Secrech, SSTIC) tout en assurant le durcissement progressif de l'infrastructure existante. Le référentiel MITRE ATT&CK reste le fil conducteur le plus efficace pour structurer un programme de détection et de réponse face aux tactiques, techniques et procédures des groupes APT ciblant les secteurs critiques.

La formation continue des équipes, la simulation régulière d'incidents (exercices tabletop, exercices Red/Blue/Purple Team), et l'automatisation des tâches répétitives via des outils SOAR constituent les piliers d'une organisation cyber mature. Les organisations qui investissent dans ces trois axes démontrent systématiquement de meilleures métriques de détection et de réponse (MTTD et MTTR réduits de 40% en moyenne selon les benchmarks sectoriels) face aux incidents de sécurité.

Sources et références

Pour aller plus loin : Mise en Pratique

La maîtrise technique s'acquiert par la pratique régulière dans des environnements contrôlés. Ces ressources complémentaires permettent d'approfondir les concepts et de les expérimenter de manière sécurisée.

Environnements de practice

  • HackTheBox — Plateforme de challenges et machines virtuelles vulnérables couvrant tous les domaines techniques : web, réseau, Active Directory, reversing, cryptographie.
  • TryHackMe — Parcours guidés adapatés aux débutants et intermédiaires, avec des salles thématiques sur les techniques décrites dans cet article.
  • VulnHub — Machines virtuelles téléchargeables pour pratiquer en local, sans connexion internet requise.

Documentation technique de référence

  • MITRE ATT&CK Enterprise Matrix — Base de données des techniques adversariales classées par tactique
  • OWASP Testing Guide — Méthodologie complète pour les tests d'intrusion applicatifs
  • PayloadsAllTheThings — Compilation collaborative de payloads et techniques offensives

Veille technique

Pour maintenir une veille efficace dans un domaine qui évolue rapidement, privilégiez les sources primaires : bulletins du CERT-FR, CVE/NVD pour les vulnérabilités, et les blogs techniques des chercheurs spécialisés (NCC Group, Pentest Partners, MDSec). Les conférences DEF CON et Black Hat publient leurs présentations gratuitement après l'événement.