Archives de catégorie : Truecrypt

Stoned Bootkit : Premier Bootkit pour Truecrypt

Stoned BootkitVoici Stoned Bootkit, le premier bootkit visant les OS Windows entièrement chiffré avec Truecrypt.

Stoned remplace le bootloader de Truecrypt par le sien ce qui lui permet de se lancer avant l’OS chiffré puis de lancé l’OS avec le mot de passe que l’utilisateur rentre. Un attaquant peut donc lancer des programmes avant le démarrage de Windows et ainsi rendre vulnérable l’OS chiffré. Ce bootkit fonctionne avec TC 6.x et presque tous les Windows 32bits de 2000 à la RC de 7. Stoned ne peut fonctionner qu’avec les BIOS traditionnels. Les nouveaux BIOS EFI ne sont pas vulnérable.

Toutefois Stoned Vienna n’a que 2 de façon de s’installer :

  • Soit un attaquant à les droits administrateurs pour réécrire la MBR afin de s’y installer. Ce qui veut dire que l’OS chiffré est déjà compromise.
  • Soit un attaque a un accés phyique à la machine et peut installer stoned bootkit directement dans la MBR.

Et c’est justement ces 2 contraintes qui ont créer la polémique entre Peter Kleissner et l’équipe de Truecrypt.  Voici toute l’histoire :

Continuer la lecture de Stoned Bootkit : Premier Bootkit pour Truecrypt

Hidden Operating System

truecrypt-iconJe présentais le concept de Hidden Operating System dans ce billet. Je vais à présent faire un tuto pour expliquer comment le mettre en place.

Introduction

Dans le cas d’une utilisation d’un système d’exploitation chiffré même si l’affichage de l’écran Truecrypt de pré-boot est masqué par un autre message, par exemple « Missing operating system », il suffit de dumper la MBR pour voir que le boot est géré par Truecrypt.
Il devient donc possible pour un attaquant de forcer l’utilisateur à révéler le mot de passe du système d’exploitation chiffré à grand coup de rubber hose cryptanalyse.

Le principe de l’Hidden Operating System, est de cacher le Système contenant des fichiers confidentiel dans un volume caché. L’ordinateur aura donc 2 OS, dans 2 partitions différentes. Une OS leurre, et une OS confidentiel.

Continuer la lecture de Hidden Operating System

Les FLOPS, les clés et la taille des mots de passe

En matière d’attaque par force brute il faut bien différencier l’attaque sur le mot de passe que tapent l’utilisateur et l’attaque sur la clé qui est issus du mot de passe. L’attaque par force brute consiste à utiliser une très grande puissance de calcul pour essayer toutes les combinaisons possible d’une chaine donnée. Les supercalculateurs quantique n’étant encore que des objets de recherche ils ne feront pas l’objet de cette démonstration.

Comme il a été déjà démontré, une clé s’obtient par le calcul de 3 éléments : Le mot de passe, la salt et des itérations. La présence de SALT empêche l’utilisation de rainbow table, et les itérations permettent de ralentir la génération de la clé. Ce billet ne prendra pas en compte les Itérations et le type de Hash dans le calcul du mot de passe. Cela sera fait dans un prochain billet.

Continuer la lecture de Les FLOPS, les clés et la taille des mots de passe

Rubber-hose cryptanalyse et Hidden Operating System

La rubber-hose cryptanalyse (cryptanalyse de la matraque en caoutchouc) est un euphémisme qui symbolise l’obtention de la clé de chiffrement par un moyen de coercition. Ce terme de rubber-hose a été utilisé pour la première fois en octobre 1990 par J. Marcus Ranum dans le groupe de discussion de référence en cryptologie « sci.crypt » à travers cette phrase à présent célèbre :

“…in which a rubber hose is applied forcefully and frequently to the soles of the feet until the key to the cryptosystem is discovered, a process that can take a surprisingly short time and is quite computationally inexpensive…”

Elle trouve aujourd’hui de nouveaux débouché avec l’essor du chiffrement de disque.

Aussi bien pour le chiffrement de volume que pour le chiffrement complet de disque, des volumes chiffrés peuvent être cachés dans d’autres volumes chiffrés un peu comme pour la stéganographie, on parlera alors de chiffrement stéganographique.

security

