Phoenix : Rowhammer efficace contre la DDR5 | Blog officiel de Kaspersky

En septembre 2025, des chercheurs de l’ETH Zurich (l’École polytechnique fédérale suisse) ont publié un article présentant Phoenix, une variante de l’attaque Rowhammer qui fonctionne sur les modules de mémoire DDR5. Les auteurs ont non seulement démontré l’efficacité de cette nouvelle attaque contre 15 modules testés, mais ont également présenté trois cas d’utilisation pratiques : lecture et écriture de données à partir de la mémoire, vol d’une clé de chiffrement privée stockée dans la mémoire et contournement des protections de l’utilitaire sudo de Linux pour élever les privilèges.

L’attaque Rowhammer : un bref historique

Pour comprendre cette étude assez complexe, nous devons d’abord revenir brièvement sur l’histoire de Rowhammer. L’attaque Rowhammer a été décrite pour la première fois dans un article de recherche publié en 2014. À l’époque, des chercheurs de l’université Carnegie Mellon et d’Intel ont démontré que l’accès répété à des rangées de cellules mémoire pouvait entraîner une modification de la valeur des cellules mémoire adjacentes. Ces cellules voisines pouvaient contenir des données critiques, dont la modification pouvait avoir de graves conséquences (par exemple, l’escalade des privilèges).

Cela s’explique par le fait que chaque cellule d’une puce mémoire est essentiellement un condensateur : un composant simple qui ne peut stocker une charge électrique que pendant un court laps de temps. C’est pourquoi cette mémoire est volatile : éteignez l’ordinateur ou le serveur, et les données disparaissent. Pour la même raison, la charge dans les cellules doit être fréquemment rafraîchie, même si personne n’accède à cette partie de la mémoire.

Les cellules mémoire ne sont pas isolées. Elles sont organisées en lignes et en colonnes, interconnectées de manière à pouvoir causer des interférences. L’accès à une ligne peut avoir une incidence sur une ligne voisine. Par exemple, l’actualisation d’une ligne peut corrompre les données d’une autre ligne. Pendant des années, cet effet n’était connu que des fabricants de mémoires, qui faisaient tout leur possible pour l’atténuer afin d’améliorer la fiabilité. Mais à mesure que les cellules sont devenues plus petites et donc plus compactes, l’effet  » row hammering  » est devenu exploitable dans des attaques réelles.

Après la démonstration de l’attaque Rowhammer, les développeurs de mémoire ont commencé à mettre en place des défenses, ce qui a abouti à la technologie matérielle Target Row Refresh (TRR). En théorie, la technologie TRR est simple : elle surveille les accès agressifs aux lignes et, si elle en détecte, rafraîchit de force les lignes adjacentes. Dans la pratique, ce n’était pas si efficace. En 2021, des chercheurs ont décrit l’attaque Blacksmith, qui contournait le mécanisme TRR en utilisant des modèles d’accès aux cellules mémoire plus sophistiqués.

Les développeurs se sont à nouveau adaptés, en ajoutant des défenses encore plus avancées contre les attaques de type Rowhammer dans les modules DDR5 et en augmentant la fréquence de rafraîchissement imposée. Afin d’empêcher davantage de nouvelles attaques, les fabricants ont évité de divulguer les contre-mesures mises en place. Cela a conduit beaucoup de gens à croire que la technologie DDR5 avait réellement résolu le problème Rowhammer. Cependant, l’année dernière, des chercheurs du même établissement, ETH Zurich, ont réussi à attaquer des modules DDR5, mais dans certaines conditions : la mémoire devait être associée à des processeurs AMD Zen 2 ou Zen 3, et même dans ce cas, certains modules n’étaient pas concernés.

Particularités de la nouvelle attaque

Pour développer l’attaque Phoenix, les chercheurs ont procédé à une ingénierie inverse du mécanisme TRR. Ils ont analysé son comportement selon différents modèles d’accès aux lignes de mémoire et vérifié si la protection se déclenchait pour les lignes adjacentes. Il s’est avéré que le mécanisme TRR est devenu beaucoup plus complexe et que les modèles d’accès connus auparavant ne fonctionnent plus. La protection signale désormais correctement ces modèles comme potentiellement dangereux et actualise de force les lignes adjacentes. Par conséquent, les chercheurs ont découvert qu’après 128 accès à la mémoire contrôlés par la technologie TRR, une  » période intermédiaire  » de 64 accès apparaît, pendant laquelle les défenses sont plus faibles. Non pas que le système de protection échoue complètement, mais ses réponses sont insuffisantes pour empêcher une modification de la valeur dans une cellule mémoire ciblée. La deuxième fenêtre apparaît après avoir accédé aux cellules mémoire au cours de 2 608 intervalles de rafraîchissement.

