Contourner les protections contre les attaques Rowhammer
Des chercheurs ont mis au point une méthode redoutablement efficace pour corrompre à distance la mémoire d’un ordinateur en s’appuyant sur les propriétés physiques des modules de mémoire vive.
Trois chercheurs viennent de présenter une méthode d’attaque redoutablement efficace pour corrompre à distance la mémoire d’un ordinateur en s’appuyant sur les propriétés physiques des modules de mémoire vive.
Le concept, dit de Rowhammer, n’est pas nouveau en soi ; il est connu depuis au moins 2012. Comme les chercheurs le rappellent, la progression de la densité des cellules dans les modules de mémoire vive a eu un effet secondaire : la réduction des marges de bruit et, avec elle, le risque croissant d’interaction électrique entre cellules qui devraient être isolées les unes des autres. Le bug dit Rowhammer est simple : il « consiste en la corruption de données, non pas dans des lignes auxquelles ont accède directement, mais des lignes adjacentes à celle à laquelle on accède ».
Mais il a fallu attendre l’an dernier pour que des chercheurs essaient d’exploiter Rowhammer afin de corrompre la mémoire vive d’un ordinateur à distance, gagner des privilèges élevés sur son système d’exploitation, ou encore échapper à une mise en bac à sable. En début d’année, Google lui-même s’est penché sur le sujet. Jusqu’à décider d’une contre-mesure logicielle. Mais celle-ci est inefficace contre la nouvelle méthode détaillée par les trois chercheurs.
Là, pas besoin d’exécuter d’instruction spécifiques ni de code natif ou encore d’avoir un accès physique à la machine visée : il s’agit simplement de l’implémentation en JavaScript d’un algorithme générique redoutablement efficace. Il a été testé avec succès sur des machines à processeurs Intel Sandy Bridge, Ivy Bridge et Haswell, équipées de modules de mémoire DDR3 de marques différentes, réussissant à coup sûr à vider le cache pour forcer le processeur à accéder à la mémoire vive.
Surtout, « des attaques basées sur JavaScript peuvent être exécutées sur des millions d’utilisateurs, furtivement et simultanément », alors les chercheurs proposent des contre-mesures « qui peuvent être mises en œuvre immédiatement ». En particulier, ils suggèrent de doter les navigateurs Web de capacités de test pour détecter les tentatives d’attaque de type Rowhammer : à moins que le système n’ait montré sa résistance à ces attaques, « JavaScript devrait être ralenti pour éliminer la possibilité d’un exploit. Et même si le système s’avère très probablement résistant, l’utilisateur devrait explicitement accepter d’activer JavaScript en accédant à un site Web ».