Cold boot et les attaques physiques sur la mémoire

Ophélia Rey
INSA TC
Published in
8 min readDec 18, 2018
Réalisation de Cold Boot, https://www.bleepingcomputer.com/news/security/cold-boot-attack-steals-passwords-in-under-two-minutes/

La croissance de l’utilisation des systèmes informatiques ainsi que des services qu’ils permettent entraîne une complexité et donc une fragilité toujours plus grandes de ses systèmes, face aux innombrables attaques réalisées chaque année. Ces attaques deviennent également de plus en plus complexes et ne visent plus exclusivement les composants logiciels, mais essaient également de détourner les composants physiques pour gagner un accès aux systèmes.

Quelque soit votre activité, votre entreprise est indéniablement une potentielle cible d’attaque, que ce soit par des concurrents, des enquêteurs ou de simples curieux. Il est donc absolument nécessaire de se protéger à la fois grâce à des moyens de protection logiciels et à un contrôle total sur les composants physiques de votre parc informatique.

Dans cet article, nous avons choisi d’évoquer les attaques qui visent la mémoire RAM, notamment les attaques d’accès direct à la mémoire et l’attaque nommée Cold Boot, afin de vous aider à analyser le risque auquel votre entreprise est exposée.

Les risques des attaques visant la RAM

Les attaques visant à accéder à la RAM dans le but de lire ou d’écrire à l’intérieur mettent directement les données écrites en RAM en danger. Selon l’utilisation faite de la machine juste avant l’attaque, ces données n’apporteront pas forcément grand chose aux attaquants, par exemple dans le cas d’une simple navigation web, sans accès au disque dur, les données stockées en RAM n’auront que peu de valeur. Dans d’autres cas, la RAM peut contenir des informations critiques. C’est le cas, par exemple, de clefs de chiffrement mises en place par certains logiciels qui permettent l’échange de données avec un disque dur chiffré (BitLocker). Afin de retrouver ces clés, il faudra bien souvent se servir de fragments de clés trouvées dans la RAM dans un programme de reconstruction de clés d’encryption avant de pouvoir déchiffrer le disque, mais ce travail a déjà été effectué et ce type d’attaques n’est donc pas à sous-estimer.

Cependant, ce type d’attaques requiert certaines conditions, telles que l’accès physique à la machine cible, ainsi que des protocoles précis pour être mis en place que nous détaillerons par la suite au travers de deux types d’attaques sur la RAM, les attaques DMA et l’attaque Cold Boot.

Les attaques DMA

L’accès direct à la mémoire (DMA) est le mécanisme qui permet d’accéder à la mémoire vive sans passer par le processeur, mais directement initié par des contrôleurs d’entrée/sortie. Cette méthode est choisie lors de l’utilisation de différents périphériques pour des raisons de performance, au détriment de la visibilité par le processeur sur les échanges mémoires effectués.

Cela signifie que les contrôleurs des périphériques qui utilisent ce mécanisme peuvent prendre le contrôle des bus d’entrée/sortie pour envoyer ou recevoir un flux d’information, vers ou depuis la RAM.

Ce mécanisme a conduit à des attaques qui peuvent être réalisées à partir d’un périphérique ou d’un contrôleur de périphérique malveillant, et elles peuvent avoir différents objectifs.

On notera dans un premier temps que ce type d’attaque permet d’accéder directement au contenu de la RAM, ce qui signifie qu’il est possible d’écrire du contenu à l’intérieur, et donc d’insérer n’importe quel programme malveillant ou de modifier de l’information : un exemple serait le détournement du contrôleur FireWire afin de modifier des trames Ethernet .

Un autre exemple : ce type d’attaques peut permettre de déverrouiller un ordinateur dont le mot de passe est inconnu. Comme l’a montré J-C. Delaunay dans son blog, il est possible à partir d’une connectique supportant le mécanisme DMA de modifier le contenu de la RAM précédemment analysé et d’y modifier des adresses mémoires afin de perturber le fonctionnement du login de session Windows et d’autoriser le déverrouillage de session, quelque soit le mot de passe entré.

Il est également possible de s’attaquer aux clés de chiffrement de disque dur (BitLocker par exemple) grâce à des attaques DMA. A l’aide de logiciels conçus pour ce type d’attaques, il est en effet possible après avoir gagné l’accès physique à une connectique supportant DMA de récupérer et de dupliquer l’intégralité de la RAM sur sa propre machine. Par différentes techniques d’analyse de mémoire, des clés de chiffrement peuvent être extraites de la RAM et réutilisées par la suite pour accéder au contenu du disque chiffré. Cette technique n’est cependant efficace que si le contenu de la RAM contient des clés de chiffrement de disque, autrement dit cette technique est efficace sur des machines sous tension ayant réalisé des échanges mémoires avec le disque chiffré peu de temps avant de réaliser l’attaque, afin que ses clés de chiffrement n’aient pas eu le temps d’être remplacées dans la RAM par d’autres actions sur la machine.

Cette dernière attaque visant les clés de chiffrement contenues dans la RAM n’est pas la seule attaque physique avec cet objectif. Nous allons le voir au travers de la description plus complète de l’attaque Cold Boot, différente dans le procédé mais ayant la même visée.

Cold boot : découverte, patch puis contournement

