Si vous disposez d'ouvrages ou d'articles de référence ou si vous connaissez des sites web de qualité traitant du thème abordé ici, merci de compléter l'article en donnant les références utiles à sa vérifiabilité et en les liant à la section « Notes et références ».
Le martèlement de mémoire, de l'anglais row hammer ou rowhammer, est un effet secondaire imprévu dans les mémoires dynamiques à accès aléatoire (DRAM) qui provoque une fuite de charge électrique dans des cellules de mémoire, et en conséquence provoque une interaction électrique entre ces cellules et d'autres cellules voisines. Le contenu mémorisé dans ces cellules voisines peut être ainsi modifié. Un programme informatique peut ainsi parvenir à modifier le contenu des cellules voisines sans avoir besoin d'accéder à ces cellules voisines, et donc sans avoir le droit d'y accéder[1],[2].
Contexte
Des chercheurs de la firme Intel et de l’université Carnegie-Mellon[3] ont montré qu'il est désormais possible d'inverser de manière déterministe les bits des cellules de la mémoire DRAM en exploitant une faille de conception de la mémoire RAM des processeurs[2].
Cette méthode pourrait inspirer de nouveaux modes d’attaques. Elle peut également s’appliquer à d'autres types de mémoire RAM.
Ce type d’attaque, un processus appelé « hammering » ou « martèlement », est potentiellement possible depuis le milieu des années 2000. La miniaturisation des puces imposées par la course à la capacité de la DRAM expose de plus en plus (dans certaines conditions particulières) les cellules situées en bordure extérieure des puces, à des fuites de charges électriques.
De ce fait, un accès prolongé à très haute fréquence sur certains emplacements sensibles de la mémoire physique est de nature à provoquer l’inversion des valeurs de bits (de 0 à 1 ou de 1 à 0) dans les espaces adjacents.
Conséquences et risques
Ce phénomène expérimental demeure encore peu susceptible d'être appliqué à des attaques ciblées ou actes de piratage. En effet, il faudrait que les informations à pirater soient physiquement et unitairement stockées en zone sensibles sur la RAM en question (cellules ou bits situés en bordure extérieure des puces), et savoir quelles sont les informations adjacentes.
La mise en œuvre à distance et sans connaître explicitement la topologie de ces stockages reste très peu probable.
Contre-mesures
Une solution afin de lutter contre cette attaque serait de rafraîchir plus régulièrement les lignes de la mémoire les plus utilisées.
↑(en) Yoongu Kim, Ross Daly, Jeremie Kim, Chris Fallin, Ji Hye Lee, Donghyuk Lee, Chris Wilkerson, Konrad Lai et Onur Mutlu, « Flipping Bits in Memory Without Accessing Them: An Experimental Study of DRAM Disturbance Errors », ACM SIGARCH Computer Architecture News - ISCA '14, vol. 42, no 3, , p. 361–372 (DOI10.1145/2678373.2665726, lire en ligne).