Aller au contenu

TechniquePratique

Surface d'attaque du HPC IA

Pour : ingénieurs et SRE · architectesPrérequis : Avoir lu le chapitre 3 de la formation.

Trois actifs sont en jeu : les poids du modèle (propriété intellectuelle), les données d’entraînement (souvent confidentielles) et l’infrastructure (partagée entre équipes ou clients). Le GPU exige des accès privilégiés au noyau, ce qui ouvre des surfaces d’attaque absentes d’un centre de données classique.

VecteurScénarioDétection et parade
Chaîne d’approvisionnement (PyPI)un paquet Python embarque un noyau CUDA malveillant qui exfiltre les poids pendant la passe arrièreregistre privé, empreinte de chaque dépendance, installation verrouillée
Empoisonnement des donnéesun fichier est modifié sur Lustre entre la vérification d’intégrité et sa lecture par le DataLoader, pour insérer une porte dérobéeempreinte SHA-256 par fragment, vérifiée au moment de la lecture
Angle mort RDMAlecture de la mémoire d’un pair via RDMA ; ce trafic contourne le noyau, aucun pare-feu, IDS ou iptables ne le voitmétriques d’anomalie InfiniBand, référence comportementale, isolation par partitions (P_Key)
Injection de gradientsen entraînement fédéré, des gradients fabriqués introduisent une porte dérobée dans le modèle finaldistribution des normes de gradients, divergence de Kullback-Leibler, agrégation robuste
Fuite de mémoire GPUla documentation CUDA indique que la mémoire allouée n’est pas initialisée ; hors mode d’informatique confidentielle, rien ne garantit qu’un job ne relise pas des données laissées par le précédent, poids comprisGPU alloués en exclusivité à un job ; effacement explicite de la mémoire ou réinitialisation du GPU (nvidia-smi --gpu-reset, sans processus actif) dans le prolog ou l’epilog ; partitionnement MIG pour les GPU partagés simultanément ; mode d’informatique confidentielle (Hopper et suivants), où la réinitialisation efface la mémoire avant de confier le GPU au client suivant
Évasion de conteneurfailles du NVIDIA Container Toolkit : CVE-2024-0132 (corrigée en 1.16.2), son contournement CVE-2025-23359 (corrigé en 1.17.4), puis CVE-2025-23266, dite NVIDIAScape (CVSS 9.0, corrigée en 1.17.8) et CVE-2026-24260, une situation de compétition entre vérification et utilisation (TOCTOU, CVSS 8.5, publiée le 1er juillet 2026, toolkit jusqu’à 1.19.0 inclus et GPU Operator jusqu’à 26.3.1 inclus, corrigée en 1.19.1 et 26.3.2) ; une image malveillante peut atteindre le nœud hôte et toutes les chargestoolkit en version 1.19.1 au minimum et GPU Operator en version 26.3.2 au minimum, suivi des bulletins de sécurité NVIDIA, règles Falco, politique d’appels système Tetragon

Sources : notes de version du NVIDIA Container Toolkit, NVD, CVE-2025-23266, NVD, CVE-2026-24260, bulletin de sécurité NVIDIA 5850 (juin 2026) et, pour l’effacement de la mémoire en mode confidentiel, ACM Queue, « Creating the First Confidential GPUs » (repris dans Communications of the ACM).

flowchart LR
  W(("Poids du modèle<br/>propriété intellectuelle"))
  A["Chaîne d'appro. PyPI"] --> W
  B["Empoisonnement Lustre"] --> W
  C["Angle mort RDMA"] --> W
  D["Injection de gradients"] --> W
  E["Fuite de mémoire GPU"] --> W
  F["Évasion de conteneur"] --> W

Le RDMA (Remote Direct Memory Access) permet à une carte réseau d’écrire ou de lire directement dans la mémoire d’une autre machine, sans passer par le noyau. C’est ce qui rend InfiniBand si rapide et c’est aussi ce qui le rend invisible aux outils de sécurité classiques, y compris eBPF, qui s’appuient sur les points d’accroche du noyau. La seule visibilité vient des compteurs de la carte et du subnet manager : il faut donc établir une référence de trafic par job et alerter sur les écarts.

OutilCe qu’il fait
Falcodétecte en temps réel les accès fichiers suspects, connexions inattendues, modifications de binaires
Tetragonapplique des politiques d’appels système par processus, bloque les ioctl CUDA et appels réseau non autorisés
Métriques InfiniBandseul signal disponible sur le trafic RDMA
Empreintes de donnéesintégrité des fragments au moment de la lecture

Révisé le 2 octobre 2026 : CVE-2025-23359, CVE-2025-23266 et CVE-2026-24260 ajoutées, version minimale du toolkit relevée à 1.19.1 et du GPU Operator à 26.3.2, parades contre la fuite de mémoire GPU précisées (réinitialisation ou effacement, MIG, informatique confidentielle).