La protection des donnees sensibles sur PC portable

Le
WinTerMiNator
Bonjour, et meilleurs voeux à tous pour la prochaine année.

Ce mail pour vous faire part de quelques réflexions sur la protection des
données.

Merci de vos remarques et réactions,

Michel Nallino aka WinTerMiNator
http://anonapps.samizdat.net (Anonymat sur Internet)


"La protection des données sensibles sur PC portable".

Copyright Michel Nallino aka WinTerMiNator 2006.
Diffusé sous licence "GNU Free Documentation License" version 1.2 ou
ultérieure, http://www.gnu.org/licenses/fdl.html


1) Le problème:

Dans un environnement concurrentiel de plus en plus féroce on voit se
développer des pratiques d'espionnage industriel:
- cambriolages au domicile des dirigeants ou commerciaux d'entreprises, dans
le but de voler un PC portable,
- vols de PC portable dans les aéroports lors du contrôle d'entrée en salle
d'embarquement (vous mettez votre PC portable dans l'appareil à rayons X, la
personne qui vous précède a les poches remplies d'objets métalliques et doit
passer plusieurs fois sous le portique; quand enfin arrive votre tour le
portable n'est plus là, un complice s'en est emparé),
- contrôles policiers au passage des frontières, avec "emprunt" du PC
portable pour des prétextes divers (recherche d'explosifs).

Des journalistes, avocats, auteurs, médecins doivent se préoccuper de la
protection des données qu'ils détiennent, ou de la protection de leurs
oeuvres. Toute personne peut aussi avoir ce type de préoccupation concernant
sa vie privée.

Et on peut perdre un PC portable

2) Analyse des solutions potentielles:

2.1 Chiffrement complet de disque dur

HP, http://www.hp.com, fait des PC portables professionnels équipés de
Drivecrypt, une solution de chiffrement complet de disque dur qui se met en
place avant le démarrage de l'OS. Sur le principe c'est idéal: en cas de vol
ou perte, le DD est entièrement chiffré; les sauvegardes sont faciles: une
fois rentré le mot de passe de Drivecrypt, on peut booter sur un Live CD
contenant des outils de sauvegarde (par exemple CD Bart PE, exécutant
Windows XPE, avec le plugin pour Symantec Ghost pour la réalisation d'images
disque; ou System Rescue CD sous Linux).

Cependant, cette solution est "propriétaire", les sources ne sont pas
connues, rien ne garantit l'absence de porte dérobée. Un exemple récent: le
FBI a demandé à HP une aide pour accéder au DD chiffré par Drivecrypt d'un
fraudeur supposé du fisc. Le contenu a pu être déchiffré par HP, sans qu'on
sache si HP ait utilisé une porte dérobée ou si le mot de passe utilisé
était trop faible

On trouve des solutions logicielles de chiffrement complet de disque dur, y
compris du disque système, mais malheureusement pas en OpenSource, et donc
avec le même défaut que Drivecrypt de HP: DriveCrypt Plus Pack, de
Securstar, http://www.securstar.com/; ou encore FREE Compusec, de
Ce-Infosys, http://www.ce-infosys.com.sg/english/index.html (Compusec est
"free" au sens de gratuit, mais pas à celui de libre). Ces solutions
logicielles compliquent de plus la sauvegarde des disques.

2.2 Containers chiffrés (OTFE, On The Fly Encryption)

On trouve plusieurs solutions OpenSource (donc je ne parlerai pas de
solutions commerciales), sous Windows et Linux. Beaucoup utilisent encore,
malheureusement, le mode de chaînage de blocs CBC, alors qu'il a été
démontré que le chiffrement de secteurs de DD en mode CBC laisse fuir de
l'information (voir http://www.answers.com/topic/disk-encryption pour une
explication claire du problème, en anglais). Parmi les logiciels existants:

