Simple Science

La science de pointe expliquée simplement

# Informatique# Cryptographie et sécurité

Comprendre les attaques Rowhammer et leur impact

Explorer les menaces posées par les attaques Rowhammer sur les systèmes de mémoire des ordinateurs.

― 9 min lire


Rowhammer : Une MenaceRowhammer : Une MenaceSérieusesystèmes de mémoire des ordinateurs.vulnérabilités critiques dans lesLes attaques Rowhammer révèlent des
Table des matières

Ces dernières années, les systèmes informatiques sont devenus vulnérables à différents types d'attaques, surtout en ce qui concerne la gestion de la mémoire. Un problème majeur sur lequel les chercheurs se sont concentrés est un type d'attaque appelé RowHammer. Cette attaque vise le système de mémoire des ordinateurs, en particulier la mémoire vive dynamique (DRAM). Elle peut provoquer des changements dans les bits stockés en mémoire sans nécessiter d'accès direct à cette mémoire. Ça veut dire qu'un acteur malveillant pourrait manipuler des données sans que l'utilisateur ou le système s'en rende compte.

Rowhammer exploite une faille dans la façon dont la DRAM stocke les données. Lorsque certaines lignes de mémoire sont accédées à plusieurs reprises, cela peut faire changer des bits dans des lignes adjacentes, entraînant un comportement inattendu des applications et des systèmes. Ces changements de bits peuvent poser des risques de sécurité, surtout quand des données sensibles, comme des mots de passe ou des indicateurs d'authentification, sont stockées dans ces emplacements mémoire.

Contexte des attaques Rowhammer

Les attaques Rowhammer ont attiré l'attention à cause de leur capacité à causer de graves problèmes de sécurité. Les chercheurs ont montré que ces attaques peuvent manipuler des variables stockées en mémoire, comme celles utilisées pour l'authentification dans diverses applications. Par exemple, si un attaquant peut faire changer un bit dans un processus de vérification de mot de passe, il peut obtenir un accès non autorisé à des systèmes.

L'effet Rowhammer se produit lorsqu'une ligne de mémoire est accédée à plusieurs reprises, amenant les lignes voisines à devenir instables. Cette instabilité provoque des changements dans des bits adjacents, ce qui déborde sur des vérifications de sécurité ou des données sensibles. En gros, Rowhammer permet aux attaquants de manipuler ce qui devrait être des informations sécurisées, rendant les systèmes vulnérables aux violations.

Comment fonctionne Rowhammer

L'attaque Rowhammer fonctionne en utilisant des techniques spécifiques pour accéder à la mémoire de manière à provoquer des changements de bits. Lorsque l'attaque est lancée, l'attaquant identifie d'abord les lignes de mémoire à cibler. En accédant à ces lignes des milliers de fois rapidement, l'attaquant peut faire changer les bits dans les lignes adjacentes.

En gros, si un attaquant peut accédé de manière répétée à une ligne de mémoire spécifique, cela peut entraîner involontairement des changements dans les bits de lignes contenant des informations importantes, comme des mots de passe ou des variables d'authentification. La chance de succès augmente avec le nombre d'accès, permettant aux attaquants de créer une situation où ils peuvent contourner les mesures de sécurité.

L'impact des attaques Rowhammer

L'impact de Rowhammer sur la sécurité des systèmes peut être sévère. Les attaquants peuvent obtenir un accès non autorisé aux systèmes et aux données en faisant changer des bits dans des variables d'authentification. Par exemple, dans une situation où un utilisateur entre un mot de passe, si un bit dans la variable qui vérifie le statut du mot de passe change, l'attaquant pourrait accéder au système sans le bon mot de passe.

Ce risque n’est pas théorique ; il y a eu des cas documentés où l'attaque Rowhammer a été mise en œuvre avec succès pour contourner les vérifications de sécurité. Les applications qui dépendent des variables mémoire pour la sécurité, comme SUDO ou SSH, peuvent être compromises, permettant à un attaquant d'obtenir des privilèges élevés.

Attaques sur des applications spécifiques

Contournement de SUDO

SUDO est un outil essentiel dans les systèmes d'exploitation de type Unix qui permet aux utilisateurs d'exécuter des commandes avec les privilèges d'un autre utilisateur, généralement le superutilisateur ou root. Si un attaquant peut manipuler les vérifications qui confirment le mot de passe d'un utilisateur, il peut obtenir un accès root sans autorisation.

En utilisant Rowhammer, les attaquants peuvent se concentrer sur la variable qui détermine si un mot de passe est correct. Quand un bit dans cette variable change, la commande SUDO peut accorder un accès même si le mot de passe fourni est incorrect. Cette vulnérabilité est due à la façon dont l'application gère les vérifications de sécurité en mémoire.

Attaques sur OpenSSH

OpenSSH permet des communications sécurisées sur des réseaux non sécurisés. Il utilise des mécanismes d'authentification pour s'assurer que l'utilisateur se connectant à un serveur est autorisé. Si un attaquant peut manipuler la variable qui indique si un utilisateur est authentifié, il peut se connecter sans les bonnes informations d'identification.

En exploitant Rowhammer, les attaquants peuvent cibler le processus d'authentification dans OpenSSH. Si un bit crucial dans le drapeau d'authentification change, le système peut penser qu'un utilisateur est authentifié. Cela peut entraîner un accès non autorisé à des systèmes et des données sensibles.

Attaques sur MySQL

MySQL est un système de gestion de base de données largement utilisé, crucial pour stocker de grandes quantités de données en toute sécurité. Si un attaquant peut manipuler les vérifications d'authentification dans MySQL, il pourrait accéder à des informations sensibles et des fonctionnalités de la base de données.

