Contribuez à SecuObs en envoyant des bitcoins ou des dogecoins.
Nouveaux articles (fr): 1pwnthhW21zdnQ5WucjmnF3pk9puT5fDF
Amélioration du site: 1hckU85orcGCm8A9hk67391LCy4ECGJca

Contribute to SecuObs by sending bitcoins or dogecoins.



Une clé USB Evil Maid pour infecter le chargeur TrueCrypt FDE et récupérer les phrases secrètes de déchiffrement

Par Rédaction, secuobs.com
Le 16/10/2009


Résumé : La clé USB Evil Maid permet d'infecter localement le chargeur TrueCrypt utilisé pour le chiffrement des disques dans leur entièreté. Elle aide à capturer, stocker et récupérer les saisies utilisateur relatives aux phrases secrètes qui sont nécessaires aux déchiffrements de ces disques.



The Invisible Things Labs vient de publier un outil implémentant l'attaque Evil Maid ( lien ) à l'encontre des solutions TrueCrypt ( lien ) FDE ( Full Disk Encryption - lien ). Il se présente sous la forme d'une image pour générer une clé USB bootable permettant l'exploitation en une à deux minutes. Le principe consiste à démarrer localement depuis la clé afin d'infecter le chargeur TrueCrypt. Les saisies des phrases secrètes de déchiffrement FDE seront dès lors capturées puis stockées sur le disque local.

Un envoi réseau est imaginable, mais non implémenté dans cette première version. Une fois l'ordinateur démarré sur la clé USB, l'attaquant a juste à appuyer sur une touche pour lancer l'infection. Lors du prochain démarrage sur cette clé, c'est le dernier enregistrement de saisie FDE utilisateur qui sera affiché. L'exploitation à l'encontre d'un utilisateur non consentant est bien entendu illégale. Cette version étant de plus une preuve de concept, il est déconseillé de la tester contre des systèmes en production.

Contrairement à Stoned BootKit ( lien ) avec lequel on peut faire un parallèle de par la nécessité d'accéder physiquement à la machine ciblée, il n'est pas ici nécessaire que le système d'exploitation soit démarré pour effectuer l'infection. Les droits d'administration ne sont donc pas strictement requis et contrairement au Live CD Windows bootable de Stoned BootKit, l'attaque Evil Maid est efficace contre les volumes chiffrés dans ce contexte.

Concrètement, les 63 premiers secteurs non chiffrés du disque primaire sont lus puis vérifiés afin de détecter la présence d'un chargeur TrueCrypt. Si positif, le code est dés-empaqueté et les fonctions en charge de l'invite de saisie FDE sont infectées ( hooking - lien ). Certains champs du MBR ( Master Boot Record - lien ), comme la taille du chargeur de démarrage et les sommes de contrôles, sont également impactés. Le chargeur est rempaqueté puis écrit sur le disque.

Outre une parade physique adéquate (mallette ou coffre sécurisé, etc.), la technologie TPM ( Trusted Platform Module - lien ) DRTM ( Dynamic Root of Trust Measurement - lien ), avec Intel TXT ( lien ), serait une solution à condition que TrueCrypt l'utilise à l'avenir. Il serait par ailleurs possible de développer une solution équivalente en utilisant LUKS ( lien ) et Intel Tboot ( lien ).

TPM n'est cependant pas inviolable, un enregistreur de frappe matériel ( Keylogger type Keykeriki - lien ) pourrait récupérer les saisies FDE à moins d'une authentification forte à 2 facteurs ( lien ) ou OTP ( lien ). Il resterait théoriquement la possibilité de remplacer la DRAM, ou même le CPU, par des équivalents malicieux afin de contourner ces dernières. Une insertion PCI ( lien ), pour enregistrer la clé via DMA ( lien ), serait quant à elle inefficace ( lien ) en face de Intel TXT et de VT-d ( lien ).

En attendant que TrueCrypt en décide autrement ( lien ), Invisible Things Labs propose tout de même une solution se basant, ici aussi, sur une clé USB Linux bootable dite « Disk Hasher ». Cette dernière est configurée de façon à calculer les valeurs de hachage des secteurs en question afin d'en vérifier l'intégrité par des sommes de contrôle. Les valeurs légitimes sont stockées sur la clé, elle-même déchiffrable via une phrase secrète FDE. Bien entendu, elle pourrait être infectée de manière semblable, mais il est plus pratique de garder sur soi une clé qu'un ordinateur.

Il serait également possible de récupérer la phrase secrète ou la clé de déchiffrement via un Rootkit BIOS ( lien ), AMT ( lien ) ou SMM ( lien ). A noter finalement que la désactivation du démarrage sur clé USB au niveau BIOS et l'affectation d'un mot de passe BIOS sont des solutions qui ne feront qu'augmenter le temps nécessaire. L'attaquant devrait alors sortir le disque dur et le connecter sur un autre ordinateur pour infecter le disque avant de le replacer.

L'image Evil Maid USB ( lien )
Le code source de l'agent d'infection Evil Maid ( lien )

Source : The Invisible Things Lab's Blog ( lien )