Les chercheurs utilisent des bits Rowhammer pour voler des clés cryptographiques de 2048 bits

Un module DIMM DDR3 avec code de correction d'erreur de Samsung. ECC n'est plus une défense absolue contre les attaques de Rowhammer.
agrandir / Un module DIMM DDR3 avec code de correction d'erreur de Samsung. ECC n'est plus une défense absolue contre les attaques de Rowhammer.

L’exploitation Rowhammer, qui permet à des attaquants non privilégiés d’endommager ou de modifier les données stockées sur des puces mémoire vulnérables, est devenue une série de fonctions malveillantes au cours des quatre dernières années de machines virtuelles supposément imprenables. Les chercheurs dévoilent maintenant une nouvelle attaque utilisant rowhammer pour extraire des clés cryptographiques ou d'autres secrets stockés dans des modules DRAM vulnérables.

Comme les précédentes attaques basées sur le marteau de lignes, la nouvelle technologie RAMBleed de récupération de données exploite les dimensions de plus en plus réduites des puces DRAM, qui stockent les données dont un ordinateur a besoin pour effectuer diverses tâches. Rowhammer attaque rapidement l'accès – ou le marteau – des lignes physiques dans des puces vulnérables – provoquant l'inversion des bits dans les lignes adjacentes, ce qui signifie que 1 devient 0 et inversement. Les attaques fonctionnent parce que les condensateurs, à mesure qu'ils se rapprochent, dissipent plus rapidement les charges électriques qui stockent les bits. À un moment donné, ces flip-flips n'étaient rien de plus qu'un phénomène de collision exotique dont on savait qu'il n'était déclenché que par le rayonnement cosmique. Comme les chercheurs l'ont montré au cours des quatre dernières années, la gâchette de précision chirurgicale de Rowhammer peut avoir de graves conséquences sur la sécurité des dispositifs utilisant des puces vulnérables.

Un nouveau canal latéral

RAMBleed emmène Rowhammer dans une nouvelle direction. Au lieu d'utiliser bit-flips pour modifier des données sensibles, la nouvelle technique utilise une défaillance matérielle pour extraire des données sensibles stockées dans des zones de mémoire non autorisées pour les attaquants. Les attaques requièrent seulement que l'exploit martèle les emplacements du code d'exploitation auquel il a déjà accès. De plus, l'extraction de données fonctionne même si une DRAM protégée par un code de correction d'erreur détecte et inverse un retournement de bit illicite.

L’attaque ouvre non seulement un canal de page précédemment inconnu que les attaquants peuvent utiliser pour extraire des données sensibles, mais ouvre également de nouvelles possibilités permettant à un code d’exploitation non privilégié de charger des clés cryptographiques ou d’autres données secrètes dans les lignes DRAM sélectionnées. qui sont susceptibles d'extraction. En combinant des techniques de massage de la mémoire avec cette nouvelle attaque par canal latéral, les chercheurs de l’Université du Michigan, de l’Université de Technologie de Graz, de l’Université d’Adélaïde et de Data61 ont pu extraire une clé de signature RSA 2048 bits d’un serveur OpenSSH utilisant uniquement des autorisations de niveau utilisateur. Dans un rapport de recherche publié mardi, les chercheurs ont écrit:

Lors de recherches précédentes, Rowhammer était considéré comme une menace pour l'intégrité des données, permettant à un attaquant sans privilège de modifier des données sans y accéder. Cependant, avec RAMBleed, nous montrons que les effets de rowhammer affectent également la confidentialité des données et permettent à un attaquant non privilégié d'utiliser les bitflips induits par Rowhammer lire la valeur des bits adjacents. Comme tous les bits de la mémoire DRAM ne peuvent pas être mis en miroir par rowhammer, nous introduisons également de nouvelles techniques de massage de la mémoire qui visent à localiser, puis à exploiter des bits de rowhammer commutables. Cela permet à l'attaquant de lire des informations autrement inaccessibles, telles que des bits de clé secrète. Comme nos techniques requièrent seulement que l'attaquant alloue et libère de la mémoire et mesure les temps de commande, RAMBleed permet à un attaquant sans privilège de lire des données secrètes en utilisant la configuration par défaut de nombreux systèmes (par exemple, Ubuntu Linux) sans nécessiter de configuration spéciale (par exemple. B. Ubuntu Linux), accès à un pagemap, à de grandes pages ou à la déduplication de stockage).

Bien que RAMBleed représente une nouvelle menace à laquelle les ingénieurs en matériel et logiciels ont besoin pour se protéger, il est peu probable que des exploits soient menés dans un proche avenir par des attaques en temps réel. En effet, RAMBleed, comme la plupart des autres attaques basées sur Rowhammer, nécessite beaucoup de temps système et au moins un peu de chance. Des attaquants déterminés sur le terrain peuvent être confrontés à des attaques plus fiables qui ont le même objectif. Bien que les utilisateurs normaux ne doivent pas paniquer, RAMBleed et les attaques précédentes sur lesquelles il se base constituent une menace à long terme, en particulier pour les utilisateurs de matériel standard à faible coût.

