Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
i<br />
AES<br />
Le but est de sensibiliser les utilisateurs<br />
de FDE des menaces pesant sur la<br />
confidentialité de leurs données et de la<br />
réalité d'une telle attaque.<br />
Principe<br />
Les manipulations présentées au cours de<br />
cet article ont été réalisées avec Truecrypt<br />
V6.2. Ce FDE a été certifié CSPN par la<br />
DCSII dans sa version 6.0a. Truecrypt<br />
permet de faire du chiffrement à la volée<br />
avec :<br />
• un disque dur (ou une partition),<br />
• un conteneur (exemple pris dans cet<br />
article),<br />
• l'ensemble d'un système d'exploitation.<br />
Lorsque l'on souhaite accéder à des<br />
données chiffrées dans un conteneur (ou<br />
Clés d’entête<br />
KE 1 KE 2<br />
Entête non chiffré<br />
+ Master Key<br />
+ Secondary Key<br />
+ ...<br />
AES<br />
Entête<br />
TrueCrypt<br />
Figure 1. Synoptique chiffrement AES-XTS d'un entête Truecrypt<br />
Figure 2. Formule du nombre de clés<br />
possibles<br />
∂ i<br />
PBKDF20<br />
Mot de passe<br />
un disque), on est invité à saisir son mot<br />
de passe. Une fois saisi, le mot de passe<br />
est utilisé dans une fonction de dérivation<br />
de clef (PBKDF2). Cette fonction génère<br />
deux clés (nommé HeaderKeys HK) à<br />
partir d'un mot de passe et d'un sel. HK<br />
serviront à chiffrer/déchiffrer l'en-tête<br />
du conteneur contenant, les clefs de<br />
chiffrements des données (nommées<br />
MasterKey et SecondaryKey : MK, SK ).<br />
Le chiffrement utilisé dans cet article est<br />
AES avec le mode XTS cf. Figure 1. C'est<br />
l'utilisation de ce mode particulier qui<br />
nécessite la présence de deux clés.<br />
Une fois que MK et SK ont été<br />
récupérées, elles se trouvent en RAM tant<br />
que le conteneur est en cours d'utilisation.<br />
Une fois que le volume est démonté, MK et<br />
Figure 3. Injection de MK et SK et remplacement de l'entête<br />
Salt<br />
Volume de creation d’enête<br />
Enête Données chiffrées<br />
Remplacement<br />
de l’enête cible<br />
Conteneur cible<br />
Injecton de MK<br />
et SK<br />
Entête Données chiffrées cible<br />
LA RAM<br />
Listing 1. Erreur du BOSD généré<br />
par crash dump<br />
*** STOP: 0x000000E2 (0x00000000,<br />
0x00000000,0x00000000,<br />
0x00000000)<br />
The end-user manually<br />
generated the crashdump.<br />
Listing 2. Clés récupérées en RAM<br />
606433e1479ba65d746e2d2bbd6a1034<br />
3cab8a95f649e42dd7006e780afeb13c<br />
dfea3045db773064d3c2299d8ebc10fd<br />
5ab4140a570c256b53dee55623125108<br />
000102030405060708090a0b0c0d0e0f<br />
101112131415161718191a1b1c1d1e1f<br />
SK sont effacées définitivement de la RAM<br />
grâce à la fonction Burn(). Cette fonction<br />
est chargée d’effacer proprement les<br />
données en RAM pour empêcher de les<br />
récupérer une fois le conteneur démonté.<br />
Le principe de l’attaque, est de<br />
récupérer l’ensemble des clés de<br />
chiffrement en RAM (en contournant cette<br />
fonction burn()) et de retrouver parmi elles<br />
MK et SK. Le nombre de combinaison<br />
possible λ est définit par la formule décrite<br />
dans la Figure 2. Ce nombre dépend du<br />
nombre d'arrangement composé de p<br />
clés parmi les n clés récupérées ainsi que<br />
du nombre d'algorithmes de chiffrements<br />
et de système de fichier disponibles par le<br />
FDE. Pour XTS, MK ne peut pas prendre la<br />
place de SK et vice versa c'est pour cela<br />
que l'on utilise la formule de l'arrangement<br />
au lieu de celle des combinaisons. Si<br />
on prend un cas défavorable (en récupérant<br />
10 clés en RAM), cela fait 1440<br />
Entête de<br />
sauvegrade<br />
Entête de<br />
sauvegrade<br />
1/2010 HAKIN9<br />
65