Rapport technique d`évaluation - TrueCrypt v6.0a

Transcription

Rapport technique d`évaluation - TrueCrypt v6.0a
SOGETI
Infrastructure Services
6 - 8, Rue Duret
75016 Paris
Evaluation CSPN
TrueCrypt v6.0a
Tél. : +33(0)1.58.44.55.66
Fax : +33(0)1.58.44.26.19
Rapport technique
d’évaluation
Référence SOGETI : K08-JBB-CR-671-2008
Version 1.2
Évaluation CSPN
Rapport technique d’évaluation
VALIDITE DU DOCUMENT
Identification
Client
Projet
Evaluation CSPN
Fournisseur
SOGETI IS/ESEC
Validité du document
Action
Rédaction
Rédaction
Date
18/08/2008
18/08/2008
Nom
J.-B. BEDRUNE
J. LENOIR
Fonction
Consultant sécurité
Consultant sécurité
Visa
Historique des modifications
Date
création
18/08/2008
Date
application
V.R.
Évolution
1.0
1.1
1.2
Création du RTE
Corrections mineures
Prise en compte des remarques de la DCSSI
12/09/2008
20/10/2008
Diffusion (suivie en mise à jour)
Pascal Chour
DCSSI
Diffusion en copie (non suivie)
Édouard JEANSON
SOGETI
ESEC Manager
Référence des documents utilisés
Version
0.3
3
1.0
Référence
K08-LC-PRE-651-2008
K08-JBB-CR-672-2008
Nom
TrueCrypt – Cible de sécurité CSPN
Documentation TrueCrypt 6.0
Spécifications cryptographiques de TrueCrypt 6.0
Par sa conception et sa réalisation technique originale, ce document est protégé par les dispositions régissant le droit de la propriété intellectuelle. Il est
notamment interdit sous peine de poursuites d'imiter ou de reproduire en tout ou partie cette conception et réalisation technique de ce document. Il est
également interdit de transmettre à des tiers ce document, ou de divulguer tous renseignements et informations contenus dans ce document, ou toute
information permettant l'imitation ou la reproduction totale ou partielle de ce document.
Ce document est l’unique propriété de SOGETI IS, et toute reproduction et/ou divulgation, sans autorisation expresse et préalable de SOGETI IS, est interdite.
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 2 / 80
Évaluation CSPN
Rapport technique d’évaluation
TABLE DES MATIERES
VALIDITE DU DOCUMENT ..................................................................................................................................... 2
TABLE DES MATIERES ........................................................................................................................................... 3
IDENTIFICATION DE L’EVALUATION ...................................................................................................................... 5
IDENTIFICATION DU PRODUIT EVALUE ................................................................................................................. 5
TRAVAUX CITÉS .................................................................................................................................................... 5
1.
FONCTIONNALITES, ENVIRONNEMENT D’UTILISATION ET DE SECURITE ...................................................... 6
1.
2.
3.
4.
5.
2.
SPECIFICATION DE BESOIN DU PRODUIT.....................................................................................................................6
UTILISATEURS TYPIQUES ........................................................................................................................................8
ENVIRONNEMENT TYPIQUE D’UTILISATION/ARGUMENTAIRE DU PRODUIT ........................................................................8
DESCRIPTION FONCTIONNELLE DU PRODUIT ...............................................................................................................8
INVENTAIRE DES FONCTIONS DE SECURITE IDENTIFIEES .................................................................................................9
INSTALLATION DU PRODUIT ...................................................................................................................... 12
1.
2.
3.
4.
3.
PARTICULARITE DE PARAMETRAGE DE L’ENVIRONNEMENT ..........................................................................................12
OPTIONS D’INSTALLATION RETENUES POUR LE PRODUIT .............................................................................................12
DESCRIPTION DE L’INSTALLATION ET DES NON-CONFORMITES EVENTUELLES ...................................................................13
DUREE DE L’INSTALLATION ...................................................................................................................................13
ANALYSE DE LA CONFORMITE .................................................................................................................... 14
1.
2.
3.
4.
5.
6.
7.
4.
ANALYSE DE LA DOCUMENTATION .........................................................................................................................14
REVUE DU CODE SOURCE .....................................................................................................................................14
MECANISMES CRYPTOGRAPHIQUES........................................................................................................................15
FONCTIONNALITES TESTEES ..................................................................................................................................22
SYNTHESE DES FONCTIONNALITES TESTEES/NON TESTEES ET DES NON-CONFORMITES .......................................................23
AVIS D’EXPERT SUR LE PRODUIT.............................................................................................................................24
DUREE DE L’ANALYSE ..........................................................................................................................................24
ANALYSE DE LA RESISTANCE DES FONCTIONS ET MECANISMES ................................................................. 25
1.
2.
3.
4.
5.
LISTE DES MECANISMES ET COTATIONS DE LEUR RESISTANCE .......................................................................................25
ROBUSTESSE DES MECANISMES CRYPTOGRAPHIQUES .................................................................................................30
AVIS D’EXPERT SUR LA RESISTANCE DES MECANISMES DE SECURITE ...............................................................................33
DUREE DE L’ANALYSE ..........................................................................................................................................33
ANALYSE DES VULNERABILITES .................................................................................................................. 34
1.
2.
3.
4.
5.
6.
LISTES DES VULNERABILITES CONNUES OU POTENTIELLES A LA SOUS-CATEGORIE ..............................................................34
LISTE DES VULNERABILITES REELLEMENT TESTEES ......................................................................................................36
LISTE DES VULNERABILITES DECOUVERTES LORS DE L’ANALYSE ET NON CONNUES DES BASES UTILISEES .................................36
AVIS D’EXPERT SUR LES VULNERABILITES .................................................................................................................43
DUREE DE L’ANALYSE ..........................................................................................................................................43
ANALYSE DE LA FACILITE D’EMPLOI ........................................................................................................... 44
1.
2.
3.
4.
CAS OU LA SECURITE EST AMBIGUË ........................................................................................................................44
RECOMMANDATIONS POUR UNE UTILISATION SURE DU PRODUIT .................................................................................44
AVIS D’EXPERT SUR LA FACILITE D’EMPLOI ...............................................................................................................46
DUREE DE L’ANALYSE ..........................................................................................................................................47
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 3 / 80
Évaluation CSPN
Rapport technique d’évaluation
7.
SYNTHESE .................................................................................................................................................. 47
ANNEXE 1 : FICHES D’ANALYSE DE CONFORMITE DES FONCTIONS DE SECURITE ................................................ 48
ANNEXE 2 : TABLEAUX PROPOSES PAR LA CEM POUR LA COTATION DES MECANISMES DE RESISTANCE ........... 79
8.
FIN DU DOCUMENT.................................................................................................................................... 80
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 4 / 80
Évaluation CSPN
Rapport technique d’évaluation
Identification de l’évaluation
Référence du RTE
Auteur
Approbateur
Date de création du RTE
Date de mise à jour du RTE
N° de version majeure du RTE
N° de version mineure du RTE
Divers
J.-B. BEDRUNE
J. LENOIR
F. RAYNAL
18/08/2008
08/08/2008
1
0
Identification du produit évalué
Nom de l’éditeur
Nom du produit
Nº de version analysée
Correctifs éventuels appliqués
TrueCrypt Foundation
TrueCrypt
6.0a
Travaux cités
Alexei Czeskis, David J. St. Hilaire, Karl Koscher, Steven D. Gribble, Tadayoshi Kohno, Bruce Schneier.
2008. Defeating Encrypted and Deniable File Systems: TrueCrypt v5.1a and the Case of the Tattling OS
and Applications. s.l. : 3rd Usenix Workshop on Hot Topics in Secuirty, 2008.
DCSSI. 2008. Cotation cryptographique des mécanismes cryptographiques du projet TRUECRYPT. Paris :
s.n., 2008.
—. 2006. Règles et recommandations concernant le choix et le dimensionnement des mécanismes
cryptographiques de niveau de robustesse standard. 2006.
Eli Biham, Orr Dunkelman, Nathan Keller. 2003. Differential-Linear Cryptanalysis of Serpent. Lecture
notes in computer science. 2003.
Hars, Laszlo. 2006. P1619: how serious is the leak of K2? IEEE Standards Working Group Areas. [Online]
Juin 2, 2006. http://grouper.ieee.org/groups/1619/email/msg00962.html.
IEEE 1619. 2008. The XTS-AES Tweakable Block Cipher. 2008.
IEEE. 2008. IEEE Standard for Cryptographic Protection of Data on Block-Oriented Storage Devices.
2008. 978-0-7381-5363-6.
Jonathan Brossard, Iviz Technosolutions Pvt. Ltd. 2008. Bypassing pre-boot authentication passwords
by instrumenting the BIOS keyboard buffer (practical low level attacks against x86 pre-boot
authentication softwares). Calcutta : s.n., 2008.
NIST. 2004. The Secure Hash Algorithm Validation System (SHAVS). 2004.
ntldr. 2008. Critical vulnerabilities in TrueCrypt 5.1. openPGP in Russia. [Online] Mars 11, 2008.
http://www.pgpru.com/novosti/2008/kriticheskajaujazvimostjvtruecrypt51.
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 5 / 80
Évaluation CSPN
Rapport technique d’évaluation
1. Fonctionnalités, environnement d’utilisation et de
sécurité
1. Spécification de besoin du produit
Une application de chiffrement de données à la volée sur toute mémoire persistante de stockage
permet de protéger en confidentialité les données enregistrées sur tout ou partie de la mémoire
persistante de stockage d’une machine (ou, plus généralement, sur un support de stockage
éventuellement amovible), dans les deux cas suivants :
1. l’application est hors fonctionnement ;
2. l’application est en fonctionnement, mais sans qu’un utilisateur légitime ne se soit authentifié à
l’application.
TrueCrypt est une application logicielle de chiffrement de données à la volée sur mémoire de masse.
Elle permet de créer un disque virtuel chiffré (volume TrueCrypt) contenu dans un fichier et de le
monter comme un disque physique réel. TrueCrypt peut aussi chiffrer une partition entière ou un
périphérique, comme une disquette ou une clé USB.
TrueCrypt est un intermédiaire transparent entre les applications que l'utilisateur emploie pour
manipuler ses données (lecture, modification, sauvegarde), et le support de stockage contenant le
disque chiffré.
L'activation du disque requiert l'authentification de l'utilisateur. Une fois activé, rien ne distingue le
disque chiffré des autres mémoires de masse auxquelles l'utilisateur a accès.
En cours de fonctionnement, TrueCrypt chiffre (respectivement, déchiffre) de façon transparente pour
l'utilisateur, les données écrites (respectivement, lues) sur le disque.
TrueCrypt protège les données sensibles de l’utilisateur à l’intérieur de conteneurs chiffrés. Ces
conteneurs constituent les « disques chiffrés » dans la suite de ce document.
TrueCrypt permet de gérer trois types de « disques chiffrés » :
- Les conteneurs fichiers qui sont des fichiers avec n'importe quelle extension et d'une taille
variable définie par l'utilisateur. Un fichier conteneur est un fichier standard pouvant être
stocké sur n’importe quel support de données ;
-
Les conteneurs partitions qui sont des partitions physiques complètes qui font office de
conteneur. Peuvent également être chiffrés suivant cette méthode, les disques durs entiers, les
disques durs USB, les disquettes, les clés USB ou tout autre type de matériel de stockage de
données ;
-
La partition système ou tout le disque système. Il y a alors chiffrement de toute la partition
contenant le système d’exploitation ; il faut déverrouiller le disque au boot pour pouvoir utiliser
le système d’exploitation.
Les fonctionnalités de sécurité principales sont :
- L’authentification de l’utilisateur : le montage du disque et toute modification des paramètres
d’authentification sont conditionnés à l'authentification préalable de l'utilisateur.
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 6 / 80
Évaluation CSPN
Rapport technique d’évaluation
-
-
Le chiffrement et déchiffrement de manière transparente des données écrites sur et lues
depuis le « disque chiffré » lorsque celui-ci a été monté. Cette activation nécessite une
authentification de l'utilisateur à travers la fourniture de données d'authentification de type
mot ou phrase de passe.
La génération des clés de chiffrement associées au « disque chiffré ».
Bien que les données d’authentification et les clés de chiffrement ne soient pas associées à des
données utilisateurs devant être protégées par le produit, leur confidentialité doit être assurée :
- L’efficacité du mécanisme d’authentification dépend de la confidentialité des données
d’authentification ;
- L’efficacité des mécanismes de chiffrement dépend de la confidentialité des clés de
chiffrement.
En cas de divulgation de ces données, la protection en confidentialité des données de l’utilisateur ne
peut plus être assurée.
1. Biens sensibles que le produit doit protéger
L'objectif premier de l’application est de protéger les données enregistrées sur le disque par les
utilisateurs en cas de vol du support ou de la machine le contenant. Ces données sont protégées en
confidentialité via le chiffrement par une clé secrète (la clé maîtresse) qui est elle-même chiffrée par
une autre clé secrète (clé d’en-tête dérivée à partir des données d’authentification).
Données utilisateurs
Les données de l'utilisateur déposées sur le disque chiffré sont à protéger en confidentialité par
l’application TrueCrypt.
Données de sécurisation
Les données utilisées par TrueCrypt pour assurer la confidentialité des données utilisateur doivent
également être protégées en confidentialité :
- Les données d’authentification utilisées pour contrôler l’identité annoncée par l’utilisateur
(mot ou phrase de passe et éventuellement fichier « keyfiles »1) ;
-
La clé d’entête utilisée pour chiffrer les données d’entête qui contiennent en particulier la clé
maître. Cette clé est obtenue par dérivation à partir des données d’authentification ;
-
La clé maître utilisée pour chiffrer les données de l’utilisateur.
2. Menaces sur les biens sensibles manipulés par le produit
Les menaces existantes lorsque le produit est en fonctionnement avec un utilisateur légitime
authentifié ne sont pas considérées.
Menace sur la mémoire de masse
Un attaquant prend connaissance des données sensibles de l'utilisateur stockées sur le disque, par
exemple, après avoir récupéré une ou plusieurs images partielles ou totales du disque (éventuellement
à des moments différents) ou bien après avoir volé l'équipement ou le disque.
Menace sur les mémoires temporaires
Après l'arrêt de l'application de chiffrement par l'utilisateur, un attaquant avec accès aux mémoires de
travail de l'application (par exemple, RAM) prend connaissance des données sensibles de l'utilisateur
1
Ces fichiers, décrits plus loin, contiennent une part des données d’authentification de l’utilisateur.
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 7 / 80
Évaluation CSPN
Rapport technique d’évaluation
ou des clés cryptographiques.
2. Utilisateurs typiques
L’utilisateur typique est l’utilisateur du compte géré par le système d’exploitation. TrueCrypt permet à
l’utilisateur de protéger ses données en confidentialité sur le disque de la machine.
L’utilisation de TrueCrypt ne nécessite pas de compétences particulières en informatique et en sécurité.
3. Environnement typique d’utilisation/Argumentaire du produit
1. Description de l’environnement d’utilisation
Le produit TrueCrypt fonctionne dans les environnements Windows, Linux et Mac OS X.
Le matériel informatique d'une entreprise ou d'un service administratif peut être l'objet d'un vol au
même titre que tout autre objet de valeur. Ce risque est accentué par le nomadisme des équipements.
TrueCrypt est une application de chiffrement des données à la volée sur un support informatique
permettant de protéger la confidentialité de ces dernières et de réduire l'impact de la perte en cas de
vol de matériel.
TrueCrypt permet de chiffrer et d’assurer la confidentialité de la totalité des données stockées sur des
disques durs internes ou externes (disques durs USB, etc.), des disquettes, des clés USB, ou de tout
autre type de matériel de stockage de données.
Les « disques chiffrés » peuvent être sauvegardés sur CD ou DVD.
Les « disques chiffrés » sont indépendants du système d’exploitation. Ils peuvent être montés dans tout
environnement dans lequel TrueCrypt peut être exécuté, si le système de fichiers sous-jacent à un
volume chiffré est géré par le système sur lequel le volume est monté.
TrueCrypt est destiné à être utilisé sur un poste de travail classique, et ne nécessite pas de
dépendances particulières.
2. Hypothèses sur l’environnement d’utilisation
- Environnement opérationnel
L'environnement opérationnel ne permet pas à un attaquant d'accéder au disque lorsque des données
sensibles sont accessibles à un utilisateur légitime sur l'équipement.
- Rémanence
La mémoire vive (RAM) utilisée par la machine qui exécute le produit n’est pas rémanente par
construction.
4. Description fonctionnelle du produit
L’objectif principal du produit est de couvrir le vol de la machine ou du support de stockage.
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 8 / 80
Évaluation CSPN
Rapport technique d’évaluation
Néanmoins, les risques de la phase opérationnelle vis-à-vis du service de protection des données en
confidentialité rendu par le produit sont couverts (comme, par exemple, l'écriture d'informations
confidentielles sur des zones non chiffrées ou l'écriture de la clé en clair sur une mémoire persistante).
La confidentialité des données inscrites sur la mémoire de masse est garantie quels que soient les états
successifs de la machine lors de la phase opérationnelle.
En cas d'arrêt logique du système d’exploitation, s’il est configuré pour ne pas créer une image
mémoire de la RAM (mémoire supposée non rémanente), il n’y a pas d’atteinte possible à la
confidentialité des données sensibles inscrites temporairement en RAM.
5. Inventaire des fonctions de sécurité identifiées
Légende :
• Existence de la fonction dans le produit : Oui / Non / Information Non Disponible / Sans Objet
• Criticité de la fonction pour le produit : Critique / Important / Facultatif
Intitulé
Existence
(O/N/ND/SO)
Criticité pour le
produit
(C/I/F)
Support crypto
Opération
cryptographique
O
C
Opération
cryptographique
O
C
Opération
cryptographique
Opération
cryptographique
Opération
cryptographique
Génération des mots de
passe
 SOGETI I.S.
Division : Consulting Agence : ESEC.
O
O
O
Description et commentaire sur la
fonction de sécurité
Génération de nombres aléatoires
pour générer la clé maîtresse de
chiffrement, la clé secondaire (en
mode XTS), la graine et les fichiers
« keyfiles »
Génération de la clé maîtresse
associée à un disque
C
Écriture de données chiffrées sur un
« disque chiffré » préalablement
monté en utilisant les clés et
algorithmes de chiffrement associés
à ce « disque chiffré »
C
Lecture de données chiffrées sur un
« disque chiffré » préalablement
monté en utilisant les clés et
algorithmes de chiffrement associés
à ce « disque chiffré »
C
Calcul du haché d'une donnée
associée à un « disque chiffré »,
suivant l'algorithme de calcul de
haché associé à ce « disque chiffré »
Identification et authentification
Génération, par les utilisateurs
autorisés, de leurs mots ou phrases
de passe, ainsi que les fichiers
O
C
« keyfiles» auxquels le mot de passe
peut être associé.
Réf : K08-JBB-CR-671-2008
Page 9 / 80
Évaluation CSPN
Rapport technique d’évaluation
Mécanismes
d’authentification
C
-
Création du mot de passe lors
de la création d'un « disque
chiffré » ;
-
Modification du mot de passe ;
-
Contrôle de la qualité des mots
de passe ;
-
Gestion des fichiers keyfiles.
Dérivation des clés d'entêtes suivant
le standard PKCS#5 à partir des
données
d'authentification
de
l'utilisateur. Cette clé d'entête
permet ensuite d'accéder aux
données contenues dans l'entête,
dont la clé maître.
Gestion des disques chiffrés
Création d'un « disque chiffré » :
Administration des
fonctions de sécurité
O
-
Formatage de la zone mémoire
allouée ;
-
Lors de l'initialisation, si l'option
« Quick Format» n’est pas
sélectionnée,
le
« disque
chiffré » est formaté et rempli
d'aléa ;
-
Création de l'entête contenant
la clé maîtresse.
C
Administration des
fonctions de sécurité
O
C
Création et exécution d’un système
d’exploitation caché et chiffré.
Administration des
fonctions de sécurité
O
I
Démontage des « disques chiffrés »
à la demande de l'utilisateur.
Démontage
automatique
des
« disques chiffrés » montés lors des
événements suivants :
-
Administration des
fonctions de sécurité
O
I
Cette fonctionnalité offre en outre
la possibilité, lorsque les options
associées sont sélectionnées, de
démonter automatiquement les
« disques chiffrés » lors des
événements suivants :
- Mise en veille.
-
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Fermeture de l’OS ;
Réf : K08-JBB-CR-671-2008
Fermeture de session.
Déclenchement
de
l'économiseur d'écran.
Mise en mode économie
d'énergie.
Atteinte d'un délai fixé par
l'utilisateur (ce délai n'est pas
Page 10 / 80
Évaluation CSPN
Rapport technique d’évaluation
associé à un « disque chiffré »,
mais à l'application)
Enfin, il est possible de forcer le
démontage de « disques chiffrés »,
même lorsque ces « disques
chiffrés » contiennent des fichiers
ou des répertoires ouverts par des
applications.
Génération de la liste des « disques
chiffrés » qui sont montés.
Administration des
fonctions de sécurité
Intégrité des données
stockées
Intégrité des données
stockées
O
I
Cette gestion consiste à ajouter les
disques montés à la liste et à les
supprimer lors du démontage.
Protection des données de l’utilisateur
Un conteneur possédant un volume
caché peut protéger le volume
O
I
caché en interdisant l’écriture sur
celui-ci.
O
I
Un en-tête de conteneur peut être
sauvegardé puis restauré plus tard
en cas d’altération.
Effacement des données sensibles
(les mots de passe des disques
chiffrés) présentes dans la mémoire
du pilote.
Suppression des données
temporaires
Politique de contrôle des
flux de données
 SOGETI I.S.
Division : Consulting Agence : ESEC.
O
O
I
C
Une option permet d’appeler cette
fonction de manière automatique,
pour effacer le mot de passe dans la
mémoire lors du démontage des
« disques chiffrés », ou lors de la
fermeture du logiciel.
Verrouillage en mémoire des
variables susceptibles de contenir
des informations sensibles (ex: le
contenu de la RAM associé ne doit
pas pouvoir être copié dans le
fichier de SWAP du système
d'exploitation). Ce verrouillage n’est
toutefois pas toujours possible c’est
la raison pour laquelle la
documentation du logiciel préconise
la
désactivation
du
fichier
d’échange.
Réf : K08-JBB-CR-671-2008
Page 11 / 80
Évaluation CSPN
Rapport technique d’évaluation
2. Installation du produit
1. Particularité de paramétrage de l’environnement
L’architecture nécessaire à la réalisation de l’évaluation a été déployée à l’aide de machines virtuelles,
dans un souci de reproductibilité des tests et de stockage des archives. Nous utilisons pour cela le
logiciel VMware Workstation dans sa version 6.0.4 build-93057. La machine virtuelle utilisée est un
poste standard :
• sur lequel est installé Windows XP Professionnel, version 5.1 (2600), Service Pack 2,
• possédant l’ensemble des mises à jour disponibles depuis le site Windows Update au début de
l’évaluation.
L’installation a également été testée sur une machine virtuelle standard, sous Linux Ubuntu 7.04,
comprenant l’ensemble des mises à jour disponibles depuis les serveurs Canonical.
Enfin, l’installation a été effectuée sur un ordinateur portable Apple équipé de Mac OS X Leopard
10.5.4 à jour.
Aucun paramétrage supplémentaire n’a été effectué.
2. Options d’installation retenues pour le produit
L’installation sous Windows a été effectuée en conservant les options de TrueCrypt activées par défaut,
c'est-à-dire :
• l’association des fichiers .tc avec TrueCrypt ;
• la création d’un point de restauration ;
• la suppression du fichier de pagination.
Le package de localisation en français a ensuite été ajouté.
Sous Ubuntu et OS X l’installation se fait avec un installeur ne présentant pas d’options de
configuration.
3. Identification de la version installée
Le numéro de version installée est identifiable lors de l’installation : le nom du fichier d’installation
téléchargeable sur le site de l’éditeur est « TrueCrypt Setup 6.0a.exe ».
Une fois le produit installé, la version est identifiable dans la rubrique « A propos… » du menu « Aide »
de TrueCrypt. Une boîte de dialogue contenant la version du produit en gras apparaît :
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 12 / 80
Évaluation CSPN
Rapport technique d’évaluation
Figure 1 Identification de la version installée
4. Description de l’installation et des non-conformités éventuelles
L’installation ne pose aucun problème.
La seule non-conformité rencontrée par rapport à la documentation est que celle-ci ne détaille pas
qu’un message est affiché lors du premier lancement du programme. Ce message invite l’utilisateur à
lire une partie du guide de l’utilisateur, avant d’utiliser le produit :
Figure 2 Message affiché lors du premier lancement de TrueCrypt
La traduction de l’interface utilisateur ne fonctionne que sur les versions Windows, comme spécifié
dans la documentation.
5. Durée de l’installation
L’installation prend moins de 10 minutes.
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 13 / 80
Évaluation CSPN
Rapport technique d’évaluation
3. Analyse de la conformité
1. Analyse de la documentation
Nous nous concentrons lors de l’analyse de la documentation sur les points qui nous paraissent
essentiels pour une bonne utilisation et une bonne compréhension du fonctionnement du produit.
La documentation du produit se présente sous la forme de pages HTML consultables par un navigateur
web au sein de laquelle on peut naviguer via un menu. La documentation couvre l’étendue des
fonctionnalités du produit. Mises à part les informations telles que la licence du produit ou les
références qui ont contribué au développement du produit, on peut catégoriser les différents points de
la documentation comme appartenant à deux catégories :
• les informations permettant l’utilisation du produit ;
• les informations techniques permettant la compréhension du produit.
Bien que ces deux parties ne soient pas totalement indépendantes (il est nécessaire de comprendre un
minimum le fonctionnement technique de TrueCrypt pour l’utiliser correctement), cette division nous
paraît pertinente.
Dans la catégorie informations permettant l’utilisation du produit on peut classer les chapitres
suivants : Guides utilisateurs, Répudiation Crédible, Volume TrueCrypt, Fenêtre du programme principal,
Raccourcis, Keyfiles, Mode traveller, Droits administrateurs, Tâches de fonds, Packs Langues, Systèmes
supportés, Précautions de sécurité, Utilisation des lignes de commandes, Diagnostic des anomalies,
Incompatibilités, Problèmes connus, Désinstallation de TrueCrypt et Les systèmes de fichier TrueCrypt.
Parmi ces chapitres les deux nous paraissant les plus importants pour une bonne utilisation du produit
sont les Guides utilisateurs et les Précautions de sécurité. Ces deux parties sont assez complètes,
didactiques et contiennent de nombreux exemples. Ceci permet à l’utilisateur de prendre en main
aisément le produit et de l’utiliser de façon sûre.
Dans la catégorie « Informations techniques permettant la compréhension du produit », on peut classer
les chapitres suivants : Algorithmes de chiffrement et Algorithmes de hachage. Ces deux décrivent les
algorithmes de chiffrement et de hachages utilisés. Ils donnent également les références de ces
algorithmes dans les normes internationales et donnent des détailles techniques d’implémentation,
permettant à l’utilisateur d’approfondir ses recherches.
En conclusion la documentation de TrueCrypt est complète, didactique et détaillée. On peut regretter
cependant un manque de découpage clair entre les informations techniques sur le produit et les
informations nécessaires à l’utilisation du produit.
2. Revue du code source
Le code source complet est disponible depuis le site de TrueCrypt. Un fichier Readme.txt dans
l’archive du code source liste les outils nécessaires à la compilation, et l’environnement nécessaire à la
compilation du produit. Les outils sont Visual Studio 2008, Visual C++ 1.52 (disponibles sur le site de la
MSDN), le DDK (Driver Development Kit) de Visual Server 2008, les assembleurs yasm et nasm, et l’outil
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 14 / 80
Évaluation CSPN
Rapport technique d’évaluation
de compression gzip.
La compilation ne pose aucun problème une fois l’environnement paramétré.
Il est possible de compiler le projet en mode débogage. De nombreuses informations de débogage sont
alors disponibles lors de l’utilisation du produit.
Le code est écrit en plusieurs langages. La majorité du code est écrit en C. La partie concernant le
gestionnaire de démarrage, plus récente, est écrite en C++ et en assembleur 16 bits pour les parties bas
niveau. Certaines fonctions relatives à la cryptographie sont écrites en assembleur 32 bits ou 64 bits
dans un souci d’optimisation de la vitesse d’exécution. Ces choix de langage nous paraissent pertinents.
Le code source est réparti dans plusieurs répertoires. Il est globalement bien structuré.
• Le dossier « Boot » contient la source du bootloader installé par TrueCrypt si un volume
système est chiffré.
• Un dosser « Common » contient la liste des fichiers communs à l’ensemble des projets.
• Le dossier « Driver » contient le code du pilote TrueCrypt.
• Le dossier « Format » contient le code de l’exécutable « TrueCrypt Format.exe », chargé de la
création de nouveaux volumes chiffrés.
• Le dossier « Mount » contient le code de « TrueCrypt.exe », interface principale du programme,
qui permet entre autres le montage et démontage des volumes chiffrés.
• Un dossier « Platform » contient des définitions de classes et de manipulations d’objet
basiques. Ces objets sont utilisés par le bootloader.
• Le dossier « Setup » correspond au code de génération du programme « TrueCrypt Setup.exe ».
Cet outil est utilisé pour créer des installeurs pour TrueCrypt.
La taille des fonctions dans l’ensemble du programme est très variable. Alors que certains modules sont
correctement découpés, d’autres contiennent des fonctions extrêmement longue, sans que cela soit
justifié : il aurait été possible de rendre le code plus modulaire. La fonction MainDialogProc du
fichier Format/Tcformat.c contient plus de 1800 lignes de code, par exemple. Globalement, le
code des parties concernant l’interface graphique est plus mal écrit que celui des parties plus sensibles.
Le code est directement compilable pour des plateformes 32 bits et 64 bits. La portabilité d’un tel code,
exécuté sur de nombreuses parties du système (mode utilisateur, mode noyau, MBR, etc.) montre une
réelle rigueur de la part des développeurs.
En définitive, le code du programme TrueCrypt est assez bien pensé, et bien structuré. Certaines parties
sont moins lisibles que d’autres, principalement du fait de la longueur de certaines fonctions. Le code
des parties les plus récentes est plus lisible que celui datant d’anciennes versions.
3. Mécanismes cryptographiques
1. Conformité par séquences étalons
Des fonctions de tests des fonctions cryptographiques sont mises en œuvre dans TrueCrypt. Ces
vérifications se font par séquences étalons, et sont exécutées au lancement du programme et à la
demande de l’utilisateur. Les tests sont très basiques, en grande partie à cause des contraintes de
temps d’exécution. Ces tests n’ont pas été pris en compte pour l’évaluation de la conformité des
algorithmes.
Les tests ont été réalisés à partir de séquences étalons. Les fonctions de chiffrement sont toutes des
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 15 / 80
Évaluation CSPN
Rapport technique d’évaluation
candidates pour AES. Ce sont les séquences générées par l’implémentation de référence qui ont été
utilisées.
Les séquences étalons des fonctions de hachage proviennent de sources diverses.
Conformité de l’implémentation d’AES
Les suites étalon utilisées sont celles du NIST :
http://csrc.nist.gov/archive/aes/rijndael/rijndael-vals.zip.
Les tests ont été réalisés sur :
• Chiffrement AES en mode ECB avec des clés de 256 bits
• Déchiffrement AES en mode CBC avec des clés de 256 bits
Il s’agit de tests de Monte Carlo. L’algorithme utilisé pour le chiffrement est le suivant :
Algorithme : AESMonteEncryptECB
Entrées : Une clé K1 de 256 bits, un message m1
Sortie : VRAI si le test est correct, FAUX sinon
1. Initialiser et 2. Pour 0 400 Faire :
a. Pour 0 10000 Faire :
i. Calculer ii. b. Fin Pour
c. Vérifier que Ci est conforme. Sinon retourner FAUX
d. Générer ki+1
3. Fin Pour
4. Retourner VRAI
Le test est analogue pour le déchiffrement, en utilisant la fonction de déchiffrement dk au lieu de ek.
La conformité du chiffrement et du déchiffrement en mode CBC n’a pas été étudiée, ce mode n’étant
plus disponible dans la version 6.
Les résultats en mode ECB sont positifs.
Algorithme
Test
Résultat
AES
AESMonteEncryptECB
OK
AES
AESMonteDecryptECB
OK
Conformité de l’implémentation de Twofish
Les tests sont identiques à ceux réalisés sur AES. Les séquences étalon sont ceux fournis au NIST lors de
la soumission pour AES :
http://www.schneier.com/code/twofish-kat.zip
Les résultats en mode ECB sont positifs.
Algorithme
Test
Résultat
Twofish
TwofishMonteEncryptECB
OK
Twofish
TwofishMonteDecryptECB
OK
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 16 / 80
Évaluation CSPN
Rapport technique d’évaluation
Conformité de l’implémentation de Serpent
Les tests sont identiques à ceux réalisés sur AES. Les séquences étalon sont ceux fournis au NIST lors de
la soumission pour AES :
http://www.cl.cam.ac.uk/~rja14/Papers/serpent.tar.gz
Les résultats en mode ECB sont positifs.
Serpent
SerpentMonteEncryptECB
Résultat
Serpent
SerpentMonteEncryptECB
OK
Serpent
SerpentMonteDecryptECB
OK
Conformité de l’implémentation de SHA-512
Les tests réalisés sur SHA-512 utilisent les séquences étalon du NIST (« SHA Test Vectors for Hashing
Byte-Oriented Messages »). Ils sont disponibles à l’adresse :
http://csrc.nist.gov/groups/STM/cavp/documents/shs/shabytetestvectors.zip
La méthodologie utilisée est fondée sur celle du NIST détaillée dans (NIST, 2004). Il s’agit d’effectuer
trois tests : un avec des messages courts, un avec des messages longs et un dernier avec des messages
pseudo-aléatoires.
Messages courts
Une mise en œuvre de SHA doit générer correctement des empreintes pour des messages de longueur
arbitraire. Le test suivant porte sur la génération d’empreintes sur plusieurs messages courts, c'est-àdire dont la longueur est inférieure à l’espace de travail utilisé par l’algorithme. Les empreintes sont
calculées sur une série de messages de taille 0 à 1024 bits, par échelon de 8 bits.
Algorithme : SHA512ShortMsg
Entrée : une liste de 129 éléments (mi, hi), avec mi des messages de longueur 0 à 1024 bits
Sortie : VRAI si le test a réussi, FAUX sinon.
1. Pour 0 128 Faire :
a. Calculer b. Si :
i. Retourner FAUX
c. Fin Si
2. Fin Pour
3. Retourner VRAI
Messages longs
Une mise en œuvre de SHA doit générer correctement des empreintes pour des messages dépassant la
longueur de l’espace de travail de SHA. La taille m des messages vérifiés varie de 99 100 avec l taille de l’espace de travail (ici 1024 bits), soit ici :
1024 8 99 , 1 128.
Algorithme : SHA512LongMsg
Entrée : une liste de 128 éléments (mi, hi) avec mi des messages de longueur 1816 à 102400 bits
Sortie : VRAI si le test a réussi, FAUX sinon
1. Pour i de 1 à 129 Faire :
a. Calculer b. Si Alors :
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 17 / 80
Évaluation CSPN
Rapport technique d’évaluation
i. Retourner FAUX
c. Fin Si
2. Fin Pour
3. Retourner VRAI
Messages pseudo-aléatoires
Il s’agit d’un test de Monte Carlo. Les messages sont générés à partir d’une graine de 512 bits. La
graine est utilisée par un générateur d’aléa pour créer 100000 empreintes. Une empreinte sur 1000 est
enregistrée et vérifiée.
Algorithme : SHA512Monte
Entrée : une graine s, une liste de messages , 0 100
Sortie : VRAI si le test a réussi, FAUX sinon
1. Pour 0 100 Faire :
a. " #
b. Pour i de 3 à 1003 Faire :
i. Calculer $% |$" |$ c. Fin Pour
d. # "
e. Si :
i. Retourner FAUX
f. Fin Si
2. Fin Pour
3. Retourner VRAI
Les trois tests sont positifs.
Algorithme
Test
SHA-512
SHA512ShortMsg
SHA-512
SHA512LongMsg
SHA-512
SHA512Monte
Résultat
OK
OK
OK
Remarque : des tests identiques ont également été réalisés avec SHA-1, même si celui-ci n’est plus
disponible dans la version 6. Les tests s’adaptaient facilement, cette fonction a donc également été
testée. Les résultats sont également tous positifs.
Conformité de l’implémentation de Whirlpool
Les séquences étalon utilisées sont celles de la soumission de l’algorithme pour le projet NESSIE. La
mise en œuvre utilisée par TrueCrypt est l’implémentation NESSIE de référence, légèrement modifiée.
Les tests ont tout de même été réalisés.
Les séquences étalon sont disponibles ici :
http://planeta.terra.com.br/informatica/paulobarreto/whirlpool.zip
Trois tests ont été effectués :
• un test sur des messages de taille variable ayant tous leurs bits à zéro ;
• un autre sur des messages de 512 bits contenant un seul bit à 1 ;
• un dernier sur un message de 512 bits à 0, et dont l’empreinte est ré-hachée 100 000 000 de
fois.
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 18 / 80
Évaluation CSPN
Rapport technique d’évaluation
Messages de longueur variable
Ce test calcule l’empreinte de messages de taille allant de 0 à 1023 bits. Tous les bits de chaque
message sont à zéro. Les résultats obtenus sont comparés à la séquence de référence.
Algorithme : NESSIELength
Entrée : une liste d’empreintes , 0 1024
Sortie : VRAI si le test a réussi, FAUX sinon
1. Pour 0 1024 Faire :
a. Générer un message M de longueur i bits, avec tous ses bits à 0
b. Calculer '
c. Si :
i. Retourner FAUX
d. Fin Si
2. Fin Pour
3. Retourner VRAI
Message de 512 bits contenant un seul bit à 1
Ce test calcule l’empreinte de 512 messages mi de 512 bits. Le ième bit,0 512, est mis à 1 pour
chacun des messages. Les résultats obtenus sont comparés à la séquence de référence.
Algorithme : NESSIEOneBit
Entrée : une liste d’empreintes , 0 512
Sortie : VRAI si le test a réussi, FAUX sinon
1. Pour 0 512 Faire :
a. Générer un message M de 512 bits dont seul le ième bit est mis à 1
b. Calculer '
c. Si :
i. Retourner FAUX
d. Fin Si
2. Fin Pour
3. Retourner VRAI
Calcul d’une empreinte sur 100 millions d’itérations
Ce test calcule l’empreinte d’un message de 512 bits tous à zéro. L’empreinte résultante est ensuite
hachée, ceci 100 millions de fois.
Algorithme : NESSIEHundredMillion
Entrée : une empreinte h
Sortie : VRAI si le test à réussi, FAUX sinon
1. Générer m la chaine de 512 bits tous à 0
2. Pour 0 100000000 Faire :
a. Calculer h’ = H(M)
b. M = h’
3. Fin Pour
4. Si h = h’ retourner VRAI, sinon retourner FAUX
Les trois tests sont positifs.
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 19 / 80
Évaluation CSPN
Rapport technique d’évaluation
Algorithme
Whirlpool
Whirlpool
Whirlpool
Test
NESSIELength
NESSIEOneBit
NESSIEHundredMillion
Résultat
OK
OK
OK
Conformité de l’implémentation de RIPEMD-160
Les tests sur RIPEMD-160 ont été effectués à partir des séquences disponibles ici :
http://homes.esat.kuleuven.be/~bosselae/ripemd160.html
Seules 9 séquences sont disponibles. Les résultats sont tous positifs.
Algorithme
RIPEMD-160
Test
RIPEMDTestVectors
Résultat
OK
Conformité de l’implémentation de PBKDF2
La fonction de dérivation de clés PBKDF2 a été testée à partir des séquences étalons disponibles dans la
RFC 3962 (« Advanced Encryption Standard (AES) Encryption for Kerberos 5 »). La fonction sous-jacente
utilisée est un HMAC-SHA1.
Peu de séquences étalons utilisant d’autres fonctions de hachage sont disponibles. La mise en œuvre
de PBKDF2 avec les fonctions de hachage utilisées par TrueCrypt 6 a été vérifiée par revue du code
source. Les différences trouvées portent uniquement sur l’appel de fonctions de hachage différentes
pour chaque HMAC.
La graine, le mot de passe et leurs longueurs, ainsi que le nombre d’itérations sont variables dans les
différentes séquences.
Les résultats obtenus sont positifs.
Algorithme
PBKDF2
Test
PBKDF2-HMAC-SHA1TestVectors
Résultat
OK
Conformité de l’implémentation du mode XTS
La mise en œuvre du mode XTS a été vérifiée à partir des séquences étalon spécifiées dans IIIE 1619
(IEEE, 2008). N’ayant pas accès à la version complète de ce document, les vecteurs ont été récupérés
depuis les sources d’OpenBSD à l’adresse :
http://www.openbsd.org/cgi-bin/cvsweb/src/regress/sys/crypto/aesxts/
Les séquences disponibles utilisent AES comme fonction de chiffrement, avec des clés de 128 ou 256
bits. Les tests ont porté sur les 5 séquences avec des clés de 256 bits. TrueCrypt utilise les mêmes
séquences lors de son lancement pour vérifier la conformité de la mise en œuvre. Des tests
indépendants ont toutefois été réécrits.
Les résultats obtenus sont positifs.
Algorithme
Test
Résultat
XTS-AES
XTS-AES256TestVectors
OK
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 20 / 80
Évaluation CSPN
Rapport technique d’évaluation
Les mêmes fonctions sont utilisées l’utilisation du mode XTS avec les autres fonctions de chiffrement
disponibles. Nous considérons donc que la mise en œuvre de ce mode est correcte.
2. Conformité par revue de code source
Effacement des données sensibles
L’effacement des données sensibles se fait toujours en appelant la fonction burn, définie dans le
fichier Tcdefs.h. Cette macro-fonction est définie comme suit :
1. #define burn(mem, size)
2. do {
3.
volatile char *burnm = (volatile char *) (mem);
4.
int burnc = size;
5.
RtlSecureZeroMemory (mem, size);
6.
while (burnc--) *burnm++ = 0;
7. } while (0)
Deux procédures d’effacement sont donc appelées : la seconde remet tous les octets de la mémoire à
zéro. La première, définie dans WinNT.h, fait exactement la même chose : elle n’a pas d’utilité réelle
si le programme est compilé avec Visual Studio 2008.
Contexte des algorithmes de chiffrement
Les fonctions de chiffrement sont toujours utilisées à l’aide d’un wrapper sur les fonctions de bas
niveau. En particulier, un contexte de chiffrement est manipulé par 3 fonctions : crypto_open,
crypto_loadkey et crypto_close.
crypto_open alloue une structure de type KEY_INFO, contenant entre autres des clés de
chiffrement et les contextes de chiffrement associés. Elle est initialisée à 0 et verrouillée en mémoire à
l’aide de VirtualLock si elle est appelée en mode utilisateur.
crypto_close détruit les données du contexte en appelant la fonction burn, puis déverrouille la
structure avec VirtualUnlock. Enfin, la mémoire précédemment allouée est libérée.
Il y a donc un mécanisme de sécurité empêchant la copie des clés sur le disque. Les contextes de
chiffrement, et donc les variables intermédiaires utilisées par les fonctions de chiffrement, sont
correctement effacés si la fonction crypto_close est appelée quand les clés de chiffrement ne sont
plus nécessaires. Une revue du code source semble montrer que cette fonction est toujours appelée.
Algorithme de dérivation de clé PBKDF2
La fonction de dérivation de clé PBKDF2 présente un problème de mise en œuvre : les fonctions
derive_u_whirlpool, derive_u_sha512 et derive_u_ripemd160 ne convertissent pas
correctement l’index de bloc en notation big endian. Seul l’octet de poids faible est pris en compte, les
trois autres étant considérés nuls.
Le mécanisme mis en œuvre présente alors des cycles de longueur 256 fois la taille des condensats
générés :
• 5120 octets pour RIPEMD-160 ;
• 16384 pour SHA-512 et Whirlpool.
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 21 / 80
Évaluation CSPN
Rapport technique d’évaluation
Ce problème n’a aucun impact sur la sécurité du produit : les appels à cette demandent au maximum
des données de 1536 octets (soient 6 clés de 256 bits).
Enfin, toutes les variables intermédiaires sensibles sont correctement effacées, quelle que soit la
fonction de hachage utilisée.
La fonction de dérivation de clé PBKDF2 telle que mise en œuvre dans TrueCrypt n’est pas de niveau
standard. Le problème de mise en œuvre identifié, déjà présent dans la version 4.2, ne crée toutefois,
tel qu’il est utilisé, aucun affaiblissement de nature cryptographique.
3. Conformité du générateur d’aléa
Le générateur d’aléa est le même que celui mis en œuvre dans la version 4.2, à ceci près que le tableau
d’aléa utilisé est deux fois plus grand. Les conclusions sont donc les mêmes que celles de la version 4.2.
La règle suivante n’est pas respectée :
• RègleSArchiGDA-2 : Un générateur physique d’aléa ou des éléments secrets combinés avec une
mémoire non volatile doivent être employés.
Le générateur est formé d’un état perturbé par des éléments extérieurs ne constituant pas une
véritable source physique d’aléa, retraités par une fonction de hachage cryptographique de niveau
standard. Cette composition n’est pas reconnue de niveau standard pour la génération d’aléa selon le
référentiel de la DCSSI.
4. Conformité des fonctions de calcul d’intégrité
L’intégrité de l’en-tête de volume déchiffré est assurée par deux CRC-32 et une chaine de 4 octets. Le
CRC-32 n’est pas un mécanisme cryptographique, tout comme la comparaison d’une partie de l’en-tête
avec 4 octets fixés.
Ces informations, en particulier la valeur « TRUE », donnent des informations sur les données présentes
dans l’en-tête. Toutefois, l’en-tête est chiffré avec les mêmes algorithmes que ceux utilisés pour le
chiffrement du volume. Une attaque à texte clair partiellement connu ne paraît pas envisageable.
Le mécanisme de vérification de l’intégrité des données n’est pas de niveau standard. Il faut
cependant noter qu’il est principalement utilisé pour authentifier l’utilisateur plus que pour vérifier
l’intégrité des données de l’en-tête.
4. Fonctionnalités testées
L’ensemble des fonctionnalités testées s’est avéré conforme à sa cible de sécurité.
L’analyse de conformité n’a pas été réalisée concernant la « suppression des données temporaires ».
Certaines données en mémoire, comme les clés de chiffrement, ne sont pas triviales à retrouver sans
connaitre leur valeur. L’étude a donc été faite par analyse de code source. Les résultats sont présentés
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 22 / 80
Évaluation CSPN
Rapport technique d’évaluation
dans la section « Liste des vulnérabilités découvertes lors de l’analyse et non connues des bases
utilisées ».
D’autres points, comme la vérification du format du volume chiffré, ont été étudiés avec un outil en
Python développé pendant l’évaluation. Il permet de parser l’en-tête d’un conteneur TrueCrypt, en
particulier les clés de chiffrement, et de manipuler grossièrement le contenu du disque chiffré.
5. Synthèse des fonctionnalités testées/non testées et des nonconformités
Les fonctionnalités portant les intitulés suivants (cf. Annexe 1 : Fiches d’analyse de conformité des
fonctions de sécurité) ont été testées :
• Génération des mots de passe
o Modification des mots de passes d’un volume chiffré (Tableau 5 Test_Changement_motdepasse_1 et Tableau 6 - Test_Changement_motdepasse_2)
o Changement des mots de passe d’un volume caché (Tableau 8 Test_Changement_motdepasse_volcache_1
et
Tableau
9
Test_Changement_motdepasse_volcache_2)
o Vérification de la robustesse des mots ou phrases de passe lors de la création de
volumes TrueCrypt (Tableau 21 - Test_qualite_mots_de_passes_1)
o Gestion des fichiers keyfiles (Tableau 11 - Test_Genkeyfiles_1, Tableau 12 Test_taille_keyfiles_1, Tableau 13 - Test_utilisation_keyfiles_1 et Tableau 14 Test_donnees_utiles_keyfiles_1)
• Administration des fonctions de sécurité :
o Création d’un volume chiffré dans un conteneur (Tableau 4 Test_Cree_VolChiffre_Conteneur_1)
o Création d’un volume caché (Tableau 7 - Test_Creer_Vol_cache_1)
o Création d’une partition système chiffrée (Tableau 1 – Test_Creation_Part_Chiffree_1)
o Création d’une partition système primaire chiffrée et d’une partition système
secondaire chiffrée contenant une copie cachée du système d’exploitation. (Tableau 2
– Test_Creation_Syst_Cache_1)
o Montage du volume externe et caché de la partition système secondaire contenant
une copie cachée du système d’exploitation (Tableau 3 - Test___1)
o Démontage automatique des disques chiffrés à la fermeture de l’OS (Tableau 15 Test_demontage_fermeture_OS_1)
o Démontage automatique des disques chiffrés à la mise en veille (Tableau 16 Test_demontage_mise_en_veille_1)
o Démontage automatique des disques chiffrés à la fermeture de session (Tableau 17 Test_demontage_fermeture_session_1)
o Démontage automatique des disques chiffrés lors de déclenchement de l’économiseur
d’écran (Tableau 18 - Test_demontage_economiseur_ecran_1)
o Démontage automatique des disques chiffrés lors de l’atteinte du délai fixé par
l’utilisateur (Tableau 19 - Test_demontage_atteinte_delai_1)
o Démontage automatique des disques chiffrés lors de la mise en mode économie
d’énergie (Tableau 24 - Test_demontage_economie_energie_1)
o Forçage du démontage des volumes contenant des fichiers ou programmes en cours
d’utilisation (Tableau 20 - Test_forcer_demontage_1)
•
Protection des données de l’utilisateur
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 23 / 80
Évaluation CSPN
Rapport technique d’évaluation
o
o
Protection du volume caché chiffré contre les dommages (Tableau 10 Test_Protect_Vol_cache_1)
Tests d’intégrité du volume et restauration des en-têtes défectueux (Tableau 22 Test_integrite_recuperation_1 et Tableau 23 - Test_integrite_recuperation_2)
6. Avis d’expert sur le produit
Le produit est conforme à sa cible de sécurité. Toutes les fonctionnalités testées sont implémentées.
7. Durée de l’analyse
L’analyse de conformité a duré 7 jours.
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 24 / 80
Évaluation CSPN
Rapport technique d’évaluation
4. Analyse de la résistance des fonctions et mécanismes
1. Liste des mécanismes et cotations de leur résistance
Les précédentes étapes de l’évaluation nous ont permis d’identifier les mécanismes de sécurité
suivants :
1. Résistance du mot de passe d’un volume chiffré
Facteur
Temps mis
pour
Expertise de
l’attaquant
Connaissance
nécessaire à
l’attaque
Identification d’une
vulnérabilité
Exploitation
d’une
vulnérabilité
*
*
Compétent(2)
Profane(0)
Informations
publiques (2)
Informations
publiques (2)
Indétectable(0)
Indétectable(0)
Standard (1)
Standard (2)
*
*
Accès au
produit par
l’attaquant
Type
d’équipement
nécessaire
pour
exploiter la
vulnérabilité
Somme des
valeurs
Potentiel d’attaque
Niveau de
requis :
résistance :
Elevé
Elevé
Ce mécanisme est complexe à coter.
• Premièrement, l’attaque est triviale à identifier et à mener.
• La résistance de ce mécanisme est fortement liée à la politique de mot de passe de l’utilisateur.
TrueCrypt recommande l’utilisation de mots de passe de plus de 20 caractères, mais ne vérifie pas la
qualité du mot de passe choisi. Nous considérons ici que le mot de passe est conforme aux
recommandations de TrueCrypt, et qu’il n’est pas trivial à retrouver (ce n’est pas une chaîne répétée
plusieurs fois, ni une concaténation de plusieurs mots d’un dictionnaire).
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 25 / 80
Évaluation CSPN
Rapport technique d’évaluation
La fonction de dérivation de clé PKBDF2 utilisée, combinée à un mot de passe fort, rendra l’attaque a
priori impraticable. La taille du sel utilisé, de 64 octets, rend impossible toute attaque par pré-calcul. Le
temps nécessaire à une recherche exhaustive est alors excessivement long.
2. Résistance du mécanisme de vérification d’intégrité sur le volume
Facteur
Temps mis
pour
Expertise de
l’attaquant
Connaissance
nécessaire à
l’attaque
Identification d’une
vulnérabilité
Exploitation
d’une
vulnérabilité
*
*
Compétent(2)
Profane(0)
Informations
publiques (2)
Informations
publiques (2)
Indétectable(0)
Indétectable(0)
Standard (1)
Standard (2)
*
*
Accès au
produit par
l’attaquant
Type
d’équipement
nécessaire
pour
exploiter la
vulnérabilité
Somme des
valeurs
Potentiel d’attaque
Niveau de
requis :
résistance :
Elevé
Elevé
Le mécanisme de vérification d’intégrité de l’en-tête d’un volume repose sur la présence de la chaine
« TRUE » dans l’en-tête du volume déchiffré ainsi que la validité de deux CRC32 dans cet en-tête. La
probabilité de générer un en-tête de volume vérifiant le mécanisme d’intégrité est de l’ordre de
")*
.
On considère l’attaque sur l’intégrité du comme impraticable. Le mécanisme d’intégrité mis en place
n’est toutefois pas conforme aux recommandations de la DCSSI : il n’utilise pas de fonctions de
hachage cryptographique.
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 26 / 80
Évaluation CSPN
Rapport technique d’évaluation
3. Résistance du mot de passe d’un volume caché et du déni plausible
Facteur
Temps mis
pour
Expertise de
l’attaquant
Connaissance
nécessaire à
l’attaque
Identification d’une
vulnérabilité
Exploitation
d’une
vulnérabilité
*
*
Compétent(2)
Profane(0)
Informations
publiques (2)
Informations
publiques (2)
Indétectable(0)
Indétectable(0)
Standard (1)
Standard (2)
*
*
Accès au
produit par
l’attaquant
Type
d’équipement
nécessaire
pour
exploiter la
vulnérabilité
Somme des
valeurs
Potentiel d’attaque
Niveau de
requis :
résistance :
Elevé
Elevé
Nous n’avons pas trouvé, au cours de l’évaluation, un moyen de révéler la présence d’un volume caché
dans un volume TrueCrypt. La résistance du mot de passe du volume caché et de la présence d’un
volume caché est équivalente à celle d’un volume chiffré.
La résistance de ce mécanisme est la même que celle du mécanisme de résistance du mot de passe
d’un volume normal.
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 27 / 80
Évaluation CSPN
Rapport technique d’évaluation
4. Résistance des clés maître de chiffrement
Facteur
Temps mis
pour
Expertise de
l’attaquant
Connaissance
nécessaire à
l’attaque
Identification d’une
vulnérabilité
Exploitation
d’une
vulnérabilité
*
*
Expert (5)
Expert (4)
Informations
publiques (2)
Informations
publiques (2)
Indétectable(0)
Indétectable(0)
Spécialisé (3)
Standard (2)
*
*
Potentiel d’attaque
Niveau de
requis :
résistance :
Elevé
Elevé
Accès au
produit par
l’attaquant
Type
d’équipement
nécessaire
pour
exploiter la
vulnérabilité
Somme des
valeurs
Les clés de chiffrement du volume sont retournées par le générateur d’aléa de TrueCrypt. La résistance
des clés maîtres de chiffrement repose et sur les algorithmes de chiffrement utilisés, et sur le
générateur d’aléa. Ces mécanismes cryptographiques sont considérés comme sûrs. En particulier,
aucune attaque opérationnelle n’existe sur les fonctions de chiffrement et le mode de chiffrement
utilisés.
L’attaque sur les clés maîtresses de chiffrement revient alors à une recherche exhaustive sur ces clés.
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 28 / 80
Évaluation CSPN
Rapport technique d’évaluation
5. Résistance du déni plausible du système d’exploitation caché
Facteur
Temps mis
pour
Expertise de
l’attaquant
Connaissance
nécessaire à
l’attaque
Identification d’une
vulnérabilité
Exploitation
d’une
vulnérabilité
*
*
Compétent(2)
Profane(0)
Informations
publiques (2)
Informations
publiques (2)
Indétectable(0)
Indétectable(0)
Standard (1)
Standard (2)
*
*
Potentiel d’attaque
Niveau de
requis :
résistance :
Elevé
Elevé
Accès au
produit par
l’attaquant
Type
d’équipement
nécessaire
pour
exploiter la
vulnérabilité
Somme des
valeurs
Prouver l’existence d’un système caché revient à prouver celle d’un volume caché. Les formats utilisés
sont les mêmes, du point de vue cryptographique.
L’existence d’un système d’exploitation caché est, en pratique, en fait plus difficile à prouver que celle
d’un volume caché : la présence d’un volume caché est parfois facile à supposer à cause d’éléments
extérieurs à TrueCrypt, causés par le système d’exploitation ou les applications tierces (Alexei Czeskis,
2008). Ceci n’est pas possible dans le cas d’un système caché.
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 29 / 80
Évaluation CSPN
Rapport technique d’évaluation
2. Robustesse des mécanismes cryptographiques
1. Robustesse des algorithmes de chiffrement symétrique
Twofish
Twofish est une fonction de chiffrement par blocs, utilisant des blocs de 128 bits. TrueCrypt utilise
Twofish avec des clés de 256 bits.
Aucune attaque n’a été publiée sur Twofish depuis l’évaluation de la version 4.2 de TrueCrypt.
L’algorithme Twofish est un algorithme de chiffrement par bloc de niveau standard.
AES
TrueCrypt utilise AES avec des clés de 256 bits.
L’AES, tel qu’il est spécifié dans le FIPS-197, est un mécanisme de chiffrement par blocs de niveau
standard (DCSSI, 2006).
Serpent
Serpent est un algorithme de chiffrement par blocs utilisant des blocs de 128 bits. TrueCrypt utilise
Serpent avec des clés de 256 bits.
Il n’existe actuellement pour la version non réduite de Serpent aucune attaque théorique plus efficace
qu’une recherche exhaustive.
La meilleure attaque contre Serpent est une attaque par cryptanalyse différentielle linéaire. Elle
attaque 11 tours (Serpent possède 32 tours) avec une complexité en temps de 2139,2 et 2125,3 textes
clairs choisis (Eli Biham, 2003). Cette attaque est donc totalement théorique.
L’algorithme Serpent est un algorithme de chiffrement par bloc de niveau standard.
Mode opératoire XTS pour le chiffrement par blocs
Le mode opératoire LRW était utilisé dans la version 4.2 de TrueCrypt. Des problèmes de sécurité sont
apparus sur ce mode (Hars, 2006). C’est pourquoi le mode XTS est maintenant utilisé. Il s’agit d’une
variante du mode XEX, justement utilisé pour pallier les problèmes rencontrés avec le mode LRW. Le
mode XTS utilisé avec AES a été standardisé par l’IEEE P1619 (Standard for Cryptographic Protection of
Data on Block-Oriented Storage Device) (IEEE 1619, 2008).
Le mode XTS est en cours de standardisation par le NIST, en tant que mode opératoire pour l’AES.
La DCSSI recommande (DCSSI, 2006) l’emploi d’un mode opératoire de chiffrement non déterministe,
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 30 / 80
Évaluation CSPN
Rapport technique d’évaluation
ce qui est le cas du mode XTS. À ce jour, aucune attaque n’est publiée sur ce mode. Des critiques ont
été faites quant à l’abandon du mode LRW pour IEEE P1619 : elles insistaient sur le fait que ce mode
était soumis à études depuis des années, ce qui n’était pas le cas des autres modes proposés, comme
XTS.
Une attention particulière a été portée sur les conséquences de la perte d’une des clés de chiffrement :
la perte de la clé secondaire permettait des attaques sur le mode LRW. Or, cette clé n’est justement pas
correctement effacée de la mémoire sous certaines conditions, dans TrueCrypt. Nous n’avons trouvé
aucune attaque de ce type avec le mode XTS.
La règle et la recommandation suivantes sont respectées :
• RègleSModeChiff-1 : Au sein du modèle de sécurité correspondant à l’usage du mode de
chiffrement, il ne doit exister aucune attaque de complexité inférieure à2+ , où , est la taille en
bits du bloc.
• RecomSModeChiff-1 : L’emploi d’un mode opératoire de chiffrement non déterministe est
recommandé.
L’algorithme XTS utilisé avec AES, Serpent ou Twofish est un mécanisme de chiffrement symétrique de
niveau standard.
2. Procédures de validation des éléments secrets
Il n’est plus possible de créer des volumes chiffrés avec le mode LRW. La fonction
DetectWeakSecondaryKey, testant la faiblesse des clés secondaires pour ce mode, a donc été
supprimée. Son utilisation n’était pas fondée d’un point de vue cryptographique (DCSSI, 2008).
TrueCrypt ne vérifie pas si des clés faibles sont utilisées pour le mode XTS. Les développeurs
considèrent que la probabilité d’utiliser une clé faible est nulle :
/* Note: XTS mode could potentially be initialized with a weak key causing
all blocks in one data unit on the volume to be tweaked with zero tweaks
(i.e. 512 bytes of the volume would be encrypted in ECB mode). However, to
create a TrueCrypt volume with such a weak key, each human being on Earth
would have to create approximately 11,378,125,361,078,862 (about eleven
quadrillion) TrueCrypt volumes (provided that the size of each of the
volumes is 1024 terabytes). */
3. Traitement du mot de passe utilisateur
Description générale
Un volume peut être monté avec un mot de passe et/ou des fichiers clés. Le mot de passe est stocké
dans une structure Password contenant sa longueur, d’au plus 64 caractères, et sa valeur. Des
opérations sur les fichiers clés sont effectuées afin d’obtenir également une structure Password pour
l’ensemble des fichiers clés.
Enfin, les deux structures obtenues sont fusionnées, avec une addition octet par octet modulo 2- .
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 31 / 80
Évaluation CSPN
Rapport technique d’évaluation
Le mot de passe n’est pas modifié, et les clés de chiffrement sont directement dérivées de sa valeur.
Les opérations effectuées sur les fichiers clés sont détaillées dans la partie suivante.
Manipulation des fichiers clés
Les données des fichiers clés sont traitées afin d’obtenir un « mot de passe aléatoire » pour le volume,
d’une taille fixe de 64 octets. On peut donc la considérer comme une fonction de hachage. L’algorithme
de traitement KeyFileProcess pour chaque fichier clé est le suivant :
Algorithme : KeyFileProcess
Entrée : un tableau . . , . , … , .0$ de longueur octets, contenu du fichier clé, un tableau d’aléa
1 1 , 1 , … , 12% de 64 octets
Sortie : le tableau d’aléa 1 modifié
1. 4 0566666666
2. 0
3. Pour 0 Faire :
a. 4 789:32. , 4
b. 1 1 4 < 24 =. 2c. 1 1 4 < 16 =. 2d. 1" 1" 4 < 8 =. 2e. 1% 1% 4 =. 2f. 3=. 64
4. Retourner 1
UPDC32 est la fonction de mise à jour de CRC-32. Elle prend en paramètre un octet à traiter, et le haché
courant. Elle retourne la nouvelle valeur du haché.
1 est utilisé pour l’ensemble des fichiers clés. Sa valeur est mise à jour chaque fois qu’un nouveau
fichier clé est traité.
Il est trivial de trouver des collisions dans cette fonction.
Exemple : Prenons une chaine de 13 caractères, contenant les données « TrueCrypt 6.0 ». Le CRC
de ces données est 0x9392B2F1. Lors de l’appel de la fonction KeyFileProcess, 52 octets vont
être écrits dans 1.
Ajoutons maintenant 4 autres caractères à cette chaine, formés de façon à ce que le CRC-32 de la
chaine complète soit nul. Pour cela, on rajoute les octets 0xF1, 0xB2, 0x92 et 0x93.
Après l’ajout du 16e octet, va valoir 0. Le 17e et dernier octet sera donc écrit au début de 1. Le haché
ayant une valeur nulle, les valeurs de 1 ne seront pas modifiées.
On crée un fichier conteneur de test, protégé par un fichier clé contenant les données « TrueCrypt
6.0\xF1\xB2\x92\x93 ».
Le volume peut alors être monté avec le fichier clé suivant : « TrueCrypt 6.0\xF1\xB2\x92 ».
Il est possible de monter un volume TrueCrypt avec plusieurs fichiers clés différents.
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 32 / 80
Évaluation CSPN
Rapport technique d’évaluation
Le mécanisme utilisé pour traiter les fichiers clés n’atteint pas le niveau standard.
4. Mécanisme de dérivation de clé PBKDF2
Le mécanisme de dérivation de clé est le même que celui de la version 4.2.
Dans la version 4.2, il était possible d’entrer des mots de passe de plus de 64 caractères ; seuls les 64
premiers caractères étaient alors utilisés. Ce n’est plus possible dans cette version.
Lorsqu’un mot de passe court est entré, un message d’avertissement est affiché, préconisant d’utiliser
des mots de passe d’au moins 20 caractères. Dans la version 4.2, ce message s’affichait si le mot de
passe entré par l’utilisateur faisait moins de 12 caractères. La version 6 n’affiche ce message que si le
mot de passe fait moins de 20 caractères.
Le nombre d’itérations pour PBKDF2 n’est plus 2000 pour chaque fonction de hachage : 1000 itérations
sont utilisées pour SHA-512 et Whirlpool, en raison de la lenteur de ces algorithmes par rapport aux
précédents algorithmes utilisés (RIPEMD-160 et SHA-1). Ceci ne pose toutefois pas de problème de
sécurité, et suit la recommandation de PKCS#5 d’utiliser au moins 1000 itérations.
Aucune attaque n’a été publiée sur PBKDF2 depuis la version 4.2 de TrueCrypt.
Le mécanisme de dérivation des clés PBKDF2, utilisé comme spécifié dans PKCS#5, est un mécanisme
cryptographique de niveau standard.
3. Avis d’expert sur la résistance des mécanismes de sécurité
Les mécanismes de sécurité mis en œuvre dans TrueCrypt nous paraissent tous robustes. S’il existe des
vulnérabilités dans le produit (voir section « Analyse des vulnérabilités »), les mécanismes, aussi bien
pris séparément que dans leur ensemble, sont bien pensés. Ils s’appuient soit sur des standards
reconnus (notamment AES et PBKDF2), soit sur l’état de l’art (comme XTS et Whirlpool).
L’analyse du code source montre que les développeurs se sont souciés des problèmes de sécurité liés à
l’utilisation de TrueCrypt, en particulier en ce qui concerne la gestion des clés et le déni plausible.
L’enchainement des mécanismes est bien construit. L’impression générale est que le produit est solide.
4. Durée de l’analyse
L’analyse a duré 6 jours.
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 33 / 80
Évaluation CSPN
Rapport technique d’évaluation
5. Analyse des vulnérabilités
1. Listes des vulnérabilités connues ou potentielles à la souscatégorie
1. Bases CVE
Il existe trois vulnérabilités publiques sur TrueCrypt dans les bases CVE du NIST :
• CVE-2007-1738
Summary: TrueCrypt 4.3, when installed setuid root, allows local users to cause a denial of service
(filesystem unavailability) or gain privileges by mounting a crafted TrueCrypt volume, as demonstrated
using (1) /usr/bin or (2) another user's home directory, a different issue than CVE-2007-1589.
Published: 3/28/2007
CVSS Severity: 6.9 (Medium)
• CVE-2007-1589
Summary: TrueCrypt before 4.3, when set-euid mode is used on Linux, allows local users to cause a
denial of service (filesystem unavailability) by dismounting a volume mounted by a different user.
Published: 3/21/2007
CVSS Severity: 2.1 (Low)
• CVE-2006-2183
Summary: Untrusted search path vulnerability in Truecrypt 4.1, when running suid root on Linux, allows
local users to execute arbitrary commands and gain privileges via a modified PATH environment
variable that references a malicious mount command.
Published: 5/4/2006
CVSS Severity: 7.2 (High)
Ces vulnérabilités concernent toutes les versions Linux de TrueCrypt. Elles ont été a priori corrigées
dans les versions suivantes de TrueCrypt. Il n’a pas été vérifié si ces vulnérabilités étaient également
présentes sur les versions Windows de TrueCrypt.
2. Mauvaise gestion de l’hibernation
Deux vulnérabilités sur la version 5.1 de TrueCrpyt ont été publiées sur un site russe (ntldr, 2008). Elles
concernaient la mise en hibernation du système. TrueCrypt utilisait le nom du contrôleur de stockage
pour déterminer si les fonctions de dump du disque devaient être filtrées. Ces fonctions sont utilisées
pour générer un crashdump en cas d’erreur dans le noyau, et pour écrire le contenu de la mémoire vive
sur le disque pendant la mise en hibernation. Si un pilote non présent dans la liste était utilisé, et que
celui-ci possédait ces fonctionnalités de dump, alors le fichier d’hibernation et le crashdump seraient
écrits en clair sur le disque. Les clés de chiffrement du disque système (et celles des volumes montés)
seraient alors accessibles en lisant ce fichier.
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 34 / 80
Évaluation CSPN
Rapport technique d’évaluation
Une structure DUMP_INITIALIZATION_CONTEXT est passée par le système au pilote lors de
l’initialisation de celui-ci. Cette structure contient deux fonctions d’écriture sur le disque :
WriteRoutine et WritePendingRoutine. TrueCrypt ne filtrait, d’après le site, que la fonction
WritePendingRoutine. Si le pilote de dump ne gère pas la fonction WritePendingRoutine,
alors c’est la fonction WriteRoutine qui sera appelée, et le fichier d’hibernation sera écrit en clair
sur le disque. Nous sommes circonspects quant à l’existence de cette vulnérabilité : d’après les sources
de la version 5.1, les deux fonctions sont correctement filtrées.
Ces deux vulnérabilités n’existent pas dans la version 6.0a.
3. La mémoire clavier du BIOS n’est pas effacée
Une vulnérabilité a été publiée pendant l’évaluation. Il s’agit d’un problème dans la gestion du mot de
passe entré lors du démarrage d’un système chiffré (Jonathan Brossard, 2008). Elle concerne la version
5, et a été en partie corrigée dans la version 6.
Cette vulnérabilité a été publiée dans (Jonathan Brossard, 2008). Elle concerne l’utilisation de
TrueCrypt avec une partition système entièrement chiffrée. Le gestionnaire de démarrage de la version
5.0 effaçait correctement le mot de passe de sa mémoire, mais ne vidait pas le tampon de mémoire
clavier du BIOS. Ce tampon est situé à l’adresse 0040:001E. Il était alors possible, une fois la machine
démarrée, de lire le contenu de ce tampon pour récupérer tout ou partie du mot de passe (le tampon
mémoire clavier du BIOS étant limité à 16 caractères).
Cette vulnérabilité a été corrigée dans la version étudiée. Elle a été reproduite en désactivant les
fonctions de sécurité ajoutées dans cette version. Les données suivantes ont alors été observées (le
mot de passe de démarrage étant « bonjour ») :
Figure 3 - Etat de la mémoire tampon clavier du Bios après démarrage de la machine
Le mot de passe est bien présent dans la mémoire clavier du BIOS. La vulnérabilité a bien été corrigée
dans la version 6.0a. Le tampon du clavier est effacé par la fonction
ClearBiosKeystrokeBuffer, présente dans le fichier BootConsoleIo.cpp.
Voici l’état de la mémoire que l’on peut observer sur un système chiffré avec TrueCrypt 6.0a une fois la
machine démarrée :
Figure 4 - Etat de la mémoire tampon clavier du Bios après démarrage de la machine
On constate que le tampon a été complètement effacé (zone de données entourées de rouge). Ce test
a été réalisé sur une machine ayant un mot de passe de 10 caractères.
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 35 / 80
Évaluation CSPN
Rapport technique d’évaluation
4. Vulnérabilités potentielles
La recherche de vulnérabilités se focalisera sur les points suivants :
• Format du volume
Les parsers de fichiers manipulent souvent des données de manière incorrecte, ce qui peut entrainer
des problèmes de sécurité. Le format des volumes a été conçu, semble-t-il, d’une façon à éviter ces
erreurs (très peu d’adresses, tampons de taille fixe, etc.).
• Paramètres envoyés au pilote
TrueCrypt installe un pilote, qui reçoit des commandes depuis le mode utilisateur. Ces commandes et
les données associées doivent être correctement manipulées par le pilote, afin d’éviter des attaques
entrainant une élévation de privilèges.
• Gestion des clés
Les clés de chiffrement ou le mot de passe utilisateur doivent être effacés de la mémoire dès qu’ils ne
sont plus utilisés. C’est également le cas des contextes de chiffrement et de hachage, et de celui du
générateur d’aléa.
2. Liste des vulnérabilités réellement testées
Voici la liste des vulnérabilités qui ont été testées :
•
•
•
•
•
•
•
Non effacement du mot de passe dans la mémoire du bootloader ;
Non effacement du mot de passe dans le tampon mémoire clavier du BIOS ;
Non effacement du mot de passe dans la mémoire du pilote ;
Mauvaise gestion des paramètres d’en-tête des volumes chiffrés ;
Mauvaise gestion des paramètres reçus par le pilote ;
Non effacement des clés dans la mémoire du processus utilisateur ;
Non effacement des mots de passe dans la mémoire du processus utilisateur.
3. Liste des vulnérabilités découvertes lors de l’analyse et non
connues des bases utilisées
5. Informations sur la longueur du mot de passe dans la mémoire du
BIOS
La découverte de cette vulnérabilité fait suite au test de vulnérabilité concernant le non effacement du
tampon mémoire du clavier du BIOS. Ceci concerne le cas d’une partition système entièrement chiffrée.
Causes
Le tampon clavier du BIOS est correctement effacé. En revanche, le pointeur vers le dernier caractère
du tampon n’est pas effacé. Ceci permet de retrouver la longueur du mot de passe modulo 16.
Voici les informations contenues dans la mémoire du BIOS :
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 36 / 80
Évaluation CSPN
Rapport technique d’évaluation
•
•
•
Adresse 0040:001A : pointeur vers dernier caractère du tampon ;
Adresse 0040:001C : pointeur vers le prochain caractère à écrire dans le tampon ;
Adresse 0040:001E : tampon clavier.
Le tampon clavier a une taille de 32 octets. Chaque caractère est codé sur deux octets : le premier
caractère est encodé en ASCII, le second est le scancode BIOS. Le tampon clavier contient donc 16
caractères, le dernier étant le caractère « Entrée ».
Appelons p1 et p2 respectivement le pointeur vers le dernier caractère du tampon et le pointeur vers le
prochain caractère à écrire dans le tampon. TrueCrypt efface le contenu du tampon mais pas le
contenu de p1 et de p2. Sur un système où TrueCrypt 6.0a est installé et la machine démarrée, p1 et p2
sont égaux et non nuls. Connaissant p1 et p2, il est possible d’obtenir des informations sur la taille du
mot de passe.
En effet, dans le cas ou l’utilisateur a entré un mot de passe valide sans erreur au boot, p1 et p2
pointent vers le la fin des données dans le tampon, à savoir le code ASCII de la touche « Entrée ». On
obtient alors l’équation suivante :
A B 051C
B 1D =. 16 @
2
Où l est égal à la taille du mot de passe modulo 16.
Exploitation
En lisant la mémoire aux adresses 0040:001A et 0040:001C, on calcule la longueur du mot de
passe de l’utilisateur, modulo 16 caractères.
Exemple 1
Figure 5 - Etat de la mémoire tampon clavier du Bios après démarrage de la machine
Sur ce premier exemple la longueur du mot de passe est de 10 caractères. p1 et p2 valent alors 0x34. Si
on applique la formule précédente on obtient :
0534 B 051C
22
B 1D =. 16 E
B 1F =. 16 10
2
2
La longueur du mot de passe utilisé modulo 16 est 10.
@
Exemple 2
Figure 6 - Etat de la mémoire tampon clavier du Bios après démarrage de la machine (2)
Sur ce deuxième exemple la longueur du mot de passe est de 20 caractères, p1 et p2 valent alors 0x28.
Si on applique la formule précédente on obtient :
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 37 / 80
Évaluation CSPN
Rapport technique d’évaluation
0528 B 051C
10
B 1D =. 16 E
B 1F =. 16 4
2
2
On retrouve alors la longueur du mot de passe utilisé modulo 16 soit 4.
@
Conséquences
Un attaquant est en mesure de prévoir la longueur du mot de passe du système chiffré une fois que
celui-ci est démarré. Ceci est possible en mode utilisateur. Ceci permet de réduire l’espace de
recherche du mot de passe de démarrage en vue d’une attaque par recherche exhaustive, par exemple
à partir d’une copie de disque.
Cette vulnérabilité n’affecte que les systèmes dont la partition système est entièrement chiffrée.
6. Mauvaise gestion des paramètres reçus par le pilote
Causes
Les
données
traitées
par
le
pilote
TrueCrypt
lors
de
l’envoi
de
l’IRP
TC_IOCTL_REOPEN_BOOT_VOLUME_HEADER ne sont pas gérées correctement. Le paramètre
d’entrée est une structure Password, constituée du mot de passe de volume et de sa taille. Cette
structure est définie dans le fichier Password.h.
La taille est un entier signé. La borne supérieure de la taille du mot de passe est vérifiée par la fonction
ReopenBootVolumeHeader du fichier DriveFilter.c. La borne inférieure n’est pas vérifiée.
Si la taille est valide, le volume est rouvert et la fonction VolumeReadHeader est appelée. Cette
fonction appelle une fonction crypto_loadkey. Elle recopie le mot de passe dans un tampon de
taille fixe à l’aide de memcpy. La taille des données à copier pour la fonction memcpy est un entier non
signé. Il est donc possible d’envoyer un message mal formé avec une longueur de mot de passe
négative, par exemple égale à -1. La fonction memcpy tentera alors de copier 232-1 octets.
Exploitation
L’envoi de l’IRP TC_IOCTL_REOPEN_BOOT_VOLUME_HEADER depuis le mode utilisateur se fait en
appelant la fonction DeviceIoControl de Windows. L’exploitation n’est possible que si le système
est chiffré : dans le cas contraire, une erreur est renvoyée par TrueCrypt car aucun volume de
démarrage n’est monté.
En passant une taille négative dans la structure Password, un écrasement de la mémoire se produit
dans l’espace noyau, levant alors une exception PAGE_FAULT_IN_NONPAGED_AREA et provoquant
un arrêt brutal et immédiat du système.
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 38 / 80
Évaluation CSPN
Rapport technique d’évaluation
Figure 7 - Envoi d'un mot de passe de longueur négative
Bien que non triviale, en grande partie du fait que la taille des données copiées n’est pas contrôlable, la
possibilité d’exécution de code en mode noyau est suspectée.
Il est apparu durant les tests que le système ne redémarrait plus, le gestionnaire de démarrage ayant
été endommagé. Dans ce cas, le disque de recouvrement doit être utilisé pour remettre en état l’entête du système chiffré.
Conséquences
Un système d’exploitation chiffré est sujet à une attaque par déni de service, voire à une exécution de
code arbitraire en mode noyau depuis un compte utilisateur.
Cette attaque n’est pas réalisable si la partition système n’est pas chiffrée : la fonction vulnérable
traitant l’IRP TC_IOCTL_REOPEN_BOOT_VOLUME_HEADER vérifie préalablement que le système
est chiffré avant de copier la clé dans le tampon de taille fixe.
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 39 / 80
Évaluation CSPN
Rapport technique d’évaluation
7. Le chemin des fichiers clé n’est jamais effacé de la mémoire
Causes
Une liste de fichiers clés est spécifiée par l’utilisateur lors du montage d’un volume. Une représentation
interne de la liste est construite par la fonction SelectMultipleFiles. Cette fonction copie la
liste des fichiers dans une variable globale SelectMultipleFilesPath. Cette variable n’est jamais
effacée.
La variable locale file, contenant également la liste des fichiers à copier, n’est pas effacée. Elle
contient la liste des fichiers clés en UNICODE.
Exploitation
Il est trivial de retrouver la liste et le chemin des fichiers clés utilisés pour monter un volume TrueCrypt
dans la mémoire du processus TrueCrypt.exe. Lorsque plusieurs fichiers sont sélectionnés, leur
chemin est copié dans SelectMultipleFilesPath, situé à une adresse fixe (0x49C148). Il s’agit
de la méthode d’exploitation la plus fiable.
Figure 8 : Plusieurs fichiers clés utilisés
Dans le cas où un seul fichier est monté, la variable contenant le chemin du fichier clé se situe dans la
pile. Une attaque relativement fiable consiste à faire une recherche par expressions régulières dans la
mémoire du processus.
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 40 / 80
Évaluation CSPN
Rapport technique d’évaluation
Figure 9 : Un seul fichier clé utilisé
Conséquences
Tout attaquant ayant un accès au compte de l’utilisateur est en mesure de retrouver le ou les fichiers
clés utilisés pour monter un volume TrueCrypt, même si celui-ci est démonté. Dans le cas où un volume
n’est protégé qu’avec des fichiers clés, et donc sans mot de passe, l’accès au volume est immédiat.
Les partitions système ne pouvant pas être montées avec des fichiers clés, cette vulnérabilité n’affecte
que les volumes TrueCrypt.
8. Sauvegarde des en-têtes de volume
Causes
La fonctionnalité de sauvegarde de l’en-tête des volumes chiffrés n’efface pas correctement les clés de
chiffrement.
Lors de la sauvegarde, l’en-tête est déchiffré avec le mot de passe utilisateur, puis de nouveau chiffré.
Les clés de chiffrement ne sont pas modifiées. Seul un nouveau sel est généré. Lors de la création du
fichier de sauvegarde, le contenu du tampon recevant le nouvel en-tête, non initialisé, est
préalablement chiffré avec des clés temporaires, afin d’obtenir des données pseudo-aléatoires. Ceci est
utilisé pour donner un aspect aléatoire à l’en-tête de volume caché, s’il n’y a pas de volume caché. Pour
cela, deux clés temporaires sont générées.
La clé secondaire de chiffrement du volume est sauvegardée dans un tampon originalK2. La clé
maitre temporaire est stockée dans un tampon temporaryKey. Ces deux variables ne sont jamais
effacées.
Exploitation
Si l’en-tête d’un volume a été sauvegardé, la clé secondaire de celui-ci est présente en mémoire tant
que le processus TrueCrypt.exe n’a pas été fermé. Les deux clés orginalK2 et temporaryKey
sont accessibles même si le volume n’a pas été monté. La lecture des clés est immédiate.
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 41 / 80
Évaluation CSPN
Rapport technique d’évaluation
Conséquences
Tout attaquant ayant un accès au compte de l’utilisateur, après que celui-ci a fait une sauvegarde d’un
en-tête de volume, est capable de retrouver la clé secondaire de chiffrement du volume. En pratique, il
devra toujours casser la clé primaire pour déchiffrer les données du volume.
Cette vulnérabilité a en revanche un impact plus important dans les versions antérieures à la version 5,
où le mode LRW était utilisé. Le mode LRW a en effet été abandonné suite aux problèmes de sécurité
engendrés si la clé secondaire été compromise.
9. Les mots de passe ne sont pas correctement effacés lors de la
création d’un nouveau volume
Causes
La fonction VerifyPasswordAndUpdate, définie dans le fichier Password.c, est appelée lorsque
l’utilisateur rentre le mot de passe de son nouveau volume. Le mot de passe doit être entré deux fois,
afin que l’utilisateur ne puisse pas faire d’erreur de frappe lors de la définition de celui-ci.
Cette fonction compare les deux mots de passe entrés, et active un bouton permettant de passer à
l’étape suivante s’ils sont identiques.
Cette fonction appelle les fonctions GetWindowTextLength et GetWindowText de Windows pour
récupérer la longueur des mots de passe entrés et leur valeur. Ces deux fonctions n’effacent pas
correctement le contenu de leur tampon mémoire sur la pile, et donc le mot de passe utilisateur. Ceci
est dû au fonctionnement de Windows et n’est pas directement lié à l’utilisation de TrueCrypt.
Exploitation
Le processus utilisateur TrueCrypt Format.exe contient le mot de passe du dernier volume créé
en clair dans sa mémoire. Il se situe dans la pile de celui-ci, aux adresses 0x11DBD8 et 0x11DC04. Ce
mot de passe est récupérable tant que le processus n’a pas été fermé.
Dans l’exemple suivant, le mot de passe est « testmotdepassemdp » :
Figure 10 – Mot de passe dans la pile de TrueCrypt Format après la création d’un volume chiffré
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 42 / 80
Évaluation CSPN
Rapport technique d’évaluation
Conséquences
Tout attaquant ayant un accès au compte de l’utilisateur est en mesure de retrouver le mot de passe
du dernier volume chiffré créée, même si celui-ci a été démonté. Cette attaque n’est possible que si le
processus TrueCrypt Format.exe est en cours d’exécution. Ce processus est normalement fermé
par l’utilisateur à la fin de la création du volume, ce qui réduit en principe fortement les possibilités
d’attaque.
Le problème est dû aux mécanismes de Windows. Il est toutefois possible de corriger cette
vulnérabilité. La longueur du mot de passe est retournée par GetWindowText. L’appel à
GetWindowTextLength est donc superflu. Il faut ensuite écraser le tampon mémoire de
GetWindowText, par exemple en effectuant un appel supplémentaire à celui-ci sur un objet
contenant un texte suffisamment long pour écraser le tampon. Une modification du code source
mettant en application cette méthode montre que le mot de passe ne réside alors plus dans la
mémoire du processus.
4. Avis d’expert sur les vulnérabilités
Les vulnérabilités découvertes ont une importance variable. Certaines nous paraissent critiques, mais
ne sont exploitables que dans des cas d’utilisation très précis, comme celle concernant la présence en
mémoire du mot de passe après la création d’un volume.
Ces problèmes devraient être corrigés. En attendant, des recommandations d’utilisation permettent de
pallier les problèmes découverts. Ce n’est toutefois pas le cas pour le déni de service découvert sur les
volumes chiffrés. Même si l’exécution de code n’est pas avérée, les conséquences d’un tel problème
sont gênantes, en particulier le fait de devoir restaurer le bootloader à partir du CD-ROM de
restauration.
Vulnérabilité
Les mots de passe ne sont pas correctement
effacés lors de la création d’un nouveau volume.
La clé de chiffrement secondaire du volume n’est
pas effacée lors de la sauvegarde des en-têtes de
volume.
Le chemin des fichiers clés n’est jamais effacé
après le montage d’un volume
Recommandation
Redémarrer l’ordinateur après la création du
volume
Redémarrer l’ordinateur après la sauvegarde des
en-têtes.
Ne pas utiliser de fichiers clés, ou avec une
extrême précaution, et en utilisant un mot de
passe fort.
Le mot de passe reste en mémoire si l’option Ne pas copier son mot de passe et ne jamais
« Afficher le mot de passe » est activée ou si activer l’option « Afficher le mot de passe ».
celui-ci a été copié dans le presse-papiers.
Une exécution de code potentielle existe si le Pas de recommandations, attendre un correctif.
système est entièrement chiffré
5. Durée de l’analyse
L’analyse de vulnérabilités a été réalisée tout au long de l’étude, en particulier durant l’évaluation de la
résistance des mécanismes et l’analyse des mécanismes cryptographiques. La découverte et
l’évaluation des risques engendrés par les vulnérabilités ont duré environ 7 jours.
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 43 / 80
Évaluation CSPN
Rapport technique d’évaluation
6. Analyse de la facilité d’emploi
1. Cas où la sécurité est ambiguë
La documentation de TrueCrypt recommande, s’ils sont employés, d’utiliser des fichiers « keyfiles »
d’une taille supérieure ou égale à 30 octets. Un utilisateur peur créer un volume chiffré sans mots de
passe et en utilisant un « keyfile » de taille nulle. Dans un tel cas l’interface de TrueCrypt ne génère
aucun message d’avertissement de sécurité à destination de l’utilisateur. Nous pensons que dans ce cas
la sécurité est ambigüe. A titre de comparaison lorsque l’utilisateur créée un volume chiffré en utilisant
un mot de passe seul, un avertissement lui est envoyé si la longueur du mot de passe est inférieure à 20
caractères.
Mis à part ce cas mineur nous n’avons pas constaté de cas d’utilisation du produit où la sécurité est
ambigüe.
2. Recommandations pour une utilisation sûre du produit
Les recommandations sont séparées en deux parties : la première liste des conseils d’ordre généraux.
Elle reprend notamment des recommandations spécifiées dans la documentation. La deuxième liste les
contre-mesures nécessaires à mettre en place pour réduire autant que possible les vulnérabilités
recensées précédemment.
5. Recommandations générales
• Robustesse du mot de passe
Une attaque sur le mot de passe du volume chiffré par recherche exhaustive est envisageable sur des
volumes avec des mots de passe courts. Afin d’éviter ce type d’attaque, TrueCrypt recommande
d’utiliser des mots de passe d’au moins 20 caractères. Pour les même raisons, si des fichiers clés sont
utilisés, leur taille doit être supérieure ou égale à 30 octets. La génération de fichiers clés de 64 octets
par TrueCrypt est une bonne solution pour garantir le caractère aléatoire de ces fichiers.
• Fichier de pagination
En utilisation normale de la machine le système d’exploitation gère un fichier de pagination. Ce fichier
sert au système d’exploitation comme une extension de la mémoire vive (RAM). TrueCrypt ne peut
garantir que des informations sensibles contenues dans la mémoire du pilote comme les clés
maîtresses de chiffrement ne seront pas écrites en clair dans ce fichier par le système d’exploitation.
TrueCrypt recommande donc de désactiver le fichier de pagination lorsque le produit est installé. Cette
remarque n’est pas à prendre en compte dans le cas d’un système intégralement chiffré.
• Mise en veille prolongée
Lors du déclenchement de la veille prolongée le système d’exploitation crée un fichier d’hibernation
contenant une copie de la mémoire système. La mémoire du pilote TrueCrypt contenant les clés
maîtres de chiffrement peuvent alors être copiées sur le disque dur de la machine lors de la mise en
veille prolongée. TrueCrypt recommande donc de désactiver la mise en veille prolongée pendant
l’utilisation du produit. Cette remarque n’est pas à prendre en compte dans le cas d’un système
intégralement chiffré.
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 44 / 80
Évaluation CSPN
Rapport technique d’évaluation
• Partitions chiffrées
Afin de prévenir des éventuelles fuites de données sensibles concernant les volumes TrueCrypt et leur
contenu, nous préconisons l’utilisation de partitions chiffrées en lieu et place de simples conteneurs. En
effet, dans le cas de volumes simples, le système d’exploitation ou des applications tierces peuvent
écrire temporairement dans une zone externe au conteneur, et donc non chiffrée. Dans le cas d’une
partition, les données écrites sur le disque seront toujours chiffrées.
• Informations de débogage
Lors d’une erreur système sérieuse Windows propose d’effectuer une copie de tout ou partie de la
mémoire noyau (dump) pour analyse post-mortem de la machine. Des informations sensibles comme
les clés maîtresses de chiffrement, contenues dans la mémoire du pilote, peuvent alors être copiées sur
le disque dur de la machine. Pour cette raison, il est recommandé de désactiver l’option « Ecriture des
informations de débogage » du système d’exploitation durant l’utilisation de Truecrypt.
• Changement de mot de passe
Lors du changement de mot de passe d’un volume chiffré seul l’en-tête de ce dernier est modifié, les
clés maîtresses servant au chiffrement du système de fichier du volume chiffré restent inchangées.
Nous recommandons donc lors d’un changement de mot de passe de créer un nouveau volume chiffré
et créer ainsi de nouvelles clés maîtresses de chiffrement, particulièrement si le mot de passe est
changé après que celui-ci est suspecté d’être compromis.
• Changement de mot de passe d’un volume caché
Lors du changement du mot de passe d’un volume caché seul l’en-tête de ce dernier est modifié. SI un
attaquant a accès au volume chiffré avant et après le changement de mot de passe il constatera le
changement d’en-tête chiffré. L’en-tête du volume chiffré se trouvant à une adresse fixe et
documentée l’attaquant en déduira de façon certaine la présence d’un volume chiffré. Pour cette
raison nous recommandons de ne pas changer le mot de passe d’un volume caché mais plutôt de créer
un nouveau volume chiffré hôte contenant un volume caché.
• CD-Rom de sauvegarde
Lors de la création d’une partition chiffrée, TrueCrypt impose de graver une copie de sauvegarde de
l’en-tête sur un média, qu’il faut stocker de manière sûre. De la même manière, nous recommandons
d’effectuer une copie de sauvegarde des entêtes des volumes TrueCrypt (hors partitions et partitions
système où cela est imposé afin de poursuivre la création). Ces sauvegardes doivent impérativement
être stockées de façon sûre.
• Formatage des volumes chiffrés
Lors de la phase de création de volumes (quelque soit le type de volumes : simples ou partitions), nous
préconisions de ne jamais utiliser l’option « Formatage rapide ». Si cette option n’est pas activée,
TrueCrypt formate l’espace du volume avec des aléas, le cas échéant, les données présentent sur
l’emplacement du volume ne seront pas systématiquement écrasées.
• Systèmes de fichiers journalisés
Dans le cadre de l’emploi de conteneurs chiffrés (hors partitions), nous préconisons l’utilisation de
système de fichiers non journalisés tels que FAT32. L’utilisation de système de fichier journalisé tels que
NTFS peut permettre la récupération d’informations par le biais des métadonnées propres aux
systèmes de fichiers journalisés.
• Défragmentation des volumes
Nous préconisons de ne pas défragmenter les systèmes de fichiers contenant des conteneurs
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 45 / 80
Évaluation CSPN
Rapport technique d’évaluation
TrueCrypt. En effet, si le système de fichier est défragmenté, il est possible de retrouver certaines
parties ou fragments du conteneur. Dans le cas d’un changement de mot de passe par exemple, il serait
ainsi possible de monter le volume avec un ancien mot de passe compromis (ou des anciens KeyFiles),
en reconstruisant une entête précédente avec les fragments retrouvés.
Si le système de fichier est toutefois défragmenté, nous préconisons d’effacer de manière sûre tout
l’espace libre après l’opération de défragmentation.
6. Recommandations suite aux vulnérabilités découvertes
• Copier / Coller
Lorsqu’un utilisateur effectue un copier / coller de son mot de passe dans une des boîtes de dialogue
de « TrueCrypt » ou « TrueCrypt Format », ou qu’il sélectionne l’option « Afficher le mot de passe », le
mot de passe sera présent, en totalité ou en partie, dans le contexte des processus. Ceci est dû aux
fonctionnalités du système d’exploitation, qui n’effacent pas les tampons mémoire manipulés. Il est
donc recommandé de ne pas copier son mot de passe, et de ne pas sélectionner l’option affichant le
mot de passe.
• Création d’un nouveau volume
Lors de la création d’un volume chiffré avec l’outil « TrueCrypt Format » le mot de passe du dernier
volume chiffré créé n’est pas effacé de la mémoire de ce processus. Le processus « TrueCrypt Format »
doit être au moins immédiatement fermé après la création d’un volume chiffré. Il est conseillé de
redémarrer directement le système d’exploitation.
• Sauvegarde des en-têtes de volume
Une fois l’en-tête d’un volume sauvegardé et conservé en lieu sûr, il est recommandé de fermer puis
relancer TrueCrypt, voire de relancer le système d’exploitation, afin d’éviter que la clé de chiffrement
secondaire du volume ne reste présente en mémoire.
• Fichiers clés
Le chemin des fichiers de clés n’est jamais effacé en mémoire. Nous conseillons de ne pas utiliser de
fichiers clés, ou avec une extrême précaution, tant que cette vulnérabilité n’a pas été corrigée.
• Déni de service et exécution de code potentielle
La mauvaise gestion des paramètres passés au pilote sur un système d’exploitation chiffré ne peut pas
être corrigée par des moyens simples. Nous ne pouvons donc pas fournir de recommandations sur ce
point.
3. Avis d’expert sur la facilité d’emploi
TrueCrypt s’avère simple à utiliser. Un utilisateur novice s’y retrouvera facilement en lisant le tutoriel
de base disponible avec la documentation.
L’assistant de création des volumes de TrueCrypt, et les différents messages affichés lors des
opérations sensibles, fournissent assez d’informations nécessaires à l’utilisateur au cours des
manipulations.
Le parti pris des auteurs, qui documentent aussi bien les aspects fonctionnels que les aspects
techniques, est pertinent. Contrairement à de trop nombreux produits, il est facile de comprendre
assez globalement le fonctionnement interne du programme sans lire le code source. Les détails
techniques sont présentés de façon rigoureuse, et restent accessibles pour un utilisateur curieux.
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 46 / 80
Évaluation CSPN
Rapport technique d’évaluation
4. Durée de l’analyse
L’analyse de la facilité d’emploi a duré une journée. Elle découle des résultats trouvés précédemment,
et des recommandations déjà énoncées dans la documentation de TrueCrypt.
7. Synthèse
Cible de sécurité : la solution évaluée est conforme à sa cible de sécurité. Toutes les fonctions de
sécurité sont correctement implémentées.
Installation du produit : l’installation ne pose pas de problème particulier. Une seule non-conformité a
été relevée, et n’a pas d’importance quant à l’utilisation ou la sécurité du produit.
Revue du code source : le code source est assez bien pensé, et bien structuré. Il est facilement
compilable. Sa portabilité indique une rigueur de la part des développeurs. Les parties de code ayant
trait à l’interface graphique du produit sont moins propres que le reste. Il semble que les parties de
code les moins lisibles concernent les parties du programme présente depuis les premières versions.
Analyse de la résistance des fonctions et mécanismes : les mécanismes mis en œuvre sont robustes.
Les développeurs ont bien pensé le produit. Les fonctions de sécurité s’appuient sur des mécanismes
éprouvés, ou sur l’état de l’art en matière de cryptographie.
Analyse des vulnérabilités : plusieurs vulnérabilités ont été découvertes, certaines nous paraissent
importantes. Il s’agit toujours d’erreurs de programmation, et non d’erreurs de conception. La plupart
d’entre elles induisent des fuites d’informations, notamment sur le mot de passe ou les clés de
chiffrement. Elles ne sont exploitables que dans des cas particuliers d’utilisation. Aucune attaque à
partir d’un volume chiffré uniquement n’a été trouvée.
Une vulnérabilité découverte sur le pilote pourrait permettre une exécution de code en mode noyau, et
dans certains cas oblige l’utilisateur à restaurer le bootloader avec son CD de secours.
Facilité d’emploi : le produit est simple à utiliser et à administrer. Les précautions d’utilisation sont
nombreuses, et documentées ; ceci est normal pour un produit reposant essentiellement sur des
mécanismes cryptographiques. Les données techniques présentes dans la documentation permettent
de comprendre pourquoi ces mesures ont été préconisées.
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 47 / 80
Évaluation CSPN
Rapport technique d’évaluation
Annexe 1 : Fiches d’analyse de conformité des fonctions
de sécurité
Objectif de l’analyse :
Fonction de sécurité :
partition système chiffrée
Logiciel TrueCrypt version 6.0a
Réf. : Test_Creation_Part_Chiffree_1 Auteur : Jean-Baptiste Bédrune
Objet du test : TrueCrypt peut générer une partition système chiffrée devant
être montée uniquement en spécifiant le mot de passe saisi lors de la création
de cette partition.
Scénario du test : L’utilisateur autorisé créé une partition système chiffrée en spécifiant un mot de passe. Il tente ensuite de
monter la partition système (In fine de booter le système) avec un mot de passe erroné. Il monte ensuite la partition TrueCrypt
en utilisant le mot de passe spécifié lors de la création de cette partition.
Opérations à effectuer
Résultats attendus
Résultats observés
•
Créer une partition chiffrée en
•
La tentative de montage de
•
La tentative de montage de
suivant les instructions de
la partition sans mot de
la partition sans mot de
l’assistant. Les paramètres suivants
passe doit échouer
passe échoue
ont été utilisés :
•
La tentative de montage de
•
La tentative de montage de
o
Amorçage simple
la partition avec un mot de
la partition avec un mot de
o
Chiffrement AES
passe erroné doit échouer
passe erroné échoue
o
Hachage RIPMD-160
•
La tentative de montage de
•
La tentative de montage de
o
Mot de passe de 20
la partition avec le mot de
la partition avec le mot de
caractères
passe correct doit réussir
passe valide réussie. Le
système démarre et est
utilisable de manière
transparente.
Conclusions :
La partition système chiffrée générée est bien amorçable depuis l’interface du BootLoader TrueCrypt uniquement en
fournissant le mot de passe valide spécifié lors de la création du conteneur. Un message invitant à restaurer les clés du
BootLoader apparaît au bout de la cinquième tentative infructueuse de saisie du mot de passe : « "If you are sure the
password is correct, the key data may be damaged. Boot your TrueCrypt Rescue Disk and select 'Repair Options' > 'Restore key
data'. »
Création
d’une
Tableau 1 – Test_Creation_Part_Chiffree_1
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 48 / 80
Évaluation CSPN
Rapport technique d’évaluation
Objectif de l’analyse :
Fonction de sécurité : Création d’une partition
système primaire chiffrée et d’une partition
système secondaire chiffrée contenant une copie
cachée du système d’exploitation.
Logiciel TrueCrypt version 6.0a
Réf. :
Auteur : Jean-Baptiste Bédrune
Test_Creation_Syst_Cache_1
Objet du test : TrueCrypt peut générer une partition système primaire
chiffrée et une partition système secondaire contenant un volume
cachée (avec une copie du système d’exploitation leurre). Le système
d’exploitation qui sera démarré (leurre ou caché) dépend du mot de
passe saisie. Quelque soit le système à démarrer, les partitions doivent
être montées uniquement en spécifiant le mot de passe saisi lors de la
création de ces dernières.
Scénario du test : L’utilisateur autorisé créé une partition système primaire chiffrée en spécifiant un mot de passe. Il crée
ensuite une seconde partition système constituée d’un volume externe et d’un volume caché contenant une copie du système
d’exploitation leurre.
Il tente de monter la partition système primaire (In fine de booter le système leurre) avec un mot de passe erroné. Il
monte ensuite la partition TrueCrypt en utilisant le mot de passe spécifié lors de la création de la partition primaire.
Il tente de monter la partition système cachée (In fine de booter le système caché) avec un mot de passe erroné. Il
monte ensuite la partition TrueCrypt en utilisant le mot de passe spécifié lors de la création de la partition
secondaire cachée.
Opérations à effectuer
•
Créer un volume externe chiffré (partition
secondaire) en suivant les instructions de
l’assistant. Les paramètres suivants ont
été utilisés :
o
o
o
o
o
•
Créer un volume caché au sein du volume
externe (partition secondaire) en suivant
les instructions de l’assistant. Les
paramètres suivants ont été utilisés :
o
o
o
o
•
Amorçage simple
AES
RIPMD-160
Mot de passe de 20 caractères
Formatage complet en FAT
AES
RIPMD-160
Mot de passe de 20 caractères
Formatage complet en FAT
Créer une partition primaire chiffrée en
suivant les instructions de l’assistant. Les
paramètres suivants ont été utilisés :
o
o
o
o
Amorçage simple
AES
RIPMD-160
Mot de passe de 20 caractères
Résultats attendus
•
La tentative de montage
de la partition primaire
ou secondaire
(respectivement le boot
du système leurre ou
caché) sans mot de
passe doit échouer
•
La tentative de montage
de la partition primaire
ou secondaire
(respectivement le boot
du système leurre ou
caché) avec un mot de
passe erroné doit
échouer
•
La tentative de montage
de la partition primaire
ou secondaire
(respectivement le boot
du système leurre ou
caché) avec les mots de
passe respectifs corrects
doit réussir
Résultats observés
•
La tentative de montage
de la partition primaire
ou secondaire
(respectivement le boot
du système leurre ou
caché) sans mot de
passe échoue
•
La tentative de montage
de la partition primaire
ou secondaire
(respectivement le boot
du système leurre ou
caché) avec un mot de
passe erroné échoue
•
La tentative de montage
de la partition primaire
ou secondaire
(respectivement le boot
du système leurre ou
caché) avec les mots de
passe respectifs et
valides réussie
Conclusions :
Les partitions système chiffrées (principale et secondaire) générées sont bien amorçables depuis l’interface du BootLoader
TrueCrypt, uniquement en fournissant le mot de passe valide spécifié lors de la création des partitions. Si le mot de passe est
identique à celui du système leurre, ce dernier démarre ; s’il est identique au système caché, ce dernier démarre. En revanche,
s’il n’est conforme à aucun des deux systèmes ou nulle, aucun système de démarre. Un message invitant à restaurer les clés
du BootLoader apparaît au bout de la cinquième tentative infructueuse de saisie du mot de passe : « "If you are sure the
password is correct, the key data may be damaged. Boot your TrueCrypt Rescue Disk and select 'Repair Options' > 'Restore key
data'. »
Tableau 2 – Test_Creation_Syst_Cache_1
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 49 / 80
Évaluation CSPN
Rapport technique d’évaluation
Objectif de l’analyse :
Logiciel TrueCrypt version 6.0a
Fonction de sécurité : Montage du Réf. : Test___1
Auteur : Jean-Baptiste Bédrune
volume externe et caché de la Objet du test : TrueCrypt peut démarrer le système leurre et monter les
partition
système
secondaire volumes externe et caché de la partition secondaire, uniquement en spécifiant
(contenant une copie cachée du les mots de passe saisi lors de la création de la partition secondaire chiffrée.
système d’exploitation).
Scénario du test : L’utilisateur démarre sur le système leurre en spécifiant le bon mot de passe.
Il tente de monter le volume externe de la partition secondaire avec un mot de passe erroné. Il tente ensuite de
monter le volume externe en utilisant le mot de passe spécifié lors de la création de la partition secondaire.
Il tente de monter le volume caché de la partition secondaire avec un mot de passe erroné. Il tente ensuite de
monter le volume caché en utilisant le mot de passe spécifié lors de la création de la partition secondaire.
Opérations à effectuer
•
Opérations du test
Test_TC_2
•
Démarrer le système leurre
en indiquant le bon mot de
passe au BootLoader
Résultats attendus
•
La tentative de montage du
volume externe sans mot de
passe doit échouer
•
La tentative de montage du
volume externe avec un mot
de passe erroné doit
échouer
•
La tentative de montage du
volume externe avec le mot
de passe correct doit réussir
•
•
•
Résultats observés
•
La tentative de montage du
volume externe sans mot de
passe échoue
•
La tentative de montage du
volume externe avec un mot
de passe erroné échoue
•
La tentative de montage du
volume externe avec le mot
de passe valide réussie
•
La tentative de montage du
volume caché sans mot de
passe doit échouer
La tentative de montage du
volume caché avec un mot
de passe erroné doit
échouer
La tentative de montage du
volume caché avec le mot de
passe correct doit réussir
•
•
La tentative de montage du
volume caché sans mot de
passe échoue
La tentative de montage du
volume caché avec un mot
de passe erroné échoue
La tentative de montage du
volume caché avec le mot de
passe valide réussie
Conclusions :
Le volume externe de la partition secondaire généré se monte correctement en fournissant uniquement le bon mot de
passe défini dans l’assistant de création de volume. Le volume caché de la partition secondaire généré se monte
correctement en fournissant uniquement le bon mot de passe défini dans l’assistant de création de volume. Le volume
caché contient les fichiers du système d’exploitation caché.
Tableau 3 - Test___1
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 50 / 80
Évaluation CSPN
Rapport technique d’évaluation
Objectif de l’analyse :
Fonction de sécurité : Création d’un
volume chiffré dans un conteneur
Logiciel TrueCrypt version 6.0a
Réf. :
Auteur : Julien Lenoir
Test_Cree_VolChiffre_Conteneur_1
Objet du test : TrueCrypt peut générer un volume chiffré dans un conteneur
devant être monté uniquement en spécifiant le mot de passe saisi lors de la
création du volume chiffré.
Scénario du test : L’utilisateur autorisé créée un volume chiffré dans un conteneur en spécifiant un mot de passe. IL tente
ensuite de monter le volume crée avec un mot de passe erroné. Il monte ensuite un volume TrueCrypt à partir de ce
conteneur en utilisant le mot de passe spécifié lors de la création du conteneur.
Opérations à effectuer
Résultats attendus
Résultats observés
•
Sélectionner « Créer un
•
La tentative de montage du
•
La tentative de montage du
volume »
conteneur sans mot de
conteneur sans mot de
passe doit échouer
passe échoue
•
Sélectionner « Créer un
fichier conteneur »
•
La tentative de montage du
•
La tentative de montage du
conteneur avec un mot de
conteneur avec un mot de
•
Sélectionner « Volume
passe erroné doit échouer
passe erroné échoue
TrueCrypt Standard »
•
La tentative de montage
•
La tentative de montage du
•
Sélectionner l’emplacement
avec le mot de passe correct
conteneur avec le mot de
du conteneur de destination
doit réussir
passe valide réussie. Le
•
Sélectionner un algorithme
disque apparaît alors dans la
de chiffrement et un
liste des disques durs
algorithme de hachage
accessibles.
•
Spécifier la taille du
conteneur : 10 Mo.
•
Entrer un mot de passe
ayant une taille comprise
entre 20 et 64 caractères.
ici :
« jfqmagez*ghz!egh%45zgee
1+ »
•
Cliquer sur Formater
•
Cliquer sur Quitter
•
Depuis l’interface de
TrueCrypt, sélectionner le
conteneur nouvellement
créée
•
Sélectionner un lecteur de
destination
•
Cliquer sur « Monter »
•
Tenter de monter le volume
sans mot de passe
•
Tenter de monter le volume
avec un mot de passe
erroné. Ici :
« eozgoezjgeag45h4ez2ghez
»
•
Tenter de monter le volume
avec le mot de passe correct.
Ici :
« jfqmagez*ghz!egh%45zgee
1+ »
Conclusions :
Le conteneur chiffré généré peut être monté depuis l’interface de TrueCrypt uniquement en fournissant le mot de passe
valide spécifié lors de la création du conteneur.
Tableau 4 - Test_Cree_VolChiffre_Conteneur_1
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 51 / 80
Évaluation CSPN
Rapport technique d’évaluation
Objectif de l’analyse :
Fonction de sécurité : Modification des
mots de passes d’un volume chiffré 1/2
Logiciel TrueCrypt version 6.0a
Réf. :
Auteur : Julien Lenoir
Test_Changement_motdepasse_1
Objet du test : TrueCrypt permet à l’utilisateur de modifier le mot de passe d’un
volume chiffré existant. Une fois cette modification effectuée il doit être impossible
à l’utilisateur de monter le volume chiffré avec un autre mot de passe que celui
qu’il a spécifié lors du changement de mot de passe
Scénario du test : L’utilisateur autorisé créée un volume chiffré en spécifiant un mot de passe. Il change ensuite le mot de
passe de son volume chiffré en donnant son mot de passe actuel et le nouveau mot de passe. Il va ensuite tenter de monter le
volume avec son ancien mot de passe, puis tenter de monter le volume avec le nouveau mot de passe.
Opérations à effectuer
Résultats attendus
Résultats observés
•
Créer le conteneur chiffré
•
La création du conteneur
•
La création du conteneur
« conteneur_original » de 10
chiffré « conteneur_original »
chiffré a réussi
mo selon la procédure décrite
doit réussir
•
Le montage du conteneur
dans
•
Le montage d’un volume
« conteneur_original » a
Test_Cree_VolChiffre_Conten
chiffré à partir du conteneur
réussi
eur_1 en utilisant le mot de
« conteneur_original » doit
•
Le démontage du disque
passe :
réussir, le disque chiffré doit
chiffré a réussi
« jgoezngjhzeoqmqzgiazn »
être accessible depuis le poste
•
La tentative de changement
•
Depuis l’interface principale
de travail
de mot de passe a réussi
de TrueCrypt sélectionner le
•
Le démontage doit réussir, le
•
La tentative de montage du
fichier « conteneur_original »
disque chiffré ne doit plus
conteneur
et monter le volume
être accessible depuis le poste
« conteneur_mot_de_passe_
•
Depuis l’interface démonter le
de travail
modifie » avec le mot de
volume
•
La tentative de changement
passe
•
Faire une copie de
de mot de passe doit réussir,
« jgoezngjhzeoqmqzgiazn »
« conteneur_original » vers
TrueCrypt doit afficher une
échoue
« conteneur_mot_de_passe_
boîte message indiquant le
•
La tentative de montage du
modifie »
succès de l’opération
conteneur
•
Depuis l’interface de
•
La tentative de montage du
« conteneur_mot_de_passe_
TrueCrypt sélectionner le
conteneur
modifie » avec le mot de
fichier
« conteneur_mot_de_passe_
passe
« conteneur_mot_de_passe_
modifie » avec l’ancien mot
« pagjeoamgjeghimqgrpmz »r
modifie »
de passe doit échouer
éussi
•
Sélectionner Outils pour le
•
La tentative de montage du
volume -> Modifier le mot de
conteneur
passe du volume
« conteneur_mot_de_passe_
modifie » avec le nouveau
•
Entrer le mot de passe actuel
mot de passe doit réussir
« jgoezngjhzeoqmqzgiazn »
•
Entrer le nouveau mot de
passe
« pagjeoamgjeghimqgrpmz »
•
Valider en cliquant sur OK
•
Depuis l’interface de
TrueCrypt sélectionner le
fichier
« conteneur_mot_de_passe_
modifie » et tenter de le
monter avec l’ancien mot de
passe
« jgoezngjhzeoqmqzgiazn »
•
Tenter de monter le
conteneur
« conteneur_mot_de_passe_
modifie » avec le nouveau
mot de passe
« pagjeoamgjeghimqgrpmz »
Conclusions :
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 52 / 80
Évaluation CSPN
Rapport technique d’évaluation
Le test montre que l’utilisateur est capable de changer le mot de passe d’un conteneur chiffré s’il est en possession du mot de
passe du conteneur. Une fois le mot de passe du conteneur changé l’utilisateur ne peut monter le conteneur qu’en utilisant le
nouveau mot de passe, l’ancien mot de passe du conteneur n’est plus valide.
Tableau 5 - Test_Changement_motdepasse_1
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 53 / 80
Évaluation CSPN
Rapport technique d’évaluation
Objectif de l’analyse :
Fonction de sécurité : Modification des
mots de passes d’un volume chiffré 2/2
Logiciel TrueCrypt version 6.0a
Réf. :
Auteur : Julien Lenoir
Test_Changement_motdepasse_2
Objet du test : Vérifier que, conformément aux spécifications du format de
volume TrueCrypt, seuls l’entête et la sauvegarde de l’entête sont modifiés lors
de la modification des mots de passes d’un volume hôte.
Scénario du test : On va comparer ici les deux fichiers conteneurs servant au montage d’un disque chiffré. Le premier nommé
«conteneur_original » correspond au conteneur avant un changement de mot de passe du volume principal. Le second
nommé «conteneur_mot_de_passe_modifie» correspond au conteneur après la modification du mot de passe principal.
Opérations à effectuer
Résultats attendus
Résultats observés
•
Faire une copie des conteneurs
•
Seuls l’en-tête original et
•
Les 512 premiers octets,
« conteneur_original » et
l’en-tête de sauvegarde du
correspondant à l’en-tête
«conteneur_mot_de_passe_mod
volume principal doivent
principal sont différents. On
ifie» générés lors du test
être modifiés
peut noter que les 65024
Test_Changement_motdepasse_
octets de l’entête marqués
•
Les données chiffrées ne
1
comme réservés dans la
doivent pas être modifiées
spécification de TrueCrypt
•
A l’aide d’un éditeur
(les clés maîtresses
sont eux, identiques dans
hexadécimal, comparer les
principales et secondaires
les deux fichiers.
fichiers « conteneur_original » et
restant inchangées)
« conteneur_mot_de_passe_mod
•
Les 65536 octets à partir de
•
L’en-tête original et l’en-tête
ifie »
l’adresse 65636 du fichier,
de sauvegarde du volume
correspondant à l’entête
•
Relever les différences entre les
caché potentiel ne doivent
d’un potentiel volume caché
deux fichiers
pas être modifiés
sont identiques entre les
deux fichiers.
•
Les (T – 2*131072) octets à
partir de l’adresse 131072,
correspondant aux données
chiffrées dans la
spécification de TrueCrypt,
sont identiques dans les
deux fichiers. T étant la
taille du fichier du fichier
conteneur.
•
Les 512 premiers octets de
la sauvegarde de l’en-tête
situés à l’adresse (T 131072) différent entre les
deux fichiers. T étant la
taille du fichier conteneur.
On peut noter que les
65024 octets marqués
comme réservés dans la
sauvegarde de l’en-tête
sont identiques entre les
deux fichiers.
•
Les 65536 octets à partir de
l’adresse (T – 65536) et
correspondant à l’en-tête
de sauvegarde d’un
potentiel volume caché sont
identiques entre les deux
fichiers. T étant la taille du
fichier conteneur.
Conclusions :
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 54 / 80
Évaluation CSPN
Rapport technique d’évaluation
On constate que lors de la modification du mot de passe d’un volume chiffré contenu dans un fichier conteneur, seuls l’en-tête
principal et l’en-tête de sauvegarde sont modifiés, conformément à la documentation de TrueCrypt. Il est cependant à noter
que le champ marqué comme réservé dans la spécification de volume TrueCrypt n’est lui pas modifié. Ce aussi bien dans l’entête original que dans la sauvegarde de l’en-tête.
Tableau 6 - Test_Changement_motdepasse_2
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 55 / 80
Évaluation CSPN
Rapport technique d’évaluation
Objectif de l’analyse :
Fonction de sécurité : Création d’un
volume caché
Logiciel TrueCrypt version 6.0a
Réf. : Test_Creer_Vol_cache_1
Auteur : Julien Lenoir
Objet du test : TrueCrypt permet la création d’un volume caché chiffré dans un
volume chiffré TrueCrypt hôte existant
Scénario du test : L’utilisateur autorisé créée un volume TrueCrypt chiffré et caché dans un volume TrueCrypt chiffré hôte
existant au préalable
Opérations à effectuer
Résultats attendus
Résultats observés
•
Copier le conteneur issu du
•
La création du volume
•
La création du volume
test
chiffré dans le volume
chiffré dans le volume
Test_Cree_VolChiffre_Conten
existant doit réussir
existant réussi
eur_1 vers
•
Le montage du volume hôte
•
Le montage du volume hôte
« conteneur_destination »
doit réussir
réussi. Il apparaît dans la
•
Depuis l’interface principale de
liste des volumes montés et
•
Le démontage du volume
TrueCrypt sélectionner :
est accessible depuis le
hôte doit réussir
« Créer un volume »
poste de travail Windows
•
Le montage du volume
•
Sélectionner « Créer un fichier
•
Le démontage du volume
caché doit réussir
conteneur »
hôte réussi, il n’apparaît plus
•
Le démontage du volume
dans la liste de TrueCrypt et
•
Sélectionner « Volume
chiffré doit réussir
n’est plus accessible depuis
TrueCrypt caché »
le poste de travail
•
Sélectionner « Mode direct »
•
Le montage du disque caché
•
Sélectionner le volume hôte
réussi, il apparaît dans la
destiné à recevoir le volume
liste de TrueCrypt sous le
caché, ici
type «caché ». Il est
« conteneur_destination »
accessible depuis le poste de
•
Entrer le mot de passe du
travail Windows
volume TrueCrypt :
•
Le démontage réussi, le
« jfqmagez*ghz!egh%45zgee1
volume n’apparaît plus dans
+»
la liste de TrueCryp et n’est
•
Sélectionner le chiffrement
plus accessible depuis le
AES et l’algorithme de hachage
poste de travail Windows
RIPEMD-160
•
Sélectionner la taille du
conteneur caché, ici 5 Mo
•
Entrer le mot de passe pour le
volume caché :
« zghriabhromqhvruohyqigryiz
eo »
•
Cliquer sur Formater
•
Sélectionner le conteneur «
conteneur_destination »
•
Tenter de monter le volume
hôte avec le mot de passe :
«jfqmagez*ghz!egh%45zgee1+
»
•
Si opération réussie démonter
le volume
•
Tenter de monter le volume
caché avec le mot de passe :
« zghriabhromqhvruohyqigryiz
eo »
•
Si opération réussie démonter
le volume nouvellement
monté
Conclusions :
L’utilisateur autorisé est capable de créer un volume chiffré dans un volume hôte existant. Il peut ensuite soit monter le
volume hôte en utilisant le mot de passe du volume hôte, soit monter le volume caché en utilisant le mot de passe du
volume caché
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 56 / 80
Évaluation CSPN
Rapport technique d’évaluation
Tableau 7 - Test_Creer_Vol_cache_1
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 57 / 80
Évaluation CSPN
Rapport technique d’évaluation
Objectif de l’analyse :
Fonction de sécurité : Changement des
mots de passes d’un volume caché 1/2
Logiciel TrueCrypt version 6.0a
Réf. :
Auteur : Julien Lenoir
Test_Changement_motdepasse_volcach
e_1
Objet du test : TrueCrypt permet à l’utilisateur de modifier le mot de passe d’un
volume caché chiffré existant. Une fois cette modification effectuée il doit être
impossible à l’utilisateur de monter le volume caché chiffré avec un autre mot de
passe que celui qu’il a spécifié lors du changement de mot de passe
Scénario du test : L’utilisateur autorisé change le mot de passe d’un volume caché chiffré sans modifier le mot de passe du
volume hôte. IL vérifie ensuite que le mot de passe du volume hôte n’a pas changé. Tente de monter le volume avec son ancie
mot de passe puis finalement tente de monter le volume avec son nouveau mot de passe
Opérations à effectuer
Résultats attendus
Résultats observés
•
Copie du conteneur créée lors
•
Le montage du volume
•
Le montage du volume hôte
du test
avec le mot de passe
hôte avec le mot de passe
Test_Creer_Vol_cache_1 vers
« jfqmagez*ghz!egh%45zgee1+
« jfqmagez*ghz!egh%45zg
« conteneur_avant_modificatio
ee1+ » a réussi
» à partir du conteneur
n»
« conteneur_apres_modificatio
•
Le montage du volume
n » doit réussir
•
Faire une copie de
caché à l’aide du mot de
« conteneur_avant_modificatio
passe
•
Le montage du volume caché à
n » vers
«zghriabhromqhvruohyqig
l’aide du mot de passe
« conteneur_apres_modificatio
«zghriabhromqhvruohyqigryize
ryizeo » à partir du
n»
o » à partir du conteneur
conteneur
« conteneur_apres_modifi
« conteneur_apres_modificatio
•
Depuis la fenêtre principale de
cation » a réussi
n » doit réussir
TrueCrypt sélectionner le
•
L’opération de
fichier
•
L’opération de changement de
« conteneur_apres_modificatio
changement de mot de
mot de passe doit réussir
n»
passe a réussi
•
Le montage du volume caché
•
Tenter de monter le volume
•
Le montage du volume
après modification du mot de
hôte à l’aide du mot de passe
passe à l’aide du mot de passe
caché après modification
« jfqmagez*ghz!egh%45zgee1+
du mot de passe à l’aide du
«zghriabhromqhvruohyqigryize
»
mot de passe
o » à partir du conteneur
« conteneur_apres_modificatio
«zghriabhromqhvruohyqig
•
Si succès démonter le volume
ryizeo » à partir du
n » doit échouer
•
Tenter de monter le volume
conteneur
•
Le montage du volume caché
caché à l’aide du mot de passe
« conteneur_apres_modifi
après
modification
du
mot
de
•
Si succès démonter le volume
cation » a échoué
passe à l’aide du mot de passe «
caché
•
Le montage du volume
pzgjhoezhgirzmzgoemzgiemzhg
•
Depuis l’interface de TrueCrypt
caché après modification
e » à partir du conteneur
cliquer sur Outils pour le
du mot de passe à l’aide du
« conteneur_apres_modificatio
volume->Modifier le mot de
n » doit réussir
mot de passe «
passe du volume
pzgjhoezhgirzmzgoemzgie
•
Le montage du volume hôte à
•
Entrer le mot de passe actuel
mzhge » à partir du
l’aide du mot de passe
du volume caché, ici «
conteneur
« jfqmagez*ghz!egh%45zgee1+
zghriabhromqhvruohyqigryizeo
« conteneur_apres_modifi
» doit réussir
»
cation » a réussi
•
Entrer le nouveau mot de
•
Le montage du volume
passe souhaité pour le volume
hôte à l’aide du mot de
caché,
passe
ici « pzgjhoezhgirzmzgoemzgie
« jfqmagez*ghz!egh%45zg
mzhge »
ee1+ » a réussi
•
Cliquer sur OK
•
Tenter de monter le volume
caché avec le mot de passe
« zghriabhromqhvruohyqigryiz
eo »
•
Tenter de monter le volume
caché avec le mot de passe
« pzgjhoezhgirzmzgoemzgiemz
hge »
•
Tenter de monter le volume
hôte à l’aide du mot de passe
« jfqmagez*ghz!egh%45zgee1+
»
Conclusions :
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 58 / 80
Évaluation CSPN
Rapport technique d’évaluation
L’utilisateur authentifié peut changer le mot de passe d’un volume chiffré caché sans modifier le mot de passe du volume
chiffré caché. Il n’est plus alors possible de monter le volume chiffré caché à l’aide de l’ancien mot de passe
Tableau 8 - Test_Changement_motdepasse_volcache_1
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 59 / 80
Évaluation CSPN
Rapport technique d’évaluation
Objectif de l’analyse :
Fonction de sécurité : Changement des mots de
passes d’un volume caché 2/2
Logiciel TrueCrypt version 6.0a
Réf. :
Auteur : Julien Lenoir
Test_Changement_motdepasse_volcache_2
Objet du test : Vérifier que, conformément aux spécifications du format
de volume TrueCrypt, seuls l’entête et la sauvegarde de l’entête du
volume caché sont modifiés lors de la modification des mots de passes
d’un volume caché.
Scénario du test : On va comparer ici les deux fichiers conteneurs servant au montage d’un disque caché. Le premier nommé
«conteneur_avant_modification» correspond au conteneur avant un changement de mot de passe du volume caché. Le
second nommé «conteneur_apres_modification» correspond au conteneur après la modification du mot de passe du volume
caché.
Opérations à effectuer
Résultats attendus
Résultats observés
•
Faire une copie des conteneurs
•
Seuls l’en-tête original et l’en-tête
•
Les 65536
« conteneur_avant_modification» et
de sauvegarde du volume caché
premiers octets
«conteneur_apres_modification»
doivent être modifiés
du fichier,
générés lors du test
correspondant à
•
Les données chiffrées ne doivent
Test_Changement_motdepasse_volcac
l’en-tête
pas être modifiées (les clés
he_1
principal du
maîtresses principales et
volume hôte
•
A l’aide d’un éditeur hexadécimal,
secondaires restant inchangées)
sont identiques
comparer les fichiers
•
L’en-tête original et l’en-tête de
dans les deux
« conteneur_avant_modification» et
sauvegarde du volume hôte ne
fichiers,
« conteneur_apres_modification»
doivent pas être modifiés
conformément
•
Relever les différences entre les deux
aux
fichiers
spécifications
de TrueCrypt.
•
Les 512 octets à
partir de
l’adresse 65636
du fichier,
correspondant à
l’entête d’un
potentiel
volume caché
différent. Les
65024 octets de
l’en-tête du
volume caché
marqués dans la
documentation
comme réservés
sont identiques
dans les deux
fichiers.
•
Les (T –
2*131072)
octets à partir
de l’adresse
131072,
correspondant
aux données
chiffrées dans la
spécification de
TrueCrypt, sont
identiques dans
les deux
fichiers. T étant
la taille du
fichier
conteneur.
•
Les 65536
octets à partir
de l’adresse (T –
131072) et
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 60 / 80
Évaluation CSPN
Rapport technique d’évaluation
•
correspondant à
la sauvegarde
de l’en-tête du
volume hôte
sont identiques
entre les deux
fichiers. T étant
la taille du
fichier
conteneur.
Les 512
premiers octets
de la
sauvegarde de
l’en-tête du
volume chiffré
situés à
l’adresse (T 65536) différent
entre les deux
fichiers. T étant
la taille du
fichier
conteneur. On
peut noter que
les 65024 octets
marqués
comme réservés
dans la
sauvegarde de
l’en-tête du
volume chiffrés
sont identiques
entre les deux
fichiers.
Conclusions :
On constate que lors de la modification du mot de passe d’un volume caché chiffré contenu dans un volume hôte, seuls l’entête principal et l’en-tête de sauvegarde du volume caché sont modifiés, conformément à la documentation de TrueCrypt. Il
est cependant à noter que le champ marqué comme réservé dans la spécification de volume TrueCrypt n’est lui pas modifié.
Ce aussi bien dans l’en-tête original que dans la sauvegarde de l’en-tête.
Tableau 9 - Test_Changement_motdepasse_volcache_2
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 61 / 80
Évaluation CSPN
Rapport technique d’évaluation
Objectif de l’analyse :
Fonction de sécurité : Protection du
volume caché chiffré contre les
dommages
Logiciel TrueCrypt version 6.0a
Réf. : Test_Protect_Vol_cache_1
Auteur : Julien Lenoir
Objet du test : Lors du montage d’un volume chiffré hôte en activant la
protection du volume caché chiffré ce dernier doit être protégé lors de l’écriture
sur le volume hôte
Scénario du test : Un volume chiffré hôte contient un volume chiffré caché. Le volume chiffré hôte est monté en activant
la protection du volume caché. Une tentative de remplissage du disque hôte est effectuée. Une vérification de l’intégrité
des données sur le volume caché est ensuite effectuée.
Opérations à effectuer
Résultats attendus
Résultats observés
•
La création du volume hôte
•
Créer un volume hôte
•
La création du volume hôte
et du volume caché doivent
et du volume caché ont
•
Créer un volume caché dans
réussir
réussi
le volume hôte
•
Le montage du volume
précédemment créée
•
Le montage du volume
caché doit réussir
caché a réussi
•
Monter le disque caché
•
La copie du fichier
•
La copie du fichier
•
Créer un fichier binaire
« fichier_volume_caché »
« fichier_volume_caché » a
« fichier_volume_cache » de
doit réussir
réussi. Après la copie il ne
données aléatoires de la
reste plus aucuns octets de
•
Le démontage du volume
taille du volume caché
libres sur le volume caché
caché doit réussir
•
Générer la signature du
•
Le démontage du volume
•
Le montage du volume hôte
fichier
caché a réussi
avec activation de la
« fichier_volume_cache » à
protection du volume caché
l’aide de l’algorithme sha1
•
Le montage du volume hôte
doit réussir
avec la protection du volume
•
Copier
caché à réussi. Une boîte
•
La copie du fichier
« fichier_volume_cache »
message est apparue nous
« fichier_volume_hote1 »
sur le volume caché
indiquant que le volume
doit échouer
•
Démonter le volume caché
caché était protégé jusqu’au
•
Après un échec d’écriture
•
Monter le volume hôte
démontage du volume hôte
due à la protection du
contenant le volume caché
•
La copie du fichier
volume caché le disque hôte
en activant la protection de
« fichier_volume_hote1 » a
doit devenir accessible en
volumes cachés
échoué. TrueCrypt a affiché
lecture uniquement. La
•
Créer un fichier binaire
une boîte message indiquant
copie
du
fichier
« fichier_volume_hote1 » de
une tentative d’écriture sur
« fichier_volume_hote2 »
données aléatoires de la
le volume caché. Le système,
doit donc échouer
taille du volume hôte
Windows, a affiché une info•
Le démontage du volume
•
Tenter de copier
bulle indiquant l’échec de la
hôte
doit
réussir
« fichier_volume_hote1 »
copie.
•
Le montage du volume
•
Générer un fichier binaire
•
La tentative de copie de
caché doit réussir
« fichier_volume_hote2 » de
« fichier_volume_hote2 »
•
La signature du fichier
aléatoire d’une taille égale à
car le système, ici Windows,
« fichier_volume_cache » en
(taille du volume hôte –
considère quel le disque est
fin
de
test
doit
être
taille du volume caché)
plein. Le fichier
identique à celle du début
•
Tenter de copier
« fichier_volume_hote1 »
du test, signe que
« fichier_volume_hote2 »
apparaît toujours comme
l’ensemble du contenu du
sur le volume hôte
étant sur le disque. Une
disque
caché
a
bien
été
•
Démonter le volume hôte
tentative de suppression
protégé.
•
Monter le volume caché
manuelle de
•
Le démontage du volume
•
Générer la signature du
« fichier_volume_hote1 » le
caché doit réussir
fichier
fait disparaitre du contenu
•
Lors d’une procédure de
« fichier_volume_cache » se
du disque mais fait
montage
d’un
autre
volume,
trouvant sur le volume caché
apparaître des info-bulles
l’option
de
protection
d’un
•
Comparer cette signature à
stipulant l’échec de
volume ne doit pas être
celle générée à partir du
« l’écriture décalée »
sélectionnée
fichier
•
La tentative de copie de
« fichier_volume_cache »
« fichier_volume_hote2 »
avant sa copie sur le volume
après suppression manuelle
caché
de « fichier_volume_hote1 »
•
Démonter le volume caché
échoue. Bien que le fichier
•
Depuis l’interface de
apparaisse dans la liste des
TrueCrypt cliquer sur
fichiers présents sur le
« Monter » puis sur
disque Windows affiche à
« Options de montage »
nouveau une info-bulle
•
Vérifier l’état de l’option de
stipulant l’erreur de
protection de volume caché
« l’écriture décalée »
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 62 / 80
Évaluation CSPN
Rapport technique d’évaluation
•
•
•
•
•
Le démontage du disque
hôte réussi
Le montage du disque caché
a réussi
L’emprunte du fichier
« fichier_volume_cache » est
la même que celle obtenue
en début de test
Le démontage du volume
caché a réussi
Lors d’une procédure de
montage d’un autre volume,
l’option de protection d’un
volume n’est pas
sélectionnée
Conclusions :
On constate que l’option de protection d’un volume caché fonctionne. Elle permet de protéger les données du volume
caché contre l’écrasement lors de l’utilisation du disque hôte. Si une telle tentative est stoppée par TrueCrypt alors le
disque hôte devient protégé contre l’écriture jusqu’au démontage. L’intégrité des données sur le volume caché protégé
est conservée si l’option de protection de ce dernier est activée. Après le démontage d’un volume hôte utilisé avec la
protection du volume caché, l’option de protection reste par défaut décochée pour conserver le déni plausible.
Tableau 10 - Test_Protect_Vol_cache_1
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 63 / 80
Évaluation CSPN
Rapport technique d’évaluation
Objectif de l’analyse :
Logiciel TrueCrypt version 6.0a
Fonction de sécurité : Génération de Réf. : Test_Genkeyfiles_1
Auteur : Julien Lenoir
fichiers Keyfiles
Objet du test : TrueCrypt permet de générer des fichiers keyfiles de 64 octets
Scénario du test : Un utilisateur génère deux fichiers keyfile différents
Opérations à effectuer
Résultats attendus
Résultats observés
•
Depuis l’interface de
•
La génération des deux
•
La génération des deux
TrueCrypt sélectionner dans
fichiers clés doit réussir
fichiers clé a réussi
le menu « Fichiers clé » puis
•
Les deux fichiers
•
Les deux fichiers ont une
« Générer aléatoirement un
« fichier_keyfile1 » et
taille de 64 octets
fichier clé »
« fichier_keyfile2 » doivent
•
Les deux fichiers keyfile sont
•
Cliquer sur « Générer et
avoir une taille de 64 octets
différents et semblent
sauvegarder un fichier clé »
•
Les deux fichiers doivent
remplis de données
puis sauvegarder le fichier
être différents
aléatoires
« fichier_keyfile1 »
•
Cliquer sur « Générer et
sauvegarder un fichier clé »
puis sauvegarder le fichier
« fichier_keyfile2 »
•
Vérifier la taille des fichiers
•
Editer les deux fichiers à
l’aide d’un éditeur
hexadécimal
Conclusions :
TrueCrypt permet à l’utilisateur de créer des fichiers keyfiles de 64 octets.
Tableau 11 - Test_Genkeyfiles_1
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 64 / 80
Évaluation CSPN
Rapport technique d’évaluation
Objectif de l’analyse :
Fonction de sécurité : Taille des
fichiers keyfiles
Logiciel TrueCrypt version 6.0a
Réf. : Test_taille_keyfiles_1
Auteur : Julien Lenoir
Objet du test : TrueCrypt recommande l’utilisation de fichiers keyfiles d’une
taille au moins égale à 30 octets et ayant une entropie élevée
Scénario du test : Un utilisateur tente de chiffrer un volume avec un fichier keyfile de taille nulle et un mot de passe vide
Opérations à effectuer
Résultats attendus
Résultats observés
•
Générer un fichier
•
•
Aucun message
« fichier_vide» ayant une
d’avertissement n’est affiché
taille nulle
à l’utilisateur
•
Depuis l’interface de
•
La création du volume a
TrueCrypt sélectionner
réussi
« Créer un volume »
•
Le montage du volume à
•
Sélectionner « Créer un
l’aide d’un fichier vide
fichier conteneur »
quelconque réussi
•
Sélectionner « Volume
TrueCrypt standard »
•
Sélectionner l’emplacement
du conteneur cible
« conteneur.tc »
•
Spécifier une taille pour le
fichier conteneur
•
Laisser le mot de passe vide
•
Cocher la case « Fichier clé »
•
Sélectionner « Fichier clé… »
•
Sélectionner « Ajouter un
fichier »
•
Sélectionner le fichier
« fichier_vide »
précédemment crée
•
Valider en cliquant sur OK
•
Formater le volume
•
Quitter
•
Depuis l’interface de
TrueCrypt sélectionner le
fichier conteneur
« conteneur.tc »
•
Tenter de monter le volume
en utilisant un fichier vide
quelconque
Conclusions :
TrueCrypt recommande dans sa documentation l’utilisation de fichiers keyfiles ayant une taille supérieure ou égale à 30
octets et ayant une entropie élevée. Il n’est pas précisé dans la documentation que la création d’un volume chiffré avec un
fichier clé vide avec et sans mot de passe doit déclencher l’affichage d’un avertissement. Sur ce point TrueCrypt est
conforme à la documentation.
Tableau 12 - Test_taille_keyfiles_1
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 65 / 80
Évaluation CSPN
Rapport technique d’évaluation
Objectif de l’analyse :
Fonction de sécurité : Utilisation des
fichiers keyfiles
Logiciel TrueCrypt version 6.0a
Réf. : Test_utilisation_keyfiles_1
Auteur : Julien Lenoir
Objet du test : TrueCrypt permet d’utiliser un ou plusieurs fichiers keyfiles lors
de la création d’un volume chiffré. Ce ou ces keyfiles sont alors nécessaires pour
monter le volume chiffré
Scénario du test : L’utilisateur crée un volume chiffré à l’aide d’un keyfile généré par TrueCrypt. Il tente alors ensuite de
monter le volume sans le fichier keyfile, avec un fichier keyfile différent de celui utilisé lors de la création du volume puis
finalement avec le fichier keyfile ayant servi à la création du volume.
Opérations à effectuer
Résultats attendus
Résultats observés
•
La création du fichier
•
Créer un fichier keyfile
•
La création du fichier
« bon_keyfile » a réussi
« bon_keyfile » à l’aide du
« bon_keyfile » doit réussir
générateur de fichier keyfile
•
La création du fichier
•
La création du fichier
de TrueCrypt
« mauvais_keyfile » a réussi
« mauvais_keyfile » doit
•
Créer un volume chiffré par
réussir
•
La tentative de montage du
le fichier keyfile dans le
volume à partir du
•
La tentative de montage du
conteneur « conteneur.tc »
conteneur « conteneur.tc »
volume à partir du
utilisant comme fichier
conteneur « conteneur.tc »
sans utiliser de fichier keyfile
keyfile « bon_keyfile »
échoue
sans utiliser de fichier keyfile
doit échouer
•
Créer un fichier keyfile
•
La tentative de montage du
« mauvais_keyfile » à l’aide
•
La tentative de montage du
volume à partir du
du générateur de fichier
volume à partir du
conteneur « conteneur.tc »
keyfile de TrueCrypt
en utilisant le fichier
conteneur « conteneur.tc »
« mauvais_keyfile » comme
en utilisant le fichier
•
Tenter de monter le volume
fichier clé échoue
« mauvais_keyfile » comme
à partir du conteneur
fichier clé doit échouer
« conteneur.tc » sans
•
La tentative de montage du
spécifier de fichier keyfile
volume à partir du
•
La tentative de montage du
conteneur « conteneur.tc »
volume à partir du
•
Tenter de monter le volume
en utilisant le fichier
conteneur « conteneur.tc »
à partir du conteneur
« bon_keyfile » comme
en utilisant le fichier
« conteneur.tc » en utilisant
fichier clé réussi
« bon_keyfile » comme
le fichier « mauvais_keyfile »
fichier clé doit réussir
comme fichier clé
•
Tenter de monter le volume
à partir du conteneur
« conteneur.tc » en utilisant
le fichier « bon_keyfile »
comme fichier clé
Conclusions :
TrueCrypt permet de chiffrer un volume en utilisant un fichier keyfile à la place d’un mot ou phrase de passe. Ce fichier
keyfile est alors nécessaire pour pouvoir monter le volume chiffré
Tableau 13 - Test_utilisation_keyfiles_1
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 66 / 80
Évaluation CSPN
Rapport technique d’évaluation
Objectif de l’analyse :
Fonction de sécurité : Utilisation des
1048576 premiers octets des fichiers
keyfiles par TrueCrypt
Logiciel TrueCrypt version 6.0a
Réf. : Test_donnees_utiles_keyfiles_1 Auteur : Julien Lenoir
Objet du test : TrueCrypt permet d’utiliser un ou plusieurs fichiers keyfiles lors
de la création d’un volume chiffré. Seuls les 1048576 premiers octets (premier
Mo) de chaque fichier sont utilisés pour la création du volume comme pour son
montage.
Scénario du test : L’utilisateur crée utilise un fichier keyfile de taille supérieure à 1024 octets pour créer un volume chiffré.
ème
L’utilisateur tente de monter le volume avec le keyfile dont le 1048576
octet a été modifié. L’utilisateur tente de
ème
monter le volume avec le keyfile dont l’octet 1048577 octet a été modifié.
Opérations à effectuer
Résultats attendus
Résultats observés
•
La création du volume
•
Créer un fichier contenant
•
La création du volume
des données aléatoires de
chiffré ayant le fichier
chiffré a réussi
« keyfile_original » comme
plus de 1048576 octets
•
Le montage du volume avec
fichier clé doit réussir
« keyfile_original »
comme fichier keyfile
•
Créer un volume chiffré
•
Le montage du volume avec
« keyfile_original » a réussi
ayant le fichier
comme fichier keyfile
•
Le montage du volume avec
« keyfile_original » doit
« keyfile_original » comme
comme fichier keyfile
fichier clé
réussir
« keyfile_avant_limite » a
•
Le montage du volume avec
échoué
•
Faire une copie de « keyfile
comme fichier keyfile
original » vers
•
Le montage du volume avec
« keyfile_avant_limite »
« keyfile_avant_limite » doit
comme fichier keyfile
dont on modifie le
échouer
« keyfile_apres_limite » a
ème
1048576 octet
•
Le montage du volume avec
réussi
•
Faire une copie de
comme fichier keyfile
« keyfile_original » vers
« keyfile_apres_limite » doit
« keyfile_apres_limite » dont
réussir
ème
on modifie le 1048577
octet
•
Tenter de monter le volume
précédemment crée avec
comme fichier keyfile
« keyfile_original »
•
Tenter de monter le volume
précédemment crée avec
comme fichier keyfile
« keyfile_avant_limite »
•
Tenter de monter le volume
précédemment crée avec
comme fichier keyfile
« keyfile_apres_limite »
Conclusions :
Conformément à la documentation on constate que TrueCrypt utilise bien les 1048576 premiers octets des fichiers keyfiles
lors du montage des volumes
Tableau 14 - Test_donnees_utiles_keyfiles_1
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 67 / 80
Évaluation CSPN
Rapport technique d’évaluation
Objectif de l’analyse :
Fonction de sécurité : Démontage
automatique des disques chiffrés à la
fermeture de l’OS
Logiciel TrueCrypt version 6.0a
Réf. :
Auteur : Julien Lenoir
Test_demontage_fermeture_OS_1
Objet du test : Vérifier que lors de la fermeture de l’OS tous les volumes chiffrés
montés sont automatiquement démontés
Scénario du test : L’utilisateur va créer un volume chiffré dans un conteneur. Il va ensuite monter ce volume chiffré puis
fermer l’OS sans préalablement démonter le volume. Il redémarrera ensuite son OS et vérifiera que les volumes montés
avant la fermeture de l’OS ne sont plus montés.
Opérations à effectuer
Résultats attendus
Résultats observés
•
Création d’un volume chiffré
•
La fermeture de l’OS doit
•
La fermeture de l’OS a réussi
dans un conteneur
réussir
•
Après un redémarrage de
•
Montage du volume chiffré
•
Après le redémarrage le
l’ordinateur le lecteur
associé au volume chiffré a
associé au conteneur
lecteur associé au volume
doit avoir disparu du poste
disparu du poste de travail
•
Fermer l’OS via le menu
de travail
« démarrer » de Windows
•
La tentative de suppression
•
La tentative de suppression
du fichier conteneur a réussi
•
Redémarrer l’OS
du fichier conteneur doit
•
Vérifier que le lecteur
réussir
associé au volume chiffré
n’est plus présente
•
Tenter de supprimer le
fichier conteneur créée au
début du test pour vérifier
que le volume n’est plus
utilisé par l’OS
Conclusions :
Lors de la fermeture de l’OS les volumes montés sont automatiquement démontés.
Tableau 15 - Test_demontage_fermeture_OS_1
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 68 / 80
Évaluation CSPN
Rapport technique d’évaluation
Objectif de l’analyse :
Fonction de sécurité : Démontage
automatique des disques chiffrés à la
mise en veille
Logiciel TrueCrypt version 6.0a
Réf. :
Auteur : Julien Lenoir
Test_demontage_mise_en_veille_1
Objet du test : Vérifier que lors de la mise en veille tous les volumes chiffrés
montés sont automatiquement démontés
Scénario du test : L’utilisateur va créer un volume chiffré dans un conteneur. Il va ensuite monter ce volume chiffré puis
mettre en veille l’ordinateur sans préalablement démonter le volume. Il réactivera ensuite son ordinateur et vérifiera que
les volumes montés avant la mise en veille sont démontés.
Opérations à effectuer
Résultats attendus
Résultats observés
•
Création d’un volume chiffré
•
La mise en veille de
•
La mise en veille de
dans un conteneur
l’ordinateur réussit doit
l’ordinateur réussit.
réussir
TrueCrypt affiche une boite
•
Montage du volume chiffré
d’information indiquant que
associé au conteneur
•
Après la réactivation le
les volumes ont été
lecteur associé au volume
•
Mise en veille de
démontés et que ce
doit avoir disparu du poste
l’ordinateur via le menu
démontage est facultatif et
de travail
« démarrer » de Windows
configurable depuis
•
La tentative de suppression
•
Réactiver l’ordinateur
l’utilitaire de TrueCrypt.
du
fichier
conteneur
doit
•
Vérifier que le lecteur
•
Après une réactivation de
réussir
associé au volume chiffré
l’ordinateur le lecteur
n’est plus présente
associé au volume chiffré a
•
Tenter de supprimer le
disparu du poste de travail
fichier conteneur créée au
•
La tentative de suppression
début du test pour vérifier
du fichier conteneur a réussi
que le volume n’est plus
utilisé par l’OS
Conclusions :
Lors de la mise en veille de l’OS les volumes montés sont automatiquement démontés si l’option est activée dans
TrueCrypt. Il est important de noter que cette fonction est liée au programme principal de TrueCrypt. Si l’utilisateur monte
un volume chiffré puis ferme le programme principal de TrueCrypt le volume chiffré restera monté même l’ordinateur est
mis en veille.
Tableau 16 - Test_demontage_mise_en_veille_1
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 69 / 80
Évaluation CSPN
Rapport technique d’évaluation
Objectif de l’analyse :
Fonction de sécurité : Démontage
automatique des disques chiffrés à la
fermeture de session
Logiciel TrueCrypt version 6.0a
Réf. :
Auteur : Julien Lenoir
Test_demontage_fermeture_session_1
Objet du test : Vérifier que lors de la fermeture de session tous les volumes
chiffrés montés sont automatiquement démontés
Scénario du test : L’utilisateur va créer un volume chiffré dans un conteneur. Il va ensuite monter ce volume chiffré puis
fermer sa session sans préalablement démonter le volume. Il ouvrira ensuite sa session et vérifiera que les volumes montés
avant la fermeture de session sont démontés.
Opérations à effectuer
Résultats attendus
Résultats observés
•
Création d’un volume chiffré
•
La fermeture de session doit
•
La fermeture de session
dans un conteneur
réussir
réussit
•
Montage du volume chiffré
•
Après l’ouverture de session
•
Après ouverture de la
session le lecteur associé au
associé au conteneur
le lecteur associé au volume
doit avoir disparu du poste de
volume chiffré a disparu du
•
Activer le démontage de
travail
poste de travail
volumes à la fermeture de
•
La tentative de suppression
•
La tentative de suppression
session depuis l’interface de
TrueCrypt
du fichier conteneur doit
du fichier conteneur a réussi
réussir
•
Fermer la session depuis le
menu démarrer
•
Ouvrir la session
•
Vérifier que le lecteur
associé au volume chiffré
n’est plus présent
•
Tenter de supprimer le
fichier conteneur créée au
début du test pour vérifier
que le volume n’est plus
utilisé par l’OS
Conclusions :
Lors de la fermeture de session les volumes montés sont automatiquement démontés si l’option est activée depuis
l’interface de TrueCrypt. Il est important de noter que cette fonction est liée au programme principal de TrueCrypt. Si
l’utilisateur monte un volume chiffré puis ferme le programme principal de TrueCrypt le volume chiffré restera monté
même l’utilisateur ferme sa session.
Tableau 17 - Test_demontage_fermeture_session_1
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 70 / 80
Évaluation CSPN
Rapport technique d’évaluation
Objectif de l’analyse :
Logiciel TrueCrypt version 6.0a
Fonction de sécurité : Démontage Réf. :
Auteur : Julien Lenoir
automatique des disques chiffrés lors Test_demontage_economiseur_ecran_1
de déclenchement de l’économiseur Objet du test : Vérifier que lors du déclenchement de l’économiseur d’écran tous
d’écran
les volumes chiffrés montés sont automatiquement démontés
Scénario du test : L’utilisateur va créer un volume chiffré dans un conteneur. Il va ensuite monter ce volume chiffré puis
attendre le déclenchement de l’économiseur d’écran sans préalablement démonter le volume. Il arrêtera ensuite
l’économiseur d’écran et vérifiera que les volumes montés avant le déclenchement de l’économiseur d’écran sont
démontés.
Opérations à effectuer
Résultats attendus
Résultats observés
•
La fermeture de session doit
•
La fermeture de session
•
Création d’un volume chiffré
dans un conteneur
réussir
réussit
•
Montage du volume chiffré
•
Après le déclenchement de
•
Après le déclenchement de
l’économiseur d’écran le
l’économiseur d’écran le
associé au conteneur
lecteur associé au volume doit
lecteur associé au volume
•
Activer le démontage de
avoir disparu du poste de
chiffré a disparu du poste de
volumes au déclenchement
travail
travail
de l’économiseur d’écran
•
La tentative de suppression du
•
La tentative de suppression
•
Attendre le déclenchement
fichier conteneur doit réussir
du fichier conteneur a réussi
de l’économiseur d’écran
•
Arrêter l’économiseur
d’écran
•
Vérifier que le lecteur
associé au volume chiffré
n’est plus présent
•
Tenter de supprimer le
fichier conteneur créée au
début du test pour vérifier
que le volume n’est plus
utilisé par l’OS
Conclusions :
Lors du déclenchement de l’économiseur d’écran les volumes montés sont automatiquement démontés si l’option est
activée depuis l’interface de TrueCrypt. Il est important de noter que cette fonction est liée au programme principal de
TrueCrypt. Si l’utilisateur monte un volume chiffré puis ferme le programme principal de TrueCrypt le volume chiffré restera
monté même si l’économiseur d’écran se déclenche.
Tableau 18 - Test_demontage_economiseur_ecran_1
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 71 / 80
Évaluation CSPN
Rapport technique d’évaluation
Objectif de l’analyse :
Logiciel TrueCrypt version 6.0a
Fonction de sécurité : Démontage Réf. :
Auteur : Julien Lenoir
automatique des disques chiffrés lors Test_demontage_atteinte_delai_1
de l’atteinte du délai fixé par Objet du test : Vérifier que lors de l’atteinte du délai fixé par l’utilisateur tous les
l’utilisateur
volumes chiffrés montés sont automatiquement démontés
Scénario du test : L’utilisateur va créer un volume chiffré dans un conteneur. Il va ensuite monter ce volume chiffré puis
attendre l’atteinte du délai fixé par l’utilisateur sans préalablement démonter le volume. Il vérifiera ensuite que les
volumes montés avant la mise en mode économie d’énergie sont démontés.
Opérations à effectuer
Résultats attendus
Résultats observés
•
Création d’un volume chiffré
•
Après de l’atteinte du délai
•
Après l’atteinte du délai fixé
dans un conteneur
fixé par l’utilisateur le
par l’utilisateur le lecteur
lecteur associé au volume
associé au volume chiffré a
•
Montage du volume chiffré
doit avoir disparu du poste
disparu du poste de travail
associé au conteneur
de travail
•
La tentative de suppression
•
Activer le démontage de
•
La tentative de suppression
du fichier conteneur a réussi
volumes lors de l’atteinte
du fichier conteneur doit
d’un délai d’une minute
réussir
•
Attendre la mise en mode
économie d’énergie
•
Vérifier que le lecteur
associé au volume chiffré
n’est plus présent
•
Tenter de supprimer le
fichier conteneur créée au
début du test pour vérifier
que le volume n’est plus
utilisé par l’OS
Conclusions :
Lors de l’atteinte du délai fixé par l’utilisateur les volumes montés sont automatiquement démontés si l’option est activée
depuis l’interface de TrueCrypt. Il est important de noter que cette fonction est liée au programme principal de TrueCrypt.
Si l’utilisateur monte un volume chiffré puis ferme le programme principal de TrueCrypt le volume chiffré restera monté
même si le délai d’inactivité est dépassé.
Tableau 19 - Test_demontage_atteinte_delai_1
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 72 / 80
Évaluation CSPN
Rapport technique d’évaluation
Objectif de l’analyse :
Logiciel TrueCrypt version 6.0a
Fonction de sécurité : Forçage du Réf. : Test_forcer_demontage_1
Auteur : Julien Lenoir
démontage des volumes contenant des Objet du test : Vérifier qu’il est possible de forcer le démontage d’un volume
fichiers ou programmes en cours chiffré monté contenant des fichiers ou programmes en cours d’exécution
d’utilisation
Scénario du test : L’utilisateur va créer un volume chiffré dans un conteneur. Il va ensuite monter ce volume chiffré puis y
créer un répertoire et y copier un programme. Il va ensuite lancer le programme et ouvrir le dossier avec l’explorateur
Windows. Il va finalement forcer le démontage du volume chiffré sans fermer au préalable le dossier ni le programme en
cours d’utilisation
Opérations à effectuer
Résultats attendus
Résultats observés
•
Création d’un volume chiffré
•
Le démontage du volume
•
TrueCrypt affiche une boite
dans un conteneur
doit réussir
message demandant si
l’utilisateur souhaite forcer
•
Montage du volume chiffré
•
La fenêtre de l’explorateur
le démontage du volume
associé au conteneur
sur le dossier créée dans le
volume chiffré doit se
•
Après avoir forcé le
•
Création d’un dossier sur ce
fermer
démontage du volume le
volume chiffré puis ouverture
programme calc.exe est
de ce dossier
•
L’exécution du programme
toujours en exécution
calc.exe doit se poursuivre
•
Copie de programme
•
L’explorateur ouvert sur le
« C:\Windows\System32\calc.
•
Le lecteur associé au volume
dossier dans le conteneur
exe » dans le volume chiffré
doit avoir disparu de
est fermé
puis l’exécution de ce
l’explorateur
programme
•
Le lecteur associé au volume
•
La suppression du fichier
chiffré a disparu du poste de
•
Depuis l’interface de
conteneur doit réussir
travail
TrueCrypt démonter le
volume
•
La suppression du fichier
conteneur a réussit
•
Vérifier que le démontage
réussit
•
Vérifier que le lecteur associé
au volume chiffré n’est plus
présent
•
Tenter de supprimer le fichier
conteneur créée au début du
test pour vérifier que le
volume n’est plus utilisé par
l’OS
Conclusions :
Il est possible depuis l’interface de TrueCrypt de forcer le démontage des volumes chiffrés contenant des fichiers ou
programmes en cours d’éxécution
Tableau 20 - Test_forcer_demontage_1
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 73 / 80
Évaluation CSPN
Rapport technique d’évaluation
Objectif de l’analyse :
Logiciel TrueCrypt version 6.0a
Fonction de sécurité : Vérification de Réf. :
Auteur : Julien Lenoir
la robustesse des mots ou phrases de Test_qualite_mots_de_passes_1
passe lors de la création de volumes Objet du test : TrueCrypt recommande d’utiliser des mots ou phrases de passe
TruCrypt.
robustes.
Scénario du test : L’utilisateur créer un volume TrueCrypt à l’aide de l’assistant.
1
Il tente de saisir un mot ou phrase de passe robuste , inférieur à 20 caractères
1
Il tente de saisir un mot ou phrase de passe robuste , égal à 20 caractères
1
Il tente de saisir un mot ou phrase de passe robuste , supérieur à 20 caractères
2
Il tente de saisir un mot ou phrase de passe faible , inférieur à 20 caractères
2
Il tente de saisir un mot ou phrase de passe faible , égal à 20 caractères
2
Il tente de saisir un mot ou phrase de passe faible , supérieur à 20 caractères
1
: un mot (ou phrase) de passe robuste est un mot (ou phrase) de passe composé de lettres, de chiffres et de caractères spéciaux ;
: un mot (ou phrase) de passe faible est un mot (ou phrase) de passe ne présentant pas les caractéristiques du mot (ou phrase) de passe
robuste (par ex : une date, nom commun, répétition de caractères, …).
Note : la notion de robustesse ou de faiblesse d’un mot (ou phrase) de passe inclut la taille du mot (ou de la phrase) de passe. Cependant,
c’est une variable dans le cadre de ce test, ainsi, les définitions ci-dessus omettent volontairement ce paramètre essentiel
2
Opérations à effectuer
•
Créer un volume TrueCrypt
•
Vérifier les messages ou
l’absence de message lors de
la validation de la saisie du
mot (ou phrase) de passe
Résultats attendus
•
L’assistant doit afficher un
message d’information si le
mot (ou phrase) de passe est
faible et/ou inférieur à 20
caractères
•
L’assistant doit afficher un
message d’information si le
mot (ou phrase) de passe est
égale ou supérieur à 20
caractères, mais faible
•
Aucun message
d‘information de doit être
affiché si le mot (ou phrase)
de passe est égal ou
supérieur à 20 caractères
Résultats observés
•
La saisie d’un mot (ou
phrase) de passe faible
inférieur à 20 caractères
provoque l’affichage d’un
message d’erreur.
•
La saisie d’un mot (ou
phrase) de passe robuste
inférieur à 20 caractères
provoque l’affichage d’un
message d’erreur.
•
La saisie d’un mot (ou
phrase) de passe faible égal
à 20 caractères ne provoque
pas l’affichage d’un message
d’erreur (idem si supérieur à
20 caractères)
•
La saisie d’un mot (ou
phrase) de passe robuste
égal à 20 caractères ne
provoque pas l’affichage
d’un message d’erreur (idem
si supérieur à 20 caractères)
Conclusions :
La vérification du mot (ou phrase) de passe saisi est uniquement réalisée sur la longueur du mot (ou la phrase) de passe.
Aucune vérification n’est faite sur les caractères constituant le mot (ou phrase) de passe.
Tableau 21 - Test_qualite_mots_de_passes_1
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 74 / 80
Évaluation CSPN
Rapport technique d’évaluation
Objectif de l’analyse :
Fonction de sécurité : Tests d’intégrité
du volume et restauration des entêtes défectueux 1/2
Logiciel TrueCrypt version 6.0a
Réf. : Test_integrite_recuperation_1
Auteur : Jean-Baptiste Bédrune
Objet du test : TrueCrypt effectue un test d’intégrité sur l’en-tête du volume
chiffré. TrueCrypt propose également de restaurer l’en-tête du volume à partir
d’une copie de l’en-tête embarquée dans le volume.
Scénario du test :
Opérations à effectuer
Résultats attendus
Résultats observés
•
La création du volume
•
La création du volume
•
Créer un volume chiffré dans
un conteneur nommé
chiffré dans le conteneur
chiffré dans le conteneur
« normal » doit réussir
« normal » a réussi
« normal » et ayant comme
mot de passe
•
Le montage du volume à
•
Le montage du volume à
« cspncspncspncspncspn »
partir du conteneur
partir du conteneur
•
Mettre à zéro les 16
« normal-broken » non
« normal-broken » non
restauré doit échouer
restauré a échoué
premiers octets du fichier
« normal » correspondants
•
La restauration du volume
•
La restauration du volume
aux 16 premiers octets de
endommagé « normalendommagé « normall’en-tête du volume
broken » doit réussir
broken » a réussi
TrueCrypt. Sauvergarder e
•
Le montage du volume à
•
Le montage du volume à
conteneur modifié sous le
partir du conteneur
partir du conteneur
nom « normal-broken »
« normal-broken » restauré
« normal-broken » restauré
•
Tenter de monter le volume
doit réussir
a réussi
à partir du conteneur
« normal-broken »
•
Restaurer l’en-tête du
volume « normal-broken » à
partir de la sauvegarde de
l’en-tête intégrée au volume
depuis de l’interface de
TrueCrypt.
•
Tenter de monter le volume
à partir du conteneur
« normal-broken »
Conclusions :
TrueCrypt effectue bien un test d’intégrité sur l’en-tête du volume chiffré. TrueCrypt permet bien de restaurer l’en-tête du
volume chiffré à partir de la copie de l’en-tête embarquée dans le volume.
Tableau 22 - Test_integrite_recuperation_1
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 75 / 80
Évaluation CSPN
Rapport technique d’évaluation
Objectif de l’analyse :
Fonction de sécurité : Tests d’intégrité
du volume et restauration des entêtes défectueux 2/2
Logiciel TrueCrypt version 6.0a
Réf. : Test_integrite_recuperation_2
Auteur : Jean-Baptiste Bédrune
Objet du test : TrueCrypt effectue un test d’intégrité sur l’en-tête du volume
chiffré. TrueCrypt propose également de restaurer l’en-tête du volume à partir
d’une copie de l’en-tête sauvegardée sur un fichier externe au volume.
Scénario du test :
Opérations à effectuer
Résultats attendus
Résultats observés
•
Créer un volume chiffré de
•
La création du volume
•
La création du volume
10Mo dans un conteneur
chiffré dans le conteneur
chiffré a réussi
nommé « normal » et ayant
« normal » doit réussir
•
Le montage du volume à
comme mot de passe
•
Le montage du volume à
partir du conteneur
« cspncspncspncspncspn »
partir du conteneur
« normal-broken » non
•
Sauvegarder l’en-tête du
« normal-broken » non
restauré a échoué
volume dans un fichier
restauré doit échouer
•
La restauration du volume
externe nommé « header•
La restauration du volume
endommagé « normalvolume »
endommagé « normalbroken2 » à partir de la
•
Mettre à zéro les 16
broken2 » à partir de la
sauvegarde de l’en-tête
premiers octets du fichier
sauvegarde de l’en-tête
contenue dans le volume a
« normal » correspondants
contenue dans le volume
réussi
aux 16 premiers octets de
doit réussir
•
Le montage du volume à
l’en-tête du volume
•
Le montage du volume à
partir du conteneur
TrueCrypt. Mettre à zéro les
partir du conteneur
« normal-broken2 »
16 premiers octets du fichier
« normal-broken2 »
restauré a échoué
« normal » à partir de
restauré doit échouer
•
La restauration du volume
l’adresse 0x9E0000
•
La restauration du volume
endommagé « normalcorrespondants aux 16
endommagé « normalbroken2 » à partir de la
premiers octets de la
broken2 » à partir de la
sauvegarde de l’en-tête
sauvegarde de l’en-tête du
sauvegarde de l’en-tête
contenue dans le fichier
volume TrueCrypt .
contenue dans le fichier
« header-volume » a réussi
Sauvegarder le conteneur
« header-volume » doit
•
Le montage du volume à
modifié sous le nom
réussir
partir du conteneur
« normal-broken2 »
•
Le montage du volume à
« normal-broken2 »
•
Tenter de monter le volume
partir du conteneur
restauré a réussi
à partir du conteneur
« normal-broken2 »
« normal-broken2 »
restauré doit réussir
•
Restaurer l’en-tête du
volume « normal-broken2 »
à partir de la sauvegarde de
l’en-tête intégrée au volume
depuis de l’interface de
TrueCrypt.
•
Tenter de monter le volume
à partir du conteneur
« normal-broken2 »
•
Restaurer l’en-tête du
volume « normal-broken2 »
à partir de la sauvegarde de
l’en-tête contenue dans le
fichier « header-volume »
depuis de l’interface de
TrueCrypt.
•
Tenter de monter le volume
à partir du conteneur
« normal-broken2 »
Conclusions :
TrueCrypt effectue bien un test d’intégrité sur l’en-tête du volume chiffré. TrueCrypt permet bien de restaurer l’en-tête du
volume chiffré à partir de la copie de l’en-tête sauvegardée sur un fichier externe au volume.
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 76 / 80
Évaluation CSPN
Rapport technique d’évaluation
Tableau 23 - Test_integrite_recuperation_2
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 77 / 80
Évaluation CSPN
Rapport technique d’évaluation
Objectif de l’analyse :
Logiciel TrueCrypt version 6.0a
Fonction de sécurité : Démontage Réf. :
Auteur : Julien Lenoir
automatique des disques chiffrés lors Test_demontage_economie_energie_1
de la mise en mode économie Objet du test : Vérifier que lors de la mise en mode économie d’énergie tous les
d’énergie
volumes chiffrés montés sont automatiquement démontés
Scénario du test : L’utilisateur va créer un volume chiffré dans un conteneur. Il va ensuite monter ce volume chiffré puis
attendre la mise en mode économie d’énergie sans préalablement démonter le volume. Il réactivera ensuite sa machine et
vérifiera que les volumes montés avant la mise en mode économie d’énergie sont démontés.
Opérations à effectuer
Résultats attendus
Résultats observés
•
La mise en mode économie
•
Juste avant la mise en mode
•
Création d’un volume chiffré
dans un conteneur
d’énergie doit réussir
économie d’énergie
l’interface graphique de
•
Montage du volume chiffré
•
Après la mise en mode
TtrueCrypt indique que tous
économie d’énergie le lecteur
associé au conteneur
les volumes ont été
associé au volume doit avoir
•
Activer le démontage de
démontés.
disparu du poste de travail
volumes lors de la mise en
•
La mise en mode économie
•
La tentative de suppression
mode économie d’énergie
d’énergie à réussi
du fichier conteneur doit
•
Attendre la mise en mode
réussir
•
Après réactivation de l’OS, le
économie d’énergie
volume précédemment
•
Réactiver l’ordinateur
monté est bien démonté
•
Vérifier que le lecteur
•
La tentative de suppression
associé au volume chiffré
du fichier conteneur a réussi
n’est plus présent
•
Tenter de supprimer le
fichier conteneur créée au
début du test pour vérifier
que le volume n’est plus
utilisé par l’OS
Conclusions :
Lors de la mise en mode économie d’énergie les volumes montés sont automatiquement démontés si l’option est activée
depuis l’interface de TrueCrypt. Si l’option n’est pas activée depuis l’interface de TrueCrypt les volumes ne sont pas
démontés avant la mise en mode économie d’énergie.
Tableau 24 - Test_demontage_economie_energie_1
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 78 / 80
Évaluation CSPN
Rapport technique d’évaluation
Annexe 2 : Tableaux proposés par la CEM pour la cotation
des mécanismes de résistance
Valeur pour
Valeur pour
Facteur
Intervalle
identification d’une
exploitation d’une
vulnérabilité
vulnérabilité
< 0.5 h
0
0
< 1 jour
2
3
Temps mis pour
< 1 mois
3
5
> 1 mois
5
8
Impraticable
*
*
* Indique que le chemin d’attaque n’est pas exploitable dans un intervalle de temps qui
serait utile à un attaquant. Une valeur * indique un haut niveau de résistance.
Expertise de
l’attaquant
Connaissance
nécessaire à
l’attaquant
Accès au produit par
l’attaquant
Type d’équipement
nécessaire pour
exploiter la
vulnérabilité
Somme des valeurs
0 à 10
11 à 17
18 à 24
> 25
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Profane
Compétent
Expert
Aucune
Informations publiques
Informations sensibles
< 0.5h ou indétectable
< 1 jour
< 1 mois
> 1 mois
Impraticable
Aucun
Standard
Spécialisé
Spécifique
0
2
5
0
5
8
0
2
3
4
*
0
1
3
5
0
2
4
0
2
4
0
4
6
9
*
0
2
5
6
Résistant à un attaquant ayant
Niveau de résistance des
un potentiel d’attaque
fonctions
Pas de classement
Faible
Basique/Élémentaire
Modéré
Médium/Moyen
Élevé
Élevé
Réf : K08-JBB-CR-671-2008
Page 79 / 80
Évaluation CSPN
Rapport technique d’évaluation
8. FIN DU DOCUMENT
 SOGETI I.S.
Division : Consulting Agence : ESEC.
Réf : K08-JBB-CR-671-2008
Page 80 / 80