Sécurité

Un nouveau document allègue des serveurs, certaines DRAM DDR4 étant toujours vulnérables à l’attaque critique de Rowhammer – High-teK.ca

Ce site peut gagner des commissions d’affiliation à partir des liens sur cette page. Conditions d’utilisation.

L’été dernier, nous avons couvert Rowhammer, une méthode d’attaque capable de cibler la DRAM en exploitant les défauts intrinsèques de la conception de la DRAM. Rowhammer est un problème connu depuis plusieurs années, et les chipsets DDR3 de dernière génération et l’architecture de la DDR4 étaient censés contenir des fonctionnalités qui la rendaient inoffensive. Un nouveau document, cependant, suggère que ce n’est pas le cas.

Comment fonctionne Rowhammer

Vous pouvez considérer la DRAM comme conceptuellement similaire à une feuille de calcul – les cellules DRAM sont étroitement regroupées et disposées en une série de lignes et de colonnes. Au fur et à mesure que les nœuds DRAM ont diminué et que la technologie a progressé, les fabricants ont régulièrement augmenté la quantité de DRAM qu’ils pouvaient emballer dans une zone donnée, souvent en réduisant les écarts entre les cellules DRAM. Malheureusement, cela rend la DRAM plus sensible à une attaque comme Rowhammer.

Rowhammer fonctionne en lisant à plusieurs reprises les données de rangées spécifiques de DRAM. Ce processus provoque des fluctuations de tension dans les rangées voisines, ce qui peut amener ces cellules à subir un léger retournement. Ces erreurs de perturbation brisent le modèle de protection de la mémoire sur lequel l’informatique moderne s’appuie pour garantir l’exactitude des données, le sandboxing des programmes et la séparation des privilèges entre les processus. C’est tellement grave parce qu’il peut être utilisé pour démanteler les diverses protections qui maintiennent la sécurité des données et les processus isolés les uns des autres, et il lance cette attaque dans le matériel, bien en deçà des capacités de détection de tout antivirus ou logiciel de sécurité conventionnel.

Marteau DRAM

Rowhammer cible soit la seule rangée violette pour retourner les bits jaunes, soit peut cibler les deux rangées jaunes pour retourner les bits violets.

L’image ci-dessus montre comment les lectures répétées d’une seule ligne (violet) peuvent perturber les données des lignes adjacentes (jaune). Il est également possible de lire deux lignes dans le but d’attaquer une seule ligne entre elles, et la probabilité de succès augmente si cette méthode est utilisée. Ces méthodes d’attaque sont respectivement appelées attaques unilatérales ou bilatérales.

Rowhammer a été prouvé comme un exploit de sécurité potentiel par les chercheurs de Google en mars 2015 et il a été démontré qu’il fonctionnait avec JavaScript en août dernier. Maintenant, Mark Lanteigne, le CTO et fondateur de Third I/O, a publié un papier de suivi détaillant comment la DDR4 moderne, les serveurs et les systèmes à l’échelle de l’entreprise restent sensibles à Rowhammer malgré plusieurs années de sensibilisation de l’industrie au problème.

Psssssst :  Mozilla Firefox tue Flash par défaut, le chef de la sécurité appelle Adobe à émettre une date de fin de vie

Afin de tester les défauts de Rowhammer, Third I/O a utilisé sa propre suite logicielle Memesis. Memesis est conçu pour « pousser des niveaux extrêmes de stress et de bande passante entre les processeurs et la mémoire tout en recherchant les corruptions de données et les événements ECC » et était à l’origine utilisé pour valider les systèmes pour l’Iris de Third I/O – un SSD externe connecté via Fibre Channel. La société a pu utiliser Memesis pour exposer des cas d’utilisation spécifiques qui rendaient plus probable le succès d’un Rowhammer, notamment en utilisant des attaques multithreads et en ciblant des régions de 2 Mo de DRAM.

Les recherches de Third I/O suggèrent que l’utilisation de techniques plus sophistiquées peut réduire le nombre total d’attaques au marteau de rangée nécessaires pour retourner un peu, d’une estimation initiale de 2,7 millions de marteaux par adresse dans la recherche originale à 800 000 actuellement pour les attaques à double face et 1,5 million pour un seul côté.

Les stratégies d’atténuation existantes ne fonctionnent pas

