GPUHammer — une variante de l'attaque Rowhammer sur la mémoire GPU.

Des chercheurs de l'Université de Toronto ont présenté la première attaque de type Rowhammer, utilisée pour altérer le contenu de la mémoire vidéo. La possibilité de mener une attaque entraînant le remplacement de jusqu'à 8 bits de données a été démontrée sur le GPU discret NVIDIA A6000 avec mémoire vidéo GDDR6. Comme exemple pratique, il a été montré comment une telle altération peut interférer avec l'exécution des modèles d'apprentissage automatique et entraîner une réduction significative (de 80 % à 0,1 %) de la précision des résultats qu'ils produisent en modifiant la valeur d'un seul bit.

GPUHammer - une variante de l'attaque Rowhammer sur la mémoire GPU.

Jusqu'à présent, la création d'attaques de type Rowhammer pour la mémoire vidéo était compliquée en raison de la difficulté à déterminer la disposition physique de la mémoire dans les puces GDDR, des temps d'accès à la mémoire beaucoup plus longs (4 fois plus lents) et d'une fréquence de rafraîchissement plus élevée. De plus, la recherche a été entravée par l'utilisation, dans les puces GDDR, de mécanismes de protection propriétaires contre les manipulations entraînant une perte de charge prématurée, pour l'analyse desquels il était nécessaire de créer des bancs d'essai matériels spécifiques basés sur FPGA.

Pour étudier la mémoire vidéo, les chercheurs ont développé une nouvelle technique de reverse engineering de la DRAM GDDR, et l'attaque elle-même utilise des optimisations d'accès mémoire appliquées aux calculs parallèles, qui ont été utilisées comme amplificateurs d'intensité d'accès à des cellules individuelles. Un code CUDA de bas niveau a été utilisé pour mener l'attaque sur le GPU NVIDIA.

Dans le code utilisateur CUDA, il n'y a pas d'accès aux adresses mémoire physiques, mais dans le pilote NVIDIA, la mémoire virtuelle était reflétée dans la même mémoire physique, ce dont les chercheurs ont profité pour calculer le décalage de mémoire virtuelle et déterminer la disposition des banques de mémoire. La reconnaissance des accès à différentes banques de mémoire a été effectuée par l'analyse des délais, qui différaient lors de l'accès à une seule ou à plusieurs banques de mémoire.

Dans les systèmes partageant un GPU, comme serveurs Pour l'exécution de modèles d'apprentissage automatique, l'attaque permet à un utilisateur de modifier le contenu de la mémoire vidéo contenant des données d'un autre utilisateur. En guise de mesure de protection, NVIDIA recommande d'activer les codes de correction d'erreurs (ECC, Error Correction Codes) avec la commande « nvidia-smi -e 1 » ou d'utiliser des séries de cartes graphiques prenant en charge l'OD-ECC (On-Die ECC), telles que GeForce RTX 50, RTX PRO, GB200, B200, B100, H100, H200, H20 et GH200.

Selon des chercheurs, l'activation de l'ECC sur des systèmes dotés de GPU A6000 entraîne une réduction de la performance d'exécution des modèles d'apprentissage automatique d'environ 10 % et une diminution de la mémoire de 6,25 %. Les outils pour exécuter l'attaque et réaliser un reverse engineering de la disposition basse niveau de la mémoire vidéo sur des systèmes avec GPU NVIDIA ont été publiés sur GitHub.

L'attaque RowHammer permet de distordre le contenu de bits individuels de la mémoire DRAM par la lecture cyclique de données à partir de cellules de mémoire adjacentes. Étant donné que la mémoire DRAM se présente sous la forme d'un tableau bidimensionnel de cellules, chacune composée d'un condensateur et d'un transistor, le fait d'effectuer des lectures continues d'une même zone de mémoire entraîne des fluctuations de tension et des anomalies, provoquant une légère perte de charge des cellules voisines. Si l'intensité de lecture est élevée, la cellule adjacente peut perdre une quantité suffisamment importante de charge et le cycle de régénération suivant ne parviendra pas à restaurer son état d'origine, ce qui entraînera un changement de la valeur des données enregistrées dans la cellule.

La méthode d'attaque Rowhammer a été proposée en 2014, après quoi un jeu du « chat et de la souris » a commencé entre les chercheurs en sécurité et les fabricants de matériel — les fabricants de puces mémoire ont tenté de bloquer la vulnérabilité tandis que les chercheurs trouvaient de nouvelles façons de la contourner. Par exemple, pour se protéger contre RowHammer, les fabricants de puces ont ajouté le mécanisme TRR (Target Row Refresh), mais il s'est avéré qu'il bloque la détérioration des cellules uniquement dans des cas particuliers et ne protège pas contre toutes les variantes possibles d'attaque. Des méthodes d'attaque ont été développées pour les puces DDR3, DDR4 et DDR5 sur des systèmes avec des processeurs Intel, AMD et ARM. Des moyens de contourner la correction d'erreurs ECC ont également été découverts, et des options pour exécuter l'attaque sur un réseau et via l'exécution de code JavaScript dans un navigateur ont été proposées.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster