Je 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 :
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.
Vérifier que vous avez l’installation de Windows au cas ou. Puis cliquez sur Oui.
Vérifier que votre système Windows leurre est bien activé. Puis cliquez sur oui.
Choisissez Single boot. Puis cliquez sur Next
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.
Choisissez l’algorithme de chiffrement et de hash que vous voulez, puis cliquez sur Next.
Truecrypt vous informe de la taille de votre second partition. Cliquez sur Next.
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.
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.
Cliquez sur Format pour lancer le chiffrement de la partition 2.
Une fenêtre vous demande de confirmer que vous aller bien formater puis chiffrer la partition 2. Cliquez sur Oui.
Wow, c’est quoi cet article de fou mister 🙂 !!
en tout cas… je découvre pas mal de choses grace a toi !
pas mal ta spécialisation à présent ! bonne continuation.
ne fonctionne pas sous Windows seven 64 bits … erreur juste après le reboot. copie impossible de la partition leurre.
Au final, j’ai peut-être la solution :
partition cachée System Reserved dans Windows 7 : http://danstoncloud.com/blogs/yannick/archive/2010/07/08/pourquoi-une-partition-cach-233-e-system-reserved-lors-de-l-installation-de-windows-7.aspx
par contre, il faut au moins 32 Kb de libre pour trueCrypt dans la première partition.
Donc je conseille de faire l’une des manipulations évoquées avant dans le lien et de supprimer la partition de 100 Mo mais NE PAS redimmentionner la taille de votre partition de boot (c:\).
Pour moi, la dernière manip pour windows déjà installé a tres bien fonctionnée.
Et bien non … j’ai toujours le même message d’erreur juste a près le boot lors de la tentative de copie du système leurre sur le système caché : « Write error : 3 drive 0 secteur 245… ». Je n’ai aucun fichier que le système FAT ne supporterait pas (>= 4 GO) … pas de « pagefil.sys » ni de « hiberfil.sys » … bref, après 4 jours de tests, j’en conclue que Seven (64 bits) ne fonctionne pas pour truecrypt 7.0a. Aussi, je n’ai aucun secteur défectueux (je vais refaire un test histoire de conjurer le sort !)
Si vous avez des solutions … bebloop@yahoo.fr … car seven en 64 bits, c’est quand même bien actuellement !
Qui a eu du succès avec windows 7 64 bits pour ce test ?
Merci pour vos posts.
Merci pour ce super tuto …
Ne fonctionne pas avec Windows 8 64 bits.. j ai exactement le même message d erreur que bebloop.