- Mon "Disk Privacy Guard" pour Windows,
http://www.chez.com/winterminator/DiskPG/index.html, n'est pas sensible à ce
problème (il n'utilise pas le CBC, ni ne chiffre des secteurs de DD). Il est
sûr par principe, mais offre des containers de taille limitée (il utilise un
RamDisk). C'est plutôt un "proof of concept" qui voulait combler un vide en
2003.

- CrossCrypt pour Windows, de Stefan Cherrer, http://www.scherrer.cc/crypt/,
est un logiciel simple, en mode ligne de ommandes (Sarah Dean lui a créé un
interface graphique, CrossCrypt GUI, http://www.sdean12.org/).
Malheureusement ce logiciel n'est plus mis à jour, et il utilise le mode
CBC. CrossCrypt est compatible des OTFE sous Linux: aes-loop (en mode simple
clé) et de l'OTFE à base de Twofish pour SuSE Linux.

- FreeOTFE pour Windows, de Sarah Dean, http://www.freeotfe.org/. Free OTFE
utilise le mode CBC, mais la fuite d'informations est réduite si l'on
emploie le mode ESSIV. A noter l'existence d'une version pour PDA,
FreeOTFE4PDA, pour Windows Mobile 2005.

- TrueCrypt pour Windows ou Linux, de la TrueCrypt Foundation,
http://www.truecrypt.org/. TrueCrypt utilise le mode LRW (pour Liskov,
Rivest, Wagner), mode spécialement étudié pour le chiffrement de secteurs de
disques durs, en voie de normalisation. TrueCrypt dispose par ailleurs d'un
dispositif de "plausible déniabilité", par l'utilisation de container
chiffré caché à l'intérieur d'un container chiffré enveloppe (voir la
documentation de TrueCrypt).

Mais ces solutions de containers chiffrés ne peuvent, à elles seules,
répondre au problème! En effet, si on peut dissimuler les données sensibles
dans un container chiffré, il va être très difficile d'enlever toute trace
de ces données, de la partie non chiffrée du disque dur, dès qu'on les
utilise. En effet, sous Windows (je ne connais pas assez Linux pour en
parler), on va trouver des traces de ces données:

- dans la mémoire vituelle (équivalent du fichier de swap sous Linux),

- dans des fichiers temporaires, un peu partout (dans les répertoires
temporaires désignés par les variables TMP ou TEMP; dans les répertoires des
applications; dans les sous-répertoires d'Application Data; dans des
répertoires temporaires créés spécifiquement par les applications),

- dans la base de registres, dans le cache MRU des applications, où l'on va
trouver les noms / chemins des fichiers ouverts, de même que dans les
"Documents Récents" de l'utilisateur,

- dans le cache des navigateurs,

- enfin les fichiers effacés sous Windows ne le sont pas! Leurs données
sont toujours présentes sur le disque dur, leurs entrées sont toujours
présentes dans les répertoires.

On peut certes prendre des précautions contre ça:

- nettoyage périodique de la base de registres, avec CCleaner,
http://www.ccleaner.com/; nettoyage du cache MRU avec MRU Blaster,
http://www.javacoolsoftware.com/mrublaster.html; activation de la fonction
"paranoïa" de Tweak UI, un des Powertoys
http://www.microsoft.com/windowsxp/downloads/powertoys/xppowertoys.mspx

- effacement de la mémoire virtuelle en fin de session,

- utilisation d'effaceur "sûr", comme Eraser http://www.heidi.ie/eraser/,
mais nettoyer un disque dur de 80 GO prend plusieurs heures.

Dans la pratique, on ne peut attendre d'un utilisateur la discipline
nécessaire pour effacer continuellement ses traces sur la partie non
chiffrée du DD. Et on n'est jamais sûr qu'on n'en ait pas oublié

3) Une solution, machine virtuelle dans container chiffré:

A l'intérieur d'un container chiffré, on va copier les fichiers d'une
machine virtuelle. Les données sensibles, les applications qui les
utilisent, les fichiers temporaires, traces etc. vont rester dans les
fichiers de la machine virtuelle, dans le container chiffré.

3.1) Container chiffré

Le choix de TrueCrypt s'impose: il est OpenSource, conforme aux derniers
standards; il n'utilise pas le CBC, existe sous Windows et sous Linux,
permet de créer de grands containers chiffrés, et a un dispositif de
"plausible déniabilité".

3.2) Machine Hôte / machine "invitée"

Dans une machine hôte Windows (XP par exemple) on va pouvoir utiliser les
logiciels de machines virtuelles suivants:

- Microsoft Virtual PC,
http://www.microsoft.com/france/windows/xp/virtualpc/default.mspx (limité
aux machines invitées de type Win32),

- VMware, version complète ou Player, http://www.vmware.com/,

- Qemu, OpenSource, http://fabrice.bellard.free.fr/qemu/ et
http://www.h7.dion.ne.jp/~qemu-win/ pour les exécutables sous Windows.

Dans une machine hôte Linux, on va pouvoir utiliser VMware ou Qemu.

La machine "invitée" va fonctionner dans la machine virtuelle. C'est une
machine fonctionnant sous X86 (au choix: MS-Dos, FreeDos, Windows,
Linux). Par exemple, j'ai essayé avec succès, sous une machine hôte
Windows XP:

- "Damn Small Linux" avec Qemu et son accélérateur kqemu, depuis une image
ISO de Live CD, puis en l'installant,