Comment ça marche

L'extraction de clé nécessite que les attaquants localisent d'abord les bits pouvant être basculés dans la mémoire d'un ordinateur cible. À ce stade, les chercheurs avaient besoin de 34 heures pour localiser les retournements de 84 000 bits nécessaires à l'extraction de la clé SSH. Le temps et les ressources non négligeables nécessaires pour soumettre le magasin sont en partie compensés par le fait qu'il peut être exécuté à l'avance, avec uniquement des privilèges utilisateur et sans avoir à interagir avec l'application SSH ou ses secrets, ni avec aucun d'entre eux. autre application utile ou leurs secrets. Après avoir filtré les bits qui étaient inutiles pour extraire la clé, les chercheurs ont atterri à environ 4 200 bits.

RAMBleed utilise ensuite une technique de mappage de mémoire spéciale pour charger la clé SSH dans des emplacements susceptibles d’exposer leur contenu. L’objectif était d’obtenir une mise en page similaire à celle de la figure ci-contre, correspondant aux pages de 8 Ko requises pour deux variantes de Rowhammer. Le premier utilise un accès recto verso et le second un accès unilatéral. Bien que RAMBleed fonctionne mieux dans la version à double face en raison d'interférences provenant d'autres activités du système, la configuration de la mémoire entraîne parfois un cas unilatéral (version de droite dans la figure suivante).

Mise en page pour extraire le secret d'une victime. Chaque cellule représente une page de 4 Ko, ce qui signifie que chaque ligne représente une ligne de 8 Ko dans une banque DRAM. L’attaquant accède à plusieurs reprises aux pages d’activation des lignes A0 et A2 et active les lignes supérieure et inférieure. Il extrait ensuite les bits correspondants de la page S en observant les changements de bits du côté de l'échantillon A1. "Src =" https://cdn.arstechnica.net/wp-content/uploads/2019/06/page-layout-640x107.png "width =" 640 "height =" 107 "srcset =" https: // cdn .arstechnica.net / wp-content / uploads / 2019/06 / page-layout-1280x214.png 2x
agrandir / Mise en page pour extraire le secret d'une victime. Chaque cellule représente une page de 4 Ko, ce qui signifie que chaque ligne représente une ligne de 8 Ko dans une banque DRAM. L’attaquant accède à plusieurs reprises aux pages d’activation des lignes A0 et A2 et active les lignes supérieure et inférieure. Il extrait ensuite les bits correspondants de la page S en observant les changements de bits du côté de l'échantillon A1.

Kwong et al.

RAMBleed bat donc les pages d'activation A0 et A2 indiquées dans la figure. L’attaque a permis de récupérer 68% de la clé SSH cible, soit environ 4 200 bits de clé, à un taux de 0,31 bit par seconde et un taux de précision de 82%. Dans un courrier électronique, Andrew Kwong, l'un des chercheurs ayant rédigé le document à l'Université du Michigan, a déclaré:

La phase de lecture dure près de quatre heures. Nous n'avons pas vraiment besoin de la clé pour rester en mémoire longtemps. OpenSSH alloue une nouvelle page avec la clé chaque fois que l'attaquant sacrifie une connexion SSH. Lorsque nous établissons deux connexions en parallèle, il y a deux copies de la clé en mémoire, que nous utilisons ensuite pour marteler et lire un seul bit. Nous fermons ensuite ces connexions SSH afin qu’il n’y ait pas de copies de la clé en mémoire. Nous répétons ce processus pour lire chaque bit. Par conséquent, la clé n'est en mémoire que pendant environ 3 secondes et nous pouvons forcer la victime à la remettre en mémoire en établissant une connexion SSH. Nous avons exécuté notre attaque sur une installation Ubuntu avec des paramètres par défaut sans configuration spéciale.

Les chercheurs ont ensuite exécuté les bits récupérés selon l'algorithme Heninger-Shacham, qui permet de récupérer des clés RSA à partir d'informations partielles. Le résultat: les chercheurs ont pu obtenir une récupération complète de la clé

Le canal latéral activé par Rowhammer exploite un phénomène physique dans les puces DRAM dans lesquelles la probabilité de retournement de bit dépend des valeurs des bits immédiatement supérieur et inférieur. C'est-à-dire que les bits ont tendance à basculer sur la même valeur que les bits des lignes adjacentes.

"L’observation la plus importante derrière RAMBleed est que les bits-retournements ne dépendent pas seulement des bits orientationc’est-à-dire qu’il passe de 1 à 0 ou de 0 à 1, mais aussi aux valeurs des bits adjacents ", ont indiqué les chercheurs dans leurs travaux. En particulier, les bits vrais ont tendance à passer de 1 à 0 lorsque les bits situés au-dessus et au-dessous sont 0, mais pas lorsque les bits situés au-dessus et au-dessous sont égaux à 1. De même, les anti-bits ont tendance à passer de 0 à 1 si les bits sont terminés et que 1 est inférieur à eux, mais pas si les bits situés au-dessus et au-dessous sont nuls. "

