Nvidia a prévenu les développeurs d'applications, fabricants d'ordinateurs et responsables informatiques après la découverte par des chercheurs universitaires canadiens de l'existence d'une vulnérabilité baptisée Rowhammer affectant potentiellement nombre de ses GPU. Ces derniers ont en effet prouvé dans une analyse que la puce GA102 du fournisseur américain - que l'on retrouve notamment dans sa carte graphique RTX A6000 - pouvait être compromis par une attaque de ce type. Il s'agit d'une vulnérabilité de type injection de fautes permettant à un attaquant de déduire des informations sur certains secrets stockés dans des cellules de mémoire et d'en modifier des valeurs. La mémoire vulnérable, indique le fournisseur de puces dans son avertissement, n'a pas de correction d'erreur (ECC) activé au niveau du système. « Pour les environnements entreprise qui nécessitent des niveaux d'assurance et d'intégrité plus élevés, Nvidia recommande d'utiliser des produits professionnels et pour centres de données (plutôt que du matériel graphique grand public) et de s'assurer que l'ECC est activé pour empêcher les attaques de type Rowhammer », indique la société dans un bulletin d'alerte.

Suite à cette découverte, le fournisseur recommande à ses clients de vérifier que la fonction correcteur d'erreur (ECC) est bien activée par défaut dans les architectures et produits suivants :

- Blackwell data center HGX, DGX series (GB200, B200, B100) et workstation RTX Pro ;
- Ada data center L40S, L40, L4 et w
orkstation RTX 6000, 5000, 4500, 4000, 4000 SFF, 2000 ;
- Hopper d
ata center HGX, DGX series (H100, H200, GH200, H20, H800) ;
- Ampere d
ata center A100, A40, A30, A16, A10, A2, A800, et workstation RTX A6000, A5000, A4500, A4000, A2000, A1000, A400 
- Jetson d
ata center A100, A40, A30, A16, A10, A2, A800 et IGX Orin ;
- Turing d
ata center T1000, T600, T400, T4 et workstation RTX 8000, RTX 6000, RTX 5000, RTX 4000 ;
- Volta : d
ata center/HPC Tesla V100 et V100S, et workstation Quadro GV100.

Activer l'ECC pour rendre l'exploit moins pratique

Lors de l'évaluation du risque, il convient de prendre en compte aussi bien l'instance GPU pour un seul hôte que pour plusieurs souligne le groupe, notant qu'un accès simultané au GPU est nécessaire pour exécuter une attaque Rowhammer entre les instances. « Ce n'est pas facilement exploitable et ne le sera probablement que dans le cadre d'attaques ciblées très spécifiques », a déclaré Johannes Ullrich, doyen de la recherche au SANS Institute. « Vous avez donc le temps et vous devriez vous concentrer sur les systèmes partagés qui exécutent des codes fournis par des entités non fiables. Dans la plupart des cas, cela affectera les systèmes cloud, et c'est au fournisseur cloud qu'il appartiendra d'en atténuer les effets. » Rowhammer est une vulnérabilité dans l'architecture de la mémoire DDR (double débit de données) exposant potentiellement de très nombreux systèmes.

Nvidia recommande d'activer la correction d'erreur (ECC), qui détectera et empêchera éventuellement ces modifications non autorisées du contenu de la mémoire. L'ECC n'est pas parfait, a-t-il ajouté, mais s'il est activé, il rendra probablement l'exploit moins pratique. L'attaque nécessite également que l'attaquant exécute un code spécifique, a-t-il souligné. Il s'agit d'une menace plus importante pour les systèmes partagés entre utilisateurs et permettant à différents utilisateurs d'affecter les données des autres que pour les systèmes à utilisateur unique, a-t-il ajouté. L'article des chercheurs indique que certaines abstractions des cartes graphiques rendent un peu plus difficile l'accès à la mémoire pour déclencher l'exploit Rowhammer, a-t-il ajouté. Contrairement à la mémoire DDR connectée aux bus du CPU, les GPU ont un accès plus contrôlé à la mémoire. « Mais en fin de compte, tout ce dont Rowhammer a besoin, c'est d'activer et de désactiver rapidement des bits spécifiques, ce qui est toujours possible pour les GPU. Il faut juste plus de travail pour déterminer quels bits basculer, ce qui est la principale contribution de l'article. »

D'autres GPU vulnérables à la faille Rowhammer ?

Une attaque Rowhammer sur les processeurs Intel et AMD avec des mémoires DDR et LPDDR permet à un attaquant d'induire des changements de bits dans les cellules de mémoire en accédant rapidement aux rangées de mémoire voisines. En théorie, les GPU devraient être plus difficiles à exploiter car ils disposent d'un mappage propriétaire de la mémoire physique avec les banques et les rangées GDDR, d'une latence mémoire élevée, de taux de rafraîchissement plus rapides et d'une mémoire DDR qui empêche les tentatives de saturation (hammering). Les chercheurs en sécurité ont créé une technique appelée GPUhammer en procédant à une rétro-ingénierie des mappages de rangées GDDR DRAM qui utilisent des optimisations d'accès à la mémoire spécifiques aux GPU pour amplifier l'intensité du hammering et contourner les mesures d'atténuation. « Les implications sont très sérieuses », a déclaré Gururaj Saileshwar, membre de la faculté d'informatique de l'université de Toronto et coauteur de l'article de recherche, lors d'une interview. Non seulement les données peuvent être empoisonnées, mais une attaque sur les GPU pourrait interférer avec les modèles de données de l'IA, a-t-il expliqué.

Bien que l'attaque ait été démontrée sur des GPU Nvidia avec de la DRAM GDDR6, elle pourrait fonctionner sur n'importe quel GPU, a-t-il déclaré. M. Saileshwar, qui se concentre sur la recherche de vulnérabilités matérielles, et son équipe travaillaient sur une attaque depuis l'été dernier. Les professionnels de l'informatique sont au courant de la possibilité d'attaques Rowhammer sur les puces depuis 2015. En 2018, les vulnérabilités ont reçu des noms : Spectre et Meltdown. En 2020, les informaticiens ont été avertis qu'ils devaient s'attendre à ce qu'un exploit Rowhammer majeur soit publié dans l'année. Le document a montré que les GPU sont également menacés. Interrogé sur cette recherche, un porte-parole de Nvidia a déclaré : « Nvidia recommande aux utilisateurs de suivre les meilleures pratiques de sécurité en appliquant les mesures d'atténuation DRAM existantes afin d'empêcher ou de réduire la probabilité d'une attaque Rowhammer. »