Dans le cas où des fichiers chiffrés seraient découverts, cacher des fichiers chiffrés dans d’autres fichiers chiffrés permet de ne révéler qu’une partie du secret à l’attaquant. Le propriétaire d’un volume chiffré peut donnée le mot de passe à un attaquant sans pour autant permettre à ce dernier d’accéder au fichier se trouvant dans le véritable volume caché protégé par un autre mot de passe.

Ce concept fait suite aux travaux sur la rubber-hose cryptanalyse (Dreyfus, 1997) qui ont montré qu’un moyen de coercition peut se montrer beaucoup plus efficace est moins cher qu’un parc de calculateur pour obtenir une clé de chiffrement.

A présent je vais pousser le raisonnement dans le cas de son utilisation pour caché un système d’exploitation chiffré :

Alice est une diplomate qui possède un ordinateur portable sur lequel se trouvent des informations confidentielles. L’ordinateur d’Alice est en Full Disk Encryption et possède 2 systèmes d’exploitation dans 2 partitions chiffrés:

  • Le premier SYSTEM A est le système leurre, c’est celui dont se sert alice la majeure partie de son temps quand elle n’a pas besoin d’accéder aux informations confidentielles.
  • Le second SYSTEM B est le système d’exploitation qui contient les données confidentielles, il est caché dans la seconde partition chiffré.

Son ordinateur possède 3 mots de passe :

  • Un mot de passe pour démarrer sur le SYSTEM A
  • Un mot de passe pour démarrer sur le SYSTEM B
  • Un mot de passe pour monter la partition chiffré où est caché le SYSTEM B

En fonction du mot de passe que rentre Alice au démarrage son ordinateur démarre sur le SYSTEM A ou le SYSTEM B.

Alice est enlever ainsi que son ordinateur par un groupe voulant connaitre les informations que contiens son portable. Alice donne le mot de passe du SYSTEM A, puis Alice donne le mot de passe de la seconde partition chiffré où est caché le SYSTEM B. Son ordinateur apparait au groupe comme ayant uniquement un SYSTEM A chiffré et une partition chiffré. Le SYSTEM B où se trouvent les données confidentielles n’a pas été découvert. Le groupe laisse repartir Alice pensant avoir tout découvert.

Voici comment on pourrait le représenter (issu de la doc Truecrypt):

decoyOS

Et vous l’aurez deviné c’est une fonctionnalitée disponible dans Truecrypt. Pour mettre en place un Hidden operating system cliquer ici.

DualBoot OS FDE : Windows chiffré + Linux chiffré

truecrypt-iconSuite au billet concernant la mise en place du dual-boot entre windows chiffré avec Truecrypt et Linux Ubuntu. Je m’attaque à présent au chiffrement non seulement des Windows mais aussi de linux ubuntu afin d’obtenir un dual boot windows/linux avec Full Disk Encryption.

Pour Windows je vais de nouveau utiliser Truecrypt, alors que pour Linux Ubuntu je vais utiliser dm-crypt. Ce n’est malheureusement pas exactement du Full Disk Encryption (FDE) parfait car je ne peux pas mélanger la techno de FDE de windows avec celle de linux. Il va rester la partition de boot en claire. Si vous voulez faire du FDE avec linux sans dual-boot, je vous conseil la lecture de ce tuto ou celui-ci dont j’ai dérivé les procédures pour obtenir le mien.

Je passe sur la partie explication de la gestion du multi-boot que j’avais détaillé dans mon précédent billet pour directement m’attaquer au chiffrement de Ubuntu. La principale différence repose dans le formatage et le partitionnement de Ubuntu que je vais installer cette fois ci avec le « Alternate CD » de ubuntu et non pas le CD d’installation classique. Le alternate CD va me permetre de pouvoir installer ubuntu avec des partitions chiffrées en utilisant les LVM et le tout puissant LUKS.

Continuer la lecture de DualBoot OS FDE : Windows chiffré + Linux chiffré

Truecrypt dual boot : Windows / Linux

truecrypt-iconDans ce tutoriel je vais m’intéresser uniquement à chiffrer Windows et pas Linux. Le chiffrement de Windows et Linux est disponible ici.

Je vais utiliser Windows XP, Windows Vista comme système de chez Microsoft et Ubuntu 9.04 comme linux pour ce dualboot.

Tout d’abord il faut comprendre comment un ordinateur démarre ?

