Lors de la confĂ©rence 38C3, le framework FlippyRAM a Ă©tĂ© prĂ©sentĂ© pour vĂ©rifier la prĂ©sence de vulnĂ©rabilitĂ©s permettant des attaques de type Rowhammer visant Ă modifier le contenu de la mĂ©moire vive. Le code de l'outil est Ă©crit en C++ et distribuĂ© sous licence MIT. Pour faciliter les tests, une distribution live prĂȘte Ă l'emploi (1 Go) a Ă©tĂ© créée, permettant de rĂ©aliser des vĂ©rifications en se bootant depuis une clĂ© USB, ainsi qu'une image de conteneur pour Docker.
L'objectif du projet est d'impliquer les utilisateurs dans une recherche visant Ă rassembler des statistiques sur la maniĂšre dont les vulnĂ©rabilitĂ©s de type Rowhammer se manifestent dans les systĂšmes couramment utilisĂ©s. Les donnĂ©es de test peuvent ĂȘtre envoyĂ©es directement depuis la distribution chargĂ©e ou ajoutĂ©es manuellement sur le site de recherche.
La méthode d'attaque Rowhammer a été proposée il y a 10 ans, déclenchant un jeu de « chat et souris » entre les chercheurs en sécurité et les fabricants de matériel. Ces derniers tentaient de bloquer la vulnérabilité tandis que les chercheurs cherchaient de nouvelles façons de l'exploiter. Au-delà des puces DDR3 dans les systÚmes Intel x86, des méthodes d'attaque ont été identifiées sur des puces DDR4 et DDR5, des systÚmes avec des processeurs AMD et ARM, des variantes contournant la correction d'erreurs ECC, ainsi que des moyens d'attaquer via le réseau ou par l'exécution de code JavaScript dans le navigateur.
L'attaque Rowhammer permet de perturber le contenu des bits de mĂ©moire DRAM en lisant cycliquement les donnĂ©es des cellules de mĂ©moire adjacentes. Ătant donnĂ© que la mĂ©moire DRAM est un tableau bidimensionnel de cellules, chacune composĂ©e d'un condensateur et d'un transistor, la lecture continue d'une mĂȘme zone de mĂ©moire entraĂźne une fluctuation de tension et des anomalies, provoquant une lĂ©gĂšre perte de charge dans les cellules voisines. Si l'intensitĂ© de lecture est Ă©levĂ©e, une cellule voisine peut perdre une quantitĂ© suffisante de charge, et le cycle de rĂ©gĂ©nĂ©ration suivant ne parvient pas Ă restaurer son Ă©tat initial, ce qui entraĂźne un changement de la valeur des donnĂ©es stockĂ©es dans la cellule. Pour se protĂ©ger contre Rowhammer, les fabricants de puces ont ajoutĂ© le mĂ©canisme TRR (Target Row Refresh), qui bloque la dĂ©formation des cellules dans certaines situations, mais ne protĂšge pas contre toutes les variantes d'attaques.
Source : opennet.ru