- "Kaella" avec Qemu et kqemu, depuis une image ISO, puis en installant un
home persistant,

- "Bart PE" avec Qemu et kqemu,

- "Windows 2000 Professionnel" avec VMware Player (disque système et
programmes 4 GO; disque données 5 GO; dans un container Truecrypt de 12 GO,
ce qui laisse la place pour le fichier de configuration de la machine
virtuelle, les fichiers temporaires créés par VMware, une éventuelle image
ISO de CD-ROM).

De mes essais il ressort que:

- Qemu semble mieux adapté pour faire fonctionner des Live CD dans une
machine virtuelle (VMware nécessitant l'installation de "VMware Tools" dans
la machine invitée),

- VMWare semble bien adapté à l'installation de machines (alors que j'ai
échoué à installer Windows 98 comme Windows 2000 sous Qemu).

3.3 Transfert des données / précautions

Il faut prendre beaucoup de précautions pour le transfert des données
sensibles vers la machine invitée, sous peine de laisser des traces sur la
machine hôte: il est par exemple hors de question de copier des données en
les faisant transiter en clair par la machine hôte!

La solution suivante est sûre:

- la machine invitée est reliée à un réseau type intranet, par exemple dans
le mode "NAT" de VMware (qui est aussi le mode par défaut de Qemu), à
travers la machine hôte,

- à l'intérieur de la machine invitée un client ftp sécurisé, par exemple
FileZilla, http://filezilla.sourceforge.net/, va lire des données sur un
serveur ftp sécurisé, situé sur l'intranet, par exemple FileZilla Server;
les données transistent chiffrées du serveur intranet vers la machine
invitée, en traversant la pile TCPIP de la machine hôte.

Si l'utilisateur est peu au fait des problèmes de sécurité, il vaut mieux
désactiver toutes les possibilités de transfert direct de fichiers entre la
machine hôte et la machine invitée:

- partage de fichiers et répertoires (toutes machines virtuelles),

- "copier / coller" et "tirer / déposer" pour Microsoft Virtual PC et
VMware,

- accès direct aux lecteurs de disquettes, aux lecteurs de CD-ROM, aux
périphériques USB (VMware, Virtual PC?).

4) Conclusion

Une solution parfaite? Non, certainement pas: Virtual PC, VMware, Qemu sont
des applications qui tournent sur la machine hôte et utilisent ses
ressources, logicielles et matérielles. Elles peuvent donc y laisser des
traces indirectes de l'activité de la machine invitée (mais a priori pas de
traces des données, sauf maladresse de l'utilisateur).

Il est donc prudent de prendre encore quelques précautions:

