Attaque "Evil maid" contre le chiffrement intégral de disque
Date : 07 Décembre 2009
Introduction
En octobre 2009, Joanna Rutkowska (InvisibleThingsLab.com) a mis à disposition sur son site web un outil "proof-of-concept" pour démontrer qu'il est possible d'attaquer un ordinateur protégé par un système de chiffrement intégral de disque du type "TrueCrypt" ou "PGP Whole Disk Encryption" (la solution "Bitlocker" de Microsoft n'est pas vulnérable à cette forme d'attaque).
Cette attaque, baptisée "Evil Maid Attack" avait déjà été décrite d'un point de vue théorique par Joanna en janvier 2009. Mais la mise en pratique au travers d'un outil change le niveau de risque : on passe d'un risque théorique à un risque réel et démontré.
Principe de l'attaque
Un ordinateur portable protégé par un système de chiffrement intégral est laissé sans surveillance dans une chambre d'hôtel (par exemple pendant que son propriétaire va prendre son petit déjeuner). Une femme de ménage malveillante s'introduit dans la chambre, branche une clé USB spécialement préparée sur l'ordinateur et le démarre. La clé USB prend alors la main (on suppose que le portable autorise le boot sur clé USB, ce qui est le cas le plus classique) et modifie alors le secteur boot du disque dur pour qu'un programme espion soit désormais lancé à chaque fois que l'ordinateur est démarré. La femme de ménage éteint l'ordinateur et repart (avec la clé USB). L'opération a duré moins de cinq minutes.
La prochaine fois que le propriétaire légitime de l'ordinateur saisira le mot de passe demandé par le système de chiffrement du disque dur, ce mot de passe sera capturé par le programme espion et stocké discrètement sur un secteur inutilisé du disque. Il suffira ensuite à la femme de ménage de revenir voler le portable, puis de récupérer le mot de passe et d'accéder aux données chiffrées stockées sur disque.
Afin de démontrer le risque réel que représente cette attaque, l'équipe de Invisible Things a réalisé une clé USB bootable qui implémente cette attaque vis-à-vis du TrueCrypt 6.x.
Nota : la façon d'installer le logiciel espion, et le logiciel espion lui-même dépend du logiciel de chiffrement de disque dur utilisé. La clé USB préparée par Invisible Things ne peut donc pas être utilisée que contre un ordinateur qui utilise TrueCrypt 6.x.
Joanna dans sa publication propose plusieurs solutions palliatives que nous ne décrirons pas ici (par exemple ne pas autoriser le boot USB, ou vérifier que le secteur de boot n'a pas été modifié, etc…). Elle indique aussi que pour elle la cause principale qui rend cette attaque possible est le fait que les solutions de chiffrement intégral de disque dur tels que « TrueCrypt » ou « PGP WDE (Whole Disk Encryption) » ne contrôlent pas de façon stricte que leur environnement d'exécution est parfaitement intègre (i.e. qu'il n'y a pas eu ajout ou altération d'un composant dans cet environnement) avant de demander à l'utilisateur de taper son mot de passe. Par opposition, elle explique que Microsoft « Bitlocker » n'est pas vulnérable parce qu'il s'appuie lui sur le composant TPM (Trusted Platform Module) défini par le TCG (Trusted Computing Group) pour ne délivrer la clé de déchiffrement qu'une fois que l'intégrité du système sous jacent a été démontrée.
Pour éviter cette attaque toutes les solutions de chiffrement intégral de disque devraient donc intégrer un mécanisme de "Trusted Boot" similaire à celui inclus dans "Bitlocker ".
Réponse
La société PGP a pour sa part réagi en disant que dans le cas de « PGP Whole Disk Encryption », il était recommandé d'utiliser pour déverrouiller le disque dur un mécanisme d'authentification fort (par exemple en utilisant un token externe) et que dans ce cas l'attaque décrite ici ne fonctionnerait pas. Joanna Rutkowska a répondu sur son blog que l'attaque resterait possible, même dans ce cas : plutôt que de capturer le mot de passe, il faudrait dans ce cas capturer la clé de déchiffrement que PGP WDE "libère" une fois que la phase d'authentification a été réussie.
"Trusted Boot" n'est pas non plus une panacée car il est difficile d'implémenter correctement ce concept. Par exemple Loïc Duflot a démontré dans sa présentation à la conférence SSTIC 2009 que l'informatique de confiance (via des mécanismes de type TPM ou des technologies comme Intel TXT) pouvait dans certains cas être mis en défaut, par exemple via des mécanismes de bas niveaux tel que le SMM (cf. notre article sur ce sujet) ou les tables APCI (cf. notre compte-rendu de la conférence JSSI). Le TPM utilisé par BitLocker est donc probablement contournable. Sans attaquer le TPM, on pourra aussi trouver dans cette étude récente de l'institut allemand Fraunhofer différentes méthodes pour contourner le chiffrement "Bitlocker".
De ce débat on peut conclure que l'attaque "Evil Maid" est :
- Triviale pour un système basé sur TrueCrypt
- Théoriquement possible (mais plus difficile) sur tous les systèmes n'utilisant pas de mécanismes de "Trusted boot".
- Et qu'il pourrait exister d'autres formes d'attaques pour mettre en défaut ce mécanisme de "Trusted boot".
Ce que met en évidence ce débat c'est qu'il est important d'analyser le risque contre lequel on souhaite se protéger lorsque l'on met en place un chiffrement intégral de disque dur.
Si l'objectif est de se protéger contre la perte accidentelle ou le vol de l'ordinateur portable, le chiffrement intégral est très certainement une solution satisfaisante (même dans le cas où on utilise pour cela la solution TrueCrypt).
Par contre si l'on veut se protéger contre une attaque volontaire (c'est-à-dire dans le cas où quelqu'un veut votre portable parce qu'il veut voler les données qui y sont dessus) alors il faut être beaucoup plus prudent à propos du niveau de sécurité qu'apportera un chiffrement intégral de disque dur. Il existe par exemple d'autres formes de menaces comme :
- quelqu'un vous observe au moment ou vous tapez votre mot de passe (votre voisin d'avion ?)
- quelqu'un écoute le rayonnement électromagnétique de votre clavier (cf. sur ce point l'étude réalisée par l'EPFL sur ce sujet).
- Etc…
Conclusion
La publication de « Invisible Things » démontre la faisabilité de la "Evil Maid Attack". Elle apporte ainsi un éclairage nouveau sur le niveau de sécurité qu'apporte un chiffrement intégral de disque dur. On savait déjà que cela ne protège pas contre une attaque "à chaud" (si un virus infecte votre ordinateur, il a accès à toutes les données que l'utilisateur courant peut accéder mêmes sur un PC à chiffrement intégral). On voit maintenant qu'avec une simple clé USB (équipée d'un programme téléchargé sur Internet) il est aussi possible d'attaquer un ordinateur "à froid", et de façon plus simple que décrit précédemment (cf. par exemple les attaques "cold boot" que nous avons décrit en 2008).
Cela ne remet pas pour nous en question la plus value d'un chiffrement intégral de disque dur. Trop de PC ne disposent pas de ce type de protection et ce n'est qu'une question de chance si les données ainsi exposées ne sont pas volées. Cela montre par contre que ce mécanisme de protection n'est pas inviolable. Il n'arrêtera pas à lui seul un attaquant motivé.
Pour plus d'information :
- Article de Joanna Rutkowska : http://theinvisiblethings.blogspot.com/2009/10/evil-maid-goes-after-truecrypt.html