SRS Day Attaque BitLocker par analyse de dump mémoire Benjamin Noel Olivier Détour noel_b detour_o
Sommaire Partie théorique Etude de cas Attaque BitLocker Contre-mesures
Introduction Analyse forensique : 99% analyse de mémoire stockée récupération de données: Data Recovery Wizard Analyse forensique mémoire volatile (RAM). DFRWS (Digital Forensic Research Workshop)
Introduction Analyse forensique deux étapes : Extraire les données Analyse le dump
Introduction L analyse forensique tout en mémoire : Récupération des clés de chiffrement des disques durs. Récupération du login et mot de passes de session. Analyse suite à une attaque virale. Analyse post-mortem.
Théorie
Méthode extraction Logiciel : API de debug Crash de la machine (core dump) Machine virtuelle Driver Matériel: Utilisation du port FireWire Refroidissement de la ram
Méthode logicielle
Windows : API de debug API NtSystemDebugControl DebugSysReadVirtual : lecture de la mémoire DebugSysWriteVirtual : écriture Analyser en détail par IvanLefOu Problèmes : l utilisation de cette API n est plus autorisée depuis Windows 2003 SP1
Crash Dump Fonctionnement : Erreurs critiques => fonction panic appelée. Copie de la mémoire du noyau vers une zone prédéfinie. Capacités suffisantes pour recopier la mémoire sur le disque. Le système redémarre. Utilisable sur Windows et NetBSD (natif), Linux (Linux Kernel Crash Dump)
Machine virtuelle La mémoire est émulée sur le système hôte => stockée dans un fichier Technique : - Mettre en pause la machine virtuelle. - Récupération du fichier contenant la mémoire vive (.wmem pour VmWare). Aucune modification lors de l extraction Démocratisation de la virtualisation.
Driver System Virginity Verifier 2.3 de Joanna Rutkowska Fonction (readvirtualmem) permet de lire la mémoire en mode noyau Exécution dangereuse sur un système en production Aucune garantie de l intégrité des données.
Méthode matérielle
Port FireWire 2005 Le port FireWire (Apple en 1985) transfert de données se fait grâce au DMA scripts de M. Boileau Nécessaire : - 2 ordinateurs (cible et attaquant) munis de port FireWire. - L ordinateur cible : tout type de système d exploitation. - L ordinateur attaquant doit posséder le script de capture. - Un câble FireWire afin de connecter les ordinateurs. Rapide, intégrité / Absence de FireWire
Refroidissement de la ram (2007 / 2008) Dernière technique en date Refroidir la ram via de l azote liquide Retirer la RAM de l ordinateur Récupération des données possibles quelques minutes après l arrêt de la machine => rétention des données
Rétention de données Température normale (entre 25 C et 45 C) 50% des données corrompues en 30 secondes Basse température (-50 C) 0.1% des données corrompues en 60 secondes Température extrême (-196 C) 0.17% des données corrompues en 60 minutes
Schéma de disparition des données Figure 1 - http://citp.princeton.edu/memory/
Etude de cas
Chiffrement des partitions Avantages du chiffrement de partition : Ordinateur est éteint : données inaccessibles. Tout le disque est chiffré (plus dévolu à l utilisateur) Possibilité de détruire immédiatement les données (destruction de la clé de chiffrement). le chiffrement matériel / logiciel.
Chiffrement Matériel Trusted Platform Module (TPM) généralement installé sur la carte mère d un ordinateur. Chaque TPM possède cinq unités qui fournissent des fonctionnalités de chiffrement : Une unité de hachage SHA-1 Un générateur de nombres aléatoires Générateur de clés RSA de 2048 bits maximum Moteur RSA permettant le chiffrement, le déchiffrement et la signature L authentification de message grâce à la fonction de hachage
De nombreux constructeurs se positionnent sur le marché des disques durs chiffrés : Prim X Technologies (ZoneExpress) Arkoon avec la security box L HSM de Thales
Chiffrement des clés USB (2006). IronKey, Kingston Technology proposent des clés USB possèdent un système matériel de cryptage (généralement AES) Les clés de chiffrement sont stockées en matériel dans la clé. Destruction des données de la clé après plusieurs tentatives d accès infructueuses.
Chiffrement logiciel Linux: Au niveau du pilote du périphérique Utilisation des modules noyau Module noyau dm-crypt
Dm-crypt Ecriture d un fichier sans chiffrement : appel au filesystem (ext2 par exemple) appel au pilote de périphérique (/dev/sda1) écriture des octets sur le disque /dev/sda1
Dm-crypt Ecriture d un fichier sans chiffrement : appel au filesystem (ext2 par exemple) appel au pilote de périphérique (/dev/sda1) écriture des octets sur le disque /dev/sda1 Ecriture d un fichier avec chiffrement : appel au filesystem (ext2 par exemple) appel au pilote de périphérique (/dev/mapper/crypted_sda1) appel àdm-crypt qui va chiffer les octets écriture des octets chiffrés sur le disque /dev/sda1
Dm-crypt Ecriture chiffrées dans /dev/mapper/ <Nom de la partition> Cryptsetup permet de configurer le chiffrement des partitions Cryptsetup --cipher $CIPHER --key-file $MDP create $CRYPTED /dev/$partition
Autre solution de chiffrement : - FileVault (Mac) - TrueCrypt (Windows, Mac, Linux) La solution adoptée par Windows Vista nommé BitLocker sera présenté dans la suite de cette présentation.
Attaque BitLocker
BitLocker Figure 2 - http://www.gadgetell.com/tech/comment/use-windows-vistas-bitlocker-to-lock-down-your-computer/
Attaque BitLocker Algorithme d identification de clés AES Recherche exhaustive Calcule de la distance de Hamming sur chaque octets de la potentielle clé avec une clé générée Si cette distance est correcte, on garde la clé dans notre «porte clés» Utilisation de notre «porte clé» pour casser BitLocker
Contre-mesures
Contre-mesures Faire un dump de la machine Sensibilisation des utilisateurs Modification de la séquence de boot Effacer la mémoire a l arrêt de la machine Retrouver les clés dans le dump Effacer les clés de la mémoire une fois inutiles Chiffrement dans le contrôleur matérielle
Conclusion
Questions?