Des universitaires de l’Université Vrije d’Amsterdam et de l’ETH Zurich ont publié un nouveau document de recherche décrivant une autre variante de l’attaque de Rowhammer.
Doublé BRISER (Martelage maillant synchronisé), la technique peut être utilisée pour déclencher avec succès l’attaque de JavaScript sur les cartes RAM DDR4 modernes, malgré les mesures d’atténuation importantes mises en place par les fabricants au cours des sept dernières années.
« En dépit de leurs atténuations dans la DRAM Target Row Refresh (TRR), certains des modules DDR4 les plus récents sont toujours vulnérables aux multiples retournements de bits Rowhammer », ont déclaré les chercheurs.
«SMASH exploite une connaissance de haut niveau des politiques de remplacement de cache pour générer des modèles d’accès optimaux pour Rowhammer à plusieurs côtés basé sur l’expulsion. Pour contourner les atténuations TRR en DRAM, SMASH planifie soigneusement les hits et les échecs de cache pour déclencher avec succès le bit Rowhammer à plusieurs côtés synchronisé flips. «
En synchronisant les demandes de mémoire avec les commandes de rafraîchissement de la DRAM, les chercheurs ont développé un exploit JavaScript de bout en bout qui peut complètement compromettre le navigateur Firefox en 15 minutes en moyenne, prouvant que les internautes restent exposés à de telles attaques.
Qu’est-ce que Rowhammer?
Tout d’abord, une brève introduction sur Rowhammer, un terme générique faisant référence à une classe d’exploits qui exploitent une bizarrerie de conception matérielle dans les systèmes DDR4. Les cartes mémoire RAM enregistrent des données à l’intérieur de ce qu’on appelle des cellules mémoire (constituées chacune d’un condensateur et d’un transistor) qui sont disposées sur la puce de silicium de la RAM sous la forme d’une matrice.
Mais étant donné la vitesse de décharge naturelle des condensateurs, les cellules mémoire ont tendance à perdre leur état avec le temps et nécessitent donc une lecture et une réécriture périodiques de chaque cellule afin de restaurer la charge du condensateur à son niveau d’origine. D’autre part, des densités accrues de circuits intégrés DRAM ont permis une augmentation des taux d’interactions électromagnétiques entre les cellules de mémoire et une plus grande possibilité de perte de données.
En 2014, les chercheurs ont découvert qu’en effectuant de manière répétée des opérations rapides de lecture / écriture sur une ligne de mémoire, encore et encore – aussi appelé «martelage de lignes» – ils pouvaient induire une perturbation électrique qui altérerait les données stockées dans les lignes de mémoire à proximité.
Depuis lors, de multiples méthodes ont été conçues, développant les méthodes et les scénarios d’exploitation de la recherche originale de Rowhammer pour contourner les protections mises en place (ECCploit), lancez des attaques via JavaScript (Rowhammer.js), des paquets réseau (Throwhammer) et des cartes FPGA (Field-Programmable Gate Array) (JackHammer), et même lire des données mémoire sensibles à partir d’autres processus s’exécutant sur le même matériel (RAMBleed)
En réponse aux résultats, des contre-mesures à l’échelle du secteur telles que Target Row Refresh (TRR) ont été présentées comme la « solution ultime » pour toutes les versions d’attaque Rowhammer susmentionnées, jusqu’à ce que les chercheurs de VU en mars 2020 aient démontré un outil de fuzzing appelé « TRRespass » qui pourrait être utilisé pour faire fonctionner les attaques Rowhammer sur les cartes DDR4 protégées par TRR.
De TRRespass à SMASH
Alors que TRRespass vise à réaliser un contournement TRR en utilisant du code natif, aucune méthode n’était disponible pour les déclencher dans le navigateur à partir de JavaScript. C’est là qu’intervient SMASH, accordant à l’attaquant une primitive de lecture et d’écriture arbitraire dans le navigateur.
Plus précisément, la chaîne d’exploit est lancée lorsqu’une victime visite un site Web malveillant sous le contrôle de l’adversaire ou un site Web légitime contenant une publicité malveillante, profitant des retournements de bits Rowhammer déclenchés depuis le bac à sable JavaScript pour prendre le contrôle du navigateur de la victime.
« La version actuelle de SMASH repose sur [transparent huge pages] pour la construction de modèles d’auto-expulsion efficaces « , ont déclaré les chercheurs. » La désactivation de THP, tout en introduisant une surcharge de performance, arrêterait l’instance actuelle de SMASH. «
« De plus, notre exploit repose spécifiquement sur la corruption de pointeurs dans le navigateur pour casser ASLR et pivoter vers un objet contrefait. Protéger l’intégrité des pointeurs dans le logiciel ou dans le matériel (par exemple, en utilisant PAC [23]) arrêterait l’exploit SMASH actuel. «