Quand l’ordinateur est allumé, le bios recherche un disque dur sur lequel démarrer pour transférer la suite de la procédure de démarrage au secteur d’amorçage. Ce secteur ce situe dans la première zone adressage du disque dur appeler la MBR (Master Boot Record) qui fait 512 octet. Cette zone contient entre autre 2 données très importante :

  • La table des partitions.
  • La routine d’amorçage du système d’exploitation (par exemple : GRUB pour linux).

Continuer la lecture de Truecrypt dual boot : Windows / Linux

Détecter truecrypt : TCHunt vs FI TOOLS

truecrypt-icon

Un des points fort d’un logiciels de chiffrement de disque (outre sa capacité à chiffrer) réside dans son aptitude à masquer le fait qu’un fichier aléatoire est un fichier chiffré.

En Janvier 2009, des petits gars fortiche en math ont montré avec leur première alpha de TCHunt que les fichiers chiffrer par Truecrypt pouvait être détecté. Toutefois en janvier, l’alpha TCHunt décelait encore trop de faux positif. L’idée fut reprise fin avril 2009 par Forensic Innovation et leurs outils de recherche de fichier FI Tools. Mais c’est avec l’apparition début mai 2009 de la première version stable de TCHunt que la compétition commença réellement. Est ce que ces logiciels annoncent la fin du dénie plausible ? Nous allons le voir.

Aussi mystérieux l’un que l’autre sur la façon dont ils fonctionnent j’ai voulus savoir quels était leurs performances réelles. Pour ce faire, j’ai créé 6 fichiers avec Truecrypt de tailles différentes, avec des hash différent, des algorithmes de chiffrement différent, des mots de passe différents, des noms différents, des extensions différentes, et enfin des emplacements sur le disque différent.

Continuer la lecture de Détecter truecrypt : TCHunt vs FI TOOLS

Windows 7 en FDE avec Truecrypt 6.x

truecrypt-icon

Update : Avec truecrypt 6.3, plus besoin de cette astuce.

Les développeurs de truecrypt ont annoncés que truecrypt ne sera officiellement compatible avec windows 7 pas avant que ce dernier arrive dans le commerce. Ce qui celons les dernières rumeurs devrait arriver vers novembre-décembre 2009. Mais en pratique Truecrypt est déjà compatible avec Windows 7 RC1 (ce qui n’était pas vrai avec Windows 7 beta). Et c’est vrai aussi bien en « Whole Disk Encryption » qu’en « Encryption System Partition ».

Simplement en « System Partition », seulement la partition système où windows 7 est installé est chiffrée, la partition de boot de 100mo que Windows 7 créer  lors de son installation pour stocker ses fichiers de boot, WinRE et bitlocker ne sera pas chiffré. Ce qui peut permettre à un attaquant de modifié les fichiers de boot de Windows 7 et donc insérer du code malicieux une fois que vous avez démarré sur windows 7.

Si vous ne voulez ou pouvez pas faire de « whole disk encryption » alors, il faut fusionner lors de l’installation de Windows la partition de boot avec la partition système ainsi :

  1. Démarrer l’installation normalement
  2. Choisir le type d’installation Personnalisée.
  3. Au moment de choisir le partitionnement, cliquez sur « Options des lecteurs » (avancées).
  4. Cliquez sur Nouveau et choisissez la taille maximum. Cliquez sur OK.
  5. Un écran va vous dire que Windows peut créer des partition, blablaba. Cliquez sur OK. Vous allez voir que 2 partions sont créer, une de 100 mo et une autre qui prend tout l’espace disponible.
  6. Supprimer la plus grosse mais ne toucher pas a celle de 100 Mo.
  7. Sélectionnez la partition de 100 Mo puis cliquez sur « Étendre » et choisissez d’utiliser tout l’espace disponible. Cliquez sur OK au message d’avertissement.
  8. A présent, il n’y a plus qu’une seule partition sur laquelle vous pouvez installer votre Windows.
  9. Finissez l’installation de Windows, puis chiffrer votre partition comme d’habitude.

Source de l’astuce ici.

Les tests ont été effectué avec :

  • VirtualBox 2.2.2,
  • Windows7 RC1 (7100) fr 64bits
  • Truecrypt 6.2

Update 18/08/09 : Après vérification l’astuce est aussi valable pour Windows 7 x86 et x64 RTM 🙂 C’est à dire Windows 7 final.