Les chercheurs ont ensuite étudié ces points vulnérables en détail afin de mener une attaque très ciblée sur les cellules de mémoire tout en neutralisant les défenses. Pour faire simple, voici le fonctionnement de l’attaque : un code malveillant effectue une série d’accès factices qui trompent le mécanisme TRR en lui donnant une fausse impression de sécurité. Ensuite, vient la phase active de l’attaque, qui finit par modifier la valeur de la cellule cible. L’équipe a ainsi confirmé que l’attaque fonctionnait de manière fiable sur les 15 modules DDR5 testés, fabriqués par SK Hynix, l’un des leaders du marché.

Trois scénarios d’attaque réels

Une attaque réaliste doit modifier une valeur dans une partie de la mémoire bien définie, ce qui est compliqué. Tout d’abord, un pirate informatique doit disposer de connaissances approfondies sur le logiciel ciblé. Il doit contourner plusieurs contrôles de sécurité conventionnels, et un écart d’un ou deux bits seulement peut entraîner un crash du système plutôt qu’un piratage réussi.

Les chercheurs suisses ont entrepris de prouver que l’attaque Phoenix pouvait être utilisée pour causer des dommages dans le monde réel. Ils ont étudié trois scénarios d’attaque. Le premier (PTE) consistait à accéder à la table des pages afin de créer les conditions permettant la lecture/écriture arbitraire des données RAM. Le deuxième (RSA) visait à voler une clé de chiffrement privée RSA-2048 dans la mémoire. Le troisième (sudo) consistait à contourner les protections de l’utilitaire sudo standard de Linux dans le but d’obtenir une élévation de privilèges. Les résultats finaux de l’étude sont présentés dans ce tableau :

Efficacité de l'attaque Phoenix.

Efficacité de l’attaque Phoenix. Source

Pour certains modules, la première variante d’attaque (128 intervalles de rafraîchissement) s’est avérée efficace, tandis que pour d’autres, seule la deuxième méthode (2 608 intervalles) a fonctionné. Dans certaines expériences, le vol de clé RSA et les exploits sudo n’ont pas abouti. Cependant, une méthode permettant la lecture/écriture arbitraire de la mémoire a été découverte pour tous les modules, et le temps d’exploitation était relativement court pour ce type d’attaques, allant d’environ cinq secondes à sept minutes. Cela suffit à démontrer que les attaques Rowhammer constituent un risque réel, même si elles ne se produisent que dans certains scénarios très précis.

Pertinence et contre-mesures

L’attaque Phoenix montre que les attaques de type Rowhammer sont aussi efficaces contre les modules DDR5 que contre les modules DDR4 et DDR3. Bien que le test ait porté uniquement sur les modules d’un seul fournisseur et que les chercheurs aient découvert une faille relativement simple dans l’algorithme TRR de celui-ci (la faille en question devrait pouvoir être facilement corrigée), il s’agit d’une avancée considérable dans la recherche sur la sécurité des modules de mémoire.

Les auteurs ont proposé plusieurs contre-mesures pour lutter contre les attaques de type Rowhammer. Tout d’abord, réduire l’intervalle de rafraîchissement imposé à toutes les cellules peut considérablement entraver l’attaque. Certes, cette solution peut augmenter la consommation électrique et la température de la puce, mais elle est simple à mettre en œuvre. Deuxièmement, il est possible d’utiliser une mémoire avec un code de correction d’erreurs (ECC). Ce système complique les attaques Rowhammer, même si, paradoxalement, il ne les rend pas totalement impossibles.

Au-delà de ces mesures évidentes, les auteurs en mentionnent deux autres. La première est la méthode de protection Fine Granularity Refresh, qui est déjà en cours de déploiement. Intégrée au contrôleur mémoire du processeur, elle modifie le comportement de rafraîchissement des cellules mémoire afin de résister aux attaques Rowhammer. En ce qui concerne la seconde, les chercheurs appellent les développeurs de modules de mémoire et de puces à cesser de s’appuyer sur des mesures de sécurité propriétaires (« sécurité par l’obscurité »). Ils recommandent plutôt d’adopter une approche courante en cryptographie, où les algorithmes de sécurité sont publiquement disponibles et soumis à des tests indépendants.

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.