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.

Présentation

Pour ce faire, le disque est coupé en 2 partitions. La première partition contient un système d’exploitation chiffré leurre, et la seconde partition est une partition chiffré qui contient dans un volume chiffré caché un système d’exploitation caché.

Le système caché ne doit être utilisé que lorsque l’utilisation de fichier confidentiel est nécessaire. Le système leurre doit être le système qui est utilisé au quotidien et ne doit contenir aucun fichier confidentiel, idéalement il doit être utilisé aussi souvent que l’ordinateur est allumé. Sinon un attaquant comprendra très vite que c’est un système leurre et qu’il est fort probable qu’un système caché se trouve sur la machine.

Quand le système d’exploitation caché chiffré fonctionne il apparait à l’utilisateur comme étant sur la même partition que le système leurre, en réalité il se trouve bien dans la partition chiffré. La partition contenant le système leurre n’est accessible qu’en lecture quand le système caché est en fonctionnement afin d’éviter que le système caché aille y écrire des fichiers temporaire qui trahiraient sa présence.

Au démarrage de l’ordinateur le système de chiffrement va permettre de charger soit l’OS leurre, soit le système d’exploitation caché en fonction du mot de passe entré. Le bootloader de Truecrypt  cherche à déchiffrer les 512 octet de la première zone du disque avec le mot de passe rentré par l’utilisateur afin de démarrer le système leurre. Si le mot passe rentré par l’utilisateur ne permet pas de déchiffrer cette zone et s’il y a une partition derrière la partition de du système leurre alors le bootloader essayera de déchiffrer le header  du système caché chiffré se trouvant au début de cette partition. Le header du système caché chiffré quand il est chiffré apparait comme des données aléatoire, mais déchiffré il contient toutes les informations pour démarrer sur le système d’exploitation caché chiffré.

Il y a donc 3 mots de passe différents :

  • 1 pour charger la première partition qui contient le système d’exploitation leurre (à partir du  boot loader).
  • 1 pour charger le volume caché qui contient le système d’exploitation caché (à partir du  boot loader).
  • 1 pour charger la seconde partition qui contient le volume caché (à partir du système leurre).

Le 3ieme mot de passe permet de monter la partition chiffré au cas ou un attaquant obligerais l’utilisateur à lui livrer ce mot de passe. Le système d’exploitation caché chiffré se trouve dans cette partition mais il n’est pas visible sans son mot de passe.

Voici une représentation qu’aura le disque :

capture_07232009_180112

Vulnérabilité :

Aujourd’hui il n’existe aucune méthode pour détecter des header chiffrés sur un disque. Tout comme il n’est pas possible de détecter des volumez caché dans des fichiers chiffrés. Il est uniquement possible de détecter des fichiers chiffré (TCHUNT). Les méthodes de Forensic évoluant vite, des vulnérabilités peuvent apparaitre.

Mise en place

La seconde partition doit être au moins 5% plus grosse que la principale car Truecrypt clone la partition système leurre dans le volume caché pour créer le Système chiffré caché.

Dans cet exemple, la partition 1 fera 5 go (c:) formaté en NTFS et la partition 2 fera 15go.

La procédure va se dérouler en 8 étapes.

1 / Partitionner et Installer le Windows temporaire

2 / Installer Truecrypt

3 / Créer la partition chiffré dans la partition 2.

4 / Créer le volume chiffré caché qui va accueillir le système d’exploitation caché chiffré.

5 / Copier le système leurre dans le volume chiffré caché.

6 / Effacer le système leurre temporaire

7 / Re-Installer le système leurre.

8 / Chiffrer le système leurre.

1 / Partitionnement et Installation de Windows

Créer 2 partitions, la première pour Windows et une seconde vide pour l’instant. Puis installer Windows normalement dans la partition 1.

Une fois Windows Installer. Formater la deuxième partition en NTFS ou FAT si ce n’est pas déjà fait sinon Truecrypt ne pourra pas la trouver.

2 / Installation Truecrypt

Une fois Windows installer, télécharger puis installer truecrypt pour windows.

3 / Créer la partition chiffré

Lancer Truecrypt. Puis aller dans System > Create a Hidden Operating System.

Cliquez Sur Ok dans la fenêtre qui s’ouvre.

capture_07232009_143118Puis Next.

capture_07232009_143226

Vérifier que vous avez l’installation de Windows au cas ou. Puis cliquez sur Oui.

capture_07232009_143235

Vérifier que votre système Windows leurre est bien activé. Puis cliquez sur oui.

capture_07232009_143238

Choisissez Single boot. Puis cliquez sur Next

capture_07232009_143242

5 / La première véritable étape va consister a créer la partition chiffrée qui contiendra le volume caché dans lequel se trouve le système d’exploitation caché. Cliquez sur next.

capture_07232009_143244

Choisissez l’algorithme de chiffrement et de hash que vous voulez, puis cliquez sur Next.

capture_07232009_143246

Truecrypt vous informe de la taille de votre second partition. Cliquez sur Next.

capture_07232009_143248

Choisissez votre mot de passe pour la Partition chiffré. Vous aurez besoin de 3 mots de passe pour l’ensemble de ce tuto. Donc prévoyez 3 mots de passe différents. Attention un mot de passe trop court peut être très dangereux pour vos données.

capture_07232009_143258

Attention ici le choix est trés important pour la suite. Si vous choisissez la possibilité de stocker des fichiers plus gros que 4GB et donc le NTFS comme format pour la partition 2 alors le volume caché ne pourra être plus gros que la moitié de la taille de la partition 2. C’est du fait de la gestion de l’allocation des fichiers par le NTFS qui met tous les fichiers d’abord au milieu de la partition. Il vaut donc mieux choisir de mettre la partition 2 en FAT puis le volume caché contenant l’OS en NTFS. Je conseil donc de choisir no, puis de cliquez sur Next.

capture_07232009_143301

Cliquez sur Format pour lancer le chiffrement de la partition 2.

capture_07232009_143304

Une fenêtre vous demande de confirmer que vous aller bien formater puis chiffrer la partition 2. Cliquez sur Oui.

capture_07232009_143309