Rowhammer peut affecter la façon dont MySQL vérifie la validité des mots de passe. En faisant changer un bit dans la variable responsable de cette vérification, un attaquant pourrait s'authentifier sans entrer le bon mot de passe. Cette action manipulatrice peut avoir de graves conséquences pour la sécurité des données.

Défis pour prévenir les attaques Rowhammer

Prévenir les attaques Rowhammer est difficile pour plusieurs raisons. D'abord, la nature de la DRAM et son fonctionnement rendent difficile la protection complète contre ces types de vulnérabilités. Bien que des patches et des mises à jour de logiciels puissent améliorer la sécurité, ils n'éliminent souvent pas complètement le risque.

De plus, de nombreuses applications et systèmes dépendent de la mémoire pour diverses opérations, rendant peu pratique l'évitement complet des interactions mémoire. À mesure que les systèmes deviennent plus complexes, le risque de rencontrer des vulnérabilités comme Rowhammer augmente également.

Contre-mesures contre Rowhammer

Augmenter les taux de rafraîchissement

Une approche couramment suggérée pour atténuer les effets de Rowhammer est d'augmenter les taux de rafraîchissement de la DRAM. En rafraîchissant la mémoire plus fréquemment, la chance de changements de bits dus à Rowhammer est réduite. Cependant, cette méthode a des inconvénients, notamment une diminution des performances et une consommation d'énergie plus élevée.

Randomisation de la disposition de l'espace d'adresses (ASLR)

L'ASLR est une technique qui randomise où les données sont stockées en mémoire. En rendant difficile pour un attaquant de prédire où se trouvent certaines variables, l'ASLR pourrait contribuer à réduire le taux de réussite des attaques Rowhammer. Cependant, cette méthode a ses lacunes, car les attaquants peuvent toujours trouver des moyens d'inférer des dispositions mémoire par divers moyens.

Codes de correction d'erreurs (ECC)

La mémoire ECC est conçue pour détecter et corriger de petites erreurs dans les données stockées en mémoire. Bien que l'ECC puisse aider à atténuer certains problèmes causés par Rowhammer, ce n'est pas infaillible. Les attaquants peuvent exploiter des vulnérabilités dans le fonctionnement de l'ECC, ce qui le rend insuffisant comme seule contre-mesure.

Renforcement de la logique de sécurité dans les applications

Une autre approche est de renforcer la logique utilisée dans les vérifications de sécurité au sein des applications. Par exemple, au lieu d'utiliser des conditions comme "si pas zéro", les développeurs peuvent mettre en œuvre des vérifications plus strictes. Cela rend plus difficile pour les attaquants d'exploiter avec succès des vulnérabilités, car une condition spécifique doit être remplie pour accorder l'accès.

Surveillance et détection des attaques Rowhammer

La recherche est en cours pour développer des méthodes de détection des attaques Rowhammer en temps réel. Cela pourrait impliquer la surveillance des modèles d'accès à la mémoire et la détection de comportements inhabituels qui suggèrent une attaque Rowhammer active. Des techniques d'apprentissage automatique pourraient être explorées pour améliorer les capacités de détection.

Conclusion

Rowhammer représente une menace sérieuse pour la sécurité des ordinateurs, en particulier en ce qui concerne la gestion des données sensibles en mémoire. Sa capacité à manipuler des variables cruciales peut entraîner un accès non autorisé et des violations de sécurité significatives pour des applications comme SUDO, OpenSSH et MySQL.

Bien que diverses contre-mesures existent, la nature de l'architecture mémoire et la complexité des applications modernes posent des défis pour atténuer complètement le risque. À mesure que les chercheurs continuent d'étudier et de développer des solutions, comprendre les implications de Rowhammer reste crucial pour améliorer la sécurité informatique dans son ensemble.

Une vigilance continue et des mises à jour proactives des logiciels et du matériel seront essentielles pour se protéger contre ces types d'attaques. À mesure que la technologie et les systèmes évoluent, les méthodes utilisées pour les sécuriser doivent également s'adapter pour faire face à des menaces émergentes comme Rowhammer de manière efficace.

Source originale

Titre: Mayhem: Targeted Corruption of Register and Stack Variables

Résumé: In the past decade, many vulnerabilities were discovered in microarchitectures which yielded attack vectors and motivated the study of countermeasures. Further, architectural and physical imperfections in DRAMs led to the discovery of Rowhammer attacks which give an adversary power to introduce bit flips in a victim's memory space. Numerous studies analyzed Rowhammer and proposed techniques to prevent it altogether or to mitigate its effects. In this work, we push the boundary and show how Rowhammer can be further exploited to inject faults into stack variables and even register values in a victim's process. We achieve this by targeting the register value that is stored in the process's stack, which subsequently is flushed out into the memory, where it becomes vulnerable to Rowhammer. When the faulty value is restored into the register, it will end up used in subsequent iterations. The register value can be stored in the stack via latent function calls in the source or by actively triggering signal handlers. We demonstrate the power of the findings by applying the techniques to bypass SUDO and SSH authentication. We further outline how MySQL and other cryptographic libraries can be targeted with the new attack vector. There are a number of challenges this work overcomes with extensive experimentation before coming together to yield an end-to-end attack on an OpenSSL digital signature: achieving co-location with stack and register variables, with synchronization provided via a blocking window. We show that stack and registers are no longer safe from the Rowhammer attack.

Auteurs: Andrew J. Adiletta, M. Caner Tol, Yarkın Doröz, Berk Sunar

Dernière mise à jour: 2024-04-12 00:00:00

Langue: English

Source URL: https://arxiv.org/abs/2309.02545

Source PDF: https://arxiv.org/pdf/2309.02545

Licence: https://creativecommons.org/licenses/by/4.0/

Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.

Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.

Liens de référence

Plus d'auteurs

Articles similaires