Cold Boot n’est pas une attaque DMA à proprement parler, mais c’est également une attaque physique visant la mémoire. C’est en 2008 qu’elle a été réalisé pour la première fois par des étudiants de l’université de Princeton. Cette attaque repose sur le principe physique suivant : plus la température est basse, plus les informations contenues dans la mémoire RAM d’un ordinateur mettent du temps à être effacées. Lors de la mise hors tension de l’ordinateur, le contenu de la mémoire RAM est naturellement effacé (car mémoire volatile); si on fait en sorte que la température de la RAM soit très basse, l’effacement progressif des données prendra beaucoup plus de temps qu’en conditions normales et il sera possible de les récupérer à l’aide d’un programme lancé au reboot de la machine via un boot externe (clef usb par exemple). C’est sur cette observation qu’est basée l’attaque.

A l’origine, Cold Boot consiste à refroidir la RAM d’un ordinateur allumé ou en veille, à forcer la mise hors tension, puis à le rebooter rapidement sur une clé usb contenant un programme permettant de dumper le contenu de la RAM sur la clé : par la suite, il devient possible d’exploiter les données récupérées.

L’attaque nécessite alors d’avoir le matériel suivant :

  • Un ordinateur allumé, en fonctionnement ou en veille
  • Une clé USB bootable dont la capacité est au moins celle de la RAM à attaquer
  • Des outils pour ouvrir l’ordinateur afin d’avoir accès à la RAM
  • Une bombe de froid, bombe d’air comprimé, bombe d’azote etc. pour refroidir la RAM

Le procédé de l’attaque est constitué des étapes suivantes :

  • Brancher la clé USB bootable sur l’ordinateur
  • Ouvrir l’ordinateur (déverrouillé ou en veille) de telle manière à pouvoir accéder à la RAM
  • Refroidir la RAM à l’aide de la bombe de froid, ce qui la met à une température d’environ -50°C
  • Forcer la mise hors tension de l’ordinateur
  • Rapidement remettre l’ordinateur sous tension de façon à ce qu’il boote sur la clé USB
  • Le contenu de la RAM sera copié dans la clé USB

Le froid n’empêche pas complètement la suppression de données de la RAM lors de la mise hors tension, mais il ralentit fortement ce processus. De ce fait, une grosse partie des informations est encore présente au bout de quelques minutes : cette donnée dépend du type de RAM, mais la perte sera de l’ordre de 0,01% au bout de 60 secondes. Il existe cependant des algorithmes capables de retrouver les données perdues utilisant le fait que la façon dont les données en stockage sont copiées est déterminée.

Suite à cette découverte, le groupe “The Trusted Computing Group” (TCG) a développé des mesures pour contrer cette attaque en incluant un mécanisme faisant en sorte que la RAM se vide de ses données à chaque remise sous tension. Ce mécanisme de défense a permis de se protéger contre l’attaque Cold boot pendant près de 10 ans. Cependant, en septembre 2018, des chercheurs de F-Secure ont réussi à contourner ce mécanisme et ont donc réussi à nouveau à mettre l’attaque en place : ils ont pu la réaliser en désactivant physiquement sur la machine cible le mécanisme d’effacement du contenu de la RAM lors d’une mise en tension. Autrement dit, l’attaque nécessite comme outil supplémentaire un petit appareil électronique permettant de changer certains bits de la puce du bios sur la carte mère.

Entre les étapes de mise hors tension et de remise sous tension de la machine cible (étapes 4 et 5 de l’attaque), il faut désormais :

  • Trouver la puce du bios sur la carte mère
  • A l’aide de l’appareil électronique, mettre à 0 le bit correspondant à la commande d’effacage de la RAM au démarrage de l’ordinateur : au redémarrage, le BIOS va penser que l’extinction de l’ordinateur s’est faite proprement, et donc ne videra pas la RAM

Dans le cas de Cold Boot, la mise en place de l’attaque est plus compliqué que pour les attaques DMA, la machine cible doit en effet être allumée ou en veille pour préserver le contenu de la RAM. En considérant le système d’information de votre entreprise, cela signifie que l’attaquant doit pouvoir s’introduire dans vos locaux et accéder à des machines sous tension, ou éventuellement voler une machine si elles sont portables, en prenant soin d’en choisir une sous tension et avec un niveau de charge de batterie suffisant (ou avec le chargeur si il est à disposition). L’accès physique à la machine devra avoir une durée suffisante : l’attaque demande d’effectuer des opérations manuelles complexes, notamment le démontage et refroidissement de la RAM, ce qui ne passe pas inaperçu si réalisé sur place. Il sera souvent plus efficace pour l’attaquant de dérober la machine cible plutôt que de procéder à l’attaque sur place.

Pour conclure

Malgré la prédominance des attaques à distance dans le monde de la sécurité informatique, il est important de noter l’existence et les dégats potentiels pouvant être engendrés par des attaques de type DMA ou Cold Boot. Ces attaques sont pour le moment capables d’exploiter des failles permettant un accès à des données critiques telles que des clés de chiffrement laissant vulnérables les ordinateurs possédant des sorties qui autorisent le DMA, ou étant en état de veille.

Si vous êtes à la recherche de solutions de protection pour votre machine ou votre entreprise, les experts en sécurité qui ont dévoilé ces attaques (disponible dans les liens au sein de l’article) évoquent quelques méthodes de protection efficaces : par exemple, le fait d’éteindre sa machine au lieu de la mettre en veille, permettant ainsi à la RAM de se vider et donc de perdre le contenu critique qui s’y trouvait. D’autres solutions proposées portent sur le blocage de certaines connectiques pour les échanges de données en mode DMA avec l’extérieur, ou encore sur la protection physique de l’ordinateur, c’est-à-dire rendre son accès et l’accès à ses composants plus difficile pour un attaquant.

Ophélia Rey & William Gounot, étudiants en Télécommunications, INSA de Lyon.

--

--