Il existe déjà plusieurs façons de se prémunir contre Rowhammer. Le simple fait de rafraîchir la DRAM plus rapidement réduit considérablement la capacité de Rowhammer à induire des retournements de bits – il y a moins de temps disponible pour effectuer l’opération. Malheureusement, l’augmentation du taux de rafraîchissement de la DRAM a des impacts négatifs sur la consommation d’énergie et les performances de la DRAM, comme le montre le graphique ci-dessous tiré de cet article de recherche IEEE :

Taux de rafraîchissement atteint

Cliquez pour agrandir

Gardez à l’esprit que les tailles de RAM sont indiquées en gigabits ci-dessus ; 32 Go correspond à 4 Go. À cette taille, la consommation d’énergie du taux de rafraîchissement représente déjà plus de 20 % du total. Compte tenu de la quantité de DRAM contenue dans les serveurs modernes et même dans certains ordinateurs portables, l’augmentation de la consommation d’énergie de la RAM est exactement le contraire de ce que la plupart des fournisseurs essaient de faire.

Psssssst :  Blocage des publicités pour les masses, deuxième partie : Adblock Browser - High-teK.ca

Quant à la mémoire ECC (Error Correcting Code), c’est au mieux une solution imparfaite. Il n’y a pas de norme unique unifiée pour la mémoire ECC, seulement la capacité annoncée de trouver et de corriger les erreurs sur un seul bit (certains systèmes annoncent également la capacité de corriger les erreurs sur plusieurs bits). Les tests Third I/O menés contre un serveur compatible NUMA (Non-Uniform Memory Access) à deux nœuds ont pu produire un nombre important d’événements ECC en quelques minutes et des verrouillages matériels en une demi-heure. C’était après doublant le taux de rafraîchissement de la RAM pour se prémunir contre ce type d’attaque. Avant que le taux de rafraîchissement ne soit doublé, le même système se verrouillait et mourait en trois minutes.

DDR4 et Rowhammer

Lorsque Rowhammer a été découvert et discuté pour la première fois, Samsung a affirmé que sa DDR4 ne serait pas sensible à cette méthode d’attaque en raison de son utilisation de Targeted Row Refresh à l’intérieur des appareils. Micron a emboîté le pas en déclarant que le mode TRR est également implémenté en arrière-plan de son matériel. Les tests de Third I/O montrent que dans le cas de Micron, au moins, cette protection est imparfaitement implémentée. Le papier précise :

En plus d’acheter un système rapide basé sur Intel Skylake, nous avons également acquis quatre Crucial Ballistix Sport 2400 MHz, deux Crucial Ballistix Elite 2666 MHZ, deux Geil Super Luce 2400 MHz, deux G.Skill Ripjaws 4 3200 MHz et deux Micron 2133 MHz. Modules de mémoire DDR4 à tester… Sur les douze modules de mémoire que nous avons testés, huit ont montré des retournements de bits au cours de notre expérience de 4 heures. Et sur ces huit échecs, chaque module de mémoire qui a échoué aux paramètres par défaut était sur du silicium DDR4 fabriqué par Micron. Les modules de marque Geil contenaient SK Hynix et les modules G.Skill contenaient du silicium Samsung.

DDR4-Rowhammer

Au moins certains Micron DDR4 restent sensibles à Rowhammer

La colonne de droite du taux de rafraîchissement réduit de 25 % fait référence à des taux de rafraîchissement plus lents, et non à des taux plus rapides. Third I/O note que leurs propres recherches sur ce projet ne sont pas terminées. Les données de 2014 semblaient montrer que les puces Intel étaient 200 fois plus susceptibles d’avoir des retournements de bits que les processeurs AMD, et l’équipe souhaite approfondir cette question. Il souhaite également rechercher comment Rowhammer se comporte sur les processeurs ARM, si le DMA externe peut déclencher des attaques Rowhammer et si cette méthode d’attaque peut être exploitée sur les GPU.

Psssssst :  Intel révèle de nouvelles vulnérabilités de sécurité d'exécution spéculative

Indépendamment de ce que les enquêtes actuelles révèlent, il s’agit d’un problème qui n’est tout simplement pas encore résolu et la transition DDR4 ne fournit pas, en soi, cette résolution.

Bouton retour en haut de la page