- Mémoire virtuelle: effacement automatique (par écriture de zéros) en fin
de session, faisable par réglage de la Bdr de Windows; ou mémoire virtuelle
/ fichier de swap chiffré (pour Windows, il n'y a pas de produit OpenSource,
mais on peut utiliser un hack, CryptoSwap Guerilla,
http://geocities.com/phosphor2013/list.htm, qui dérive de BestCrypt); ou
mieux, pas de mémoire virtuelle (Windows XP peut fonctionner sans mémoire
virtuelle, ce n'est plus nécesaire dès qu'on a au moins 512 MO à 1 GO de
RAM).

- Effacement sûr du DD: on peut se contenter d'utiliser Eraser pour effacer
l'espace inutilisé d'un DD avec une option réduite qui ne supprime que les
entrées de répertoire; après effacement, les données sont toujours là sur le
DD, mais on ne sait plus où. L'opération prend quelques dizaines de
secondes, contre plusieurs heures d'analyse du DD par un logiciel spécialisé
(comme Easy Recovery Pro) pour tenter de les récupérer.

- Et tout ce qui peut retarder le démarrage du PC portable: mot de passe de
boot dans le BIOS (qui offre une réelle résistance sur certains PC portables
comme les HP, avec l'option "protection de boot renforcée" activée);
protection renforcée du démarrage de l'OS (plusieurs logiciels commerciaux
pour Windows)

Bien entendu, ce que j'ai décrit ici pour un PC portable est aussi
applicable à un PC de bureau, bien qu'on puisse alors utiliser des
protections "physiques" contre le vol.
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fabien LE LEZ
Le #853972
On 29 Dec 2006 00:56:45 GMT, "WinTerMiNator"
- Qemu semble mieux adapté pour faire fonctionner des Live CD dans une
machine virtuelle (VMware nécessitant l'installation de "VMware Tools" dans
la machine invitée),


Intéresse-toi aussi à KVM

Une solution parfaite? Non, certainement pas: Virtual PC, VMware, Qemu sont
des applications qui tournent sur la machine hôte et utilisent ses
ressources, logicielles et matérielles. Elles peuvent donc y laisser des
traces indirectes de l'activité de la machine invitée


Si l'OS hôté est un Linux qui n'écrit rien sur disque (un "live-CD"
par exemple), on peut chiffrer l'intégralité du disque dur.

WinTerMiNator
Le #853971
Fabien LE LEZ wrote:
On 29 Dec 2006 00:56:45 GMT, "WinTerMiNator"
- Qemu semble mieux adapté pour faire fonctionner des Live CD dans
une machine virtuelle (VMware nécessitant l'installation de "VMware
Tools" dans la machine invitée),


Intéresse-toi aussi à KVM

Une solution parfaite? Non, certainement pas: Virtual PC, VMware,
Qemu sont des applications qui tournent sur la machine hôte et
utilisent ses ressources, logicielles et matérielles. Elles peuvent
donc y laisser des traces indirectes de l'activité de la machine
invitée


Si l'OS hôté est un Linux qui n'écrit rien sur disque (un "live-CD"
par exemple), on peut chiffrer l'intégralité du disque dur.


Oui, bien entendu. C'est facilement faisable à partir d'un Live CD, Linux ou
Windows (type Bart PE).

Mais quand je parle de chiffrement complet de disque, je veux dire
chiffrement du disque système, celui où l'OS est installé.

Un correspondant m'a signalé GELI sous FreeBSD, qui semble faire ça.

Dans tous les cas il faut s'assurer de la qualité cryptographique: trop de
logiciels OTFE utilisent encore le mode CBC au lieu du LRW!


--
Michel Nallino aka WinTerMiNator
http://anonapps.samizdat.net (Anonymat sur Internet)
Adresse e-mail invalide; pour me contacter:
http://www.cerbermail.com/?vdU5HHs5WG


Fabien LE LEZ
Le #853970
On 29 Dec 2006 14:27:50 GMT, "WinTerMiNator"
Si l'OS hôté est un Linux qui n'écrit rien sur disque (un "live-CD"
par exemple), on peut chiffrer l'intégralité du disque dur.


Oui, bien entendu. C'est facilement faisable à partir d'un Live CD, Linux ou
Windows (type Bart PE).

Mais quand je parle de chiffrement complet de disque, je veux dire
chiffrement du disque système, celui où l'OS est installé.


Nous parlons de la même chose.

Je propose un disque divisé en deux parties :
- Une partition "système", contenant un Linux façon "live CD".
La partition est montée en lecture seule.
- Une partition entièrement chiffrée, qui contient un disque
virtuel + qemu, VMware ou KVM, ce qui permet de lancer Windows sur une
machine virtuelle.

Windows ne voit qu'un disque dur virtuel, chiffré en temps réel par le
Linux sous-jacent (et Truecrypt).

Linux ne peut pas écrire sur la partition non chiffrée (d'ailleurs, ça
pourrait aussi bien être un CD-ROM) ; Windows ne la voit même pas.

Bien sûr, il faut prévoir pas mal de RAM sur la machine.


julien Touche
Le #853969
un regret sur ce genre de solutions (chiffrement d'un disque ou d'une
image disque), elles sont général mono, au mieux bi-plateformes:
ex: Truecrypt pour Windows & Linux.

des solutions existant pour BSD (Free, Net, Open, ...), Linux, MacOS X,
Windows ... je cherche toujours ...

pour un chiffrement de disque complet, c'est pas trop gênant (pas
nécessaire de connaître l'OS, quoique) par contre, pour une image disque
qu'on peut utiliser sur plusieurs plate-formes .... :(
WinTerMiNator
Le #853968
julien Touche wrote:
un regret sur ce genre de solutions (chiffrement d'un disque ou d'une
image disque), elles sont général mono, au mieux bi-plateformes:
ex: Truecrypt pour Windows & Linux.

des solutions existant pour BSD (Free, Net, Open, ...), Linux, MacOS
X, Windows ... je cherche toujours ...

pour un chiffrement de disque complet, c'est pas trop gênant (pas
nécessaire de connaître l'OS, quoique) par contre, pour une image
disque qu'on peut utiliser sur plusieurs plate-formes .... :(


La solution passe par l'écriture d'un standard, de manière analogue à
OpenPGP pour le chiffrement de fichiers


--
Michel Nallino aka WinTerMiNator
http://anonapps.samizdat.net (Anonymat sur Internet)
Adresse e-mail invalide; pour me contacter:
http://www.cerbermail.com/?vdU5HHs5WG

Publicité
Poster une réponse
Anonyme