RAMBleed empile les lignes de mémoire d'activation (A0 et A2 dans la figure ci-dessus) de contenus de mémoire soigneusement disposés. Les bitflips résultants permettent aux chercheurs de dériver les valeurs des bits secrets. En répétant ce processus avec des retournements de bits sur différents décalages de la page, les chercheurs peuvent récupérer suffisamment de bits pour construire la clé complète.

CCE n'est pas une défense absolue

Les chercheurs ont déclaré que RAMBleed était capable de contourner la protection du code ECC ou du code de correction d'erreur intégrée à certains types de puces DRAM. Si des corrections sont apportées, cela est effectué de manière prévisible en corrigeant d'abord l'erreur puis en transmettant la valeur corrigée au logiciel. Cela ouvre un canal temporel qui permet aux chercheurs de déterminer si une erreur mono-bit s'est produite. Les chercheurs ont ensuite engagé RAMBleed pour prendre en compte ECC.

"Avec l'ECC, nous ne pouvons pas observer directement les retournements", ont écrit les chercheurs. "Au lieu de cela, nous utilisons le canal temporel et surveillons les longs délais de lecture. Etant donné que ces latences ne sont dues qu’à des retournements induits par Rowhammer, elles peuvent être utilisées pour révéler la valeur du bit secret. "

RAMBleed a réussi à lire les bits stockés dans la mémoire ECC avec une précision de 73% et une vitesse de 0,64 bits par seconde.

La récupération de clé activée par RAMBleed est fondamentalement différente de la technique de rowhammer introduite il y a deux ans, qui permettait à une machine virtuelle de compromettre les clés RSA stockées sur une seconde machine virtuelle. Lors de l'attaque de 2016, les chercheurs ont utilisé des retournements de bits induits par Rowhammer pour affaiblir davantage la clé publique qu'auparavant. Les enquêtes ont ensuite examiné la clé pour obtenir la clé privée correspondante. En revanche, RAMBleed lit la clé dans la mémoire.

Dans une recommandation, les employés d'Intel ont confirmé que la vulnérabilité, dont une partie est enregistrée sous la référence CVE-2019-0174, "pourrait permettre la divulgation partielle d'informations d'accès local". La recommandation a identifié un système commun d’évaluation de la vulnérabilité de 3,8 à 10 au maximum pour la vulnérabilité.

"Une partie des informations d'adresse physique divulguées en exploitant cette vulnérabilité ne contient pas de secrets d'utilisateur, mais peut être utilisée pour améliorer les vecteurs d'attaque non liés", indique la recommandation. Il a également été recommandé de suivre les pratiques établies de résistance aux canaux latéraux et les mesures d’atténuation de la synchronisation des canaux latéraux par rapport aux implémentations cryptographiques.

La déclaration recommande également l’utilisation de DRAM résistante aux attaques de Rowhammer. Cela inclut généralement l’utilisation de puces DDR4 fournissant un code ECC ou une fonction appelée mise à jour ciblée de la ligne. Ce conseil est utile, mais pas le dernier mot pour deux raisons. Tout d'abord, RAMBleed peut contourner la protection ECC. La deuxième mise à jour de ligne ciblée n'est pas une défense automatique contre Rowhammer.

"Grâce au TRR, il est difficile de trouver des séquences de bits," a écrit Kwong, chercheur à l'Université du Michigan, dans un courrier électronique. "Toutes les versions de DDR4 ne disposent pas de TRR activé, et les implémentations varient considérablement selon le fabricant. Par conséquent, il est difficile de déterminer avec exactitude à quel point le RTR est sans danger pour Rowhammer. La susceptibilité des TRR à RAMBleed est une question de recherche ouverte. "

Kwong a également déclaré à la déclaration d'Intel que CVE-2019-0174 "pourrait fournir une divulgation partielle des informations d'accès local". Etant donné que CVE ne fait que suivre la technique de révélation des 21 bits d’une adresse physique, l’affirmation se réfère uniquement à cela, pas à l’effet RAMBleed, a expliqué le chercheur.

Comme mentionné précédemment, la menace réelle immédiate que RAMBleed et la plupart des autres attaques de Rowhammer posent à la plupart des utilisateurs finaux est relativement faible. En effet, les attaquants ont recours à une myriade de méthodes moins compliquées et éprouvées, susceptibles d’atteindre les mêmes résultats. Toutefois, les attaques basées sur Rowhammer, y compris RAMBleed, pourraient poser un risque plus important dans les années à venir, en particulier pour les appareils à faible coût, si les ingénieurs échouent à rechercher l'erreur sous-jacente et à développer des moyens efficaces pour la réparer ou au moins la réduire.

"En découvrant un autre canal pour une utilisation basée sur Rowhammer", ont déclaré les chercheurs, "nous avons souligné la nécessité d'explorer davantage et de comprendre les fonctionnalités complètes de Rowhammer."

Les chercheurs utilisent des bits Rowhammer pour voler des clés cryptographiques de 2048 bits
4.9 (98%) 32 votes
 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *