Main menu:

Site search

Categories

mars 2009
L M M J V S D
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

Archive

Effacer un disque dur – disk wiping

Lorsque vous vous débarrassez d’un disque dur, vous aimeriez autant que vos données personnelles ne tombent pas dans les mains de n’importe qui. C’est le genre de problème que peut avoir un particulier mais aussi les entreprises.
Pour vous en convaincre, prenez un disque dur, reformatez-le puis utilisez un programme du genre PhotoRec ou Foremost et vous serez très étonné de tout ce que PhotoRec, par exemple, arrive à récupérer. Alors imaginez que sur ce disque il y avait votre fichier contenant les mots de passe d’accès à votre compte bancaire, des données sur le nouveau produit que votre entreprise va commercialiser bientôt etc… Si vraiment ces données sont ultra-importantes, vous feriez-mieux de détruire le disque parce qu’il existe des équipements très sophistiqués qui permettent de récupérer à peu près n’importe quoi sur un disque. Mais si vous voulez juste empêcher que l’emploi d’un programme du genre PhotoRec ne révèle vos secrets, il existe des méthodes d’effacement (disk wiping ou wipe disk en anglais) qui donnent de bon résultat.

La plupart des fonctions d’effacement des fichiers ne font que marquer le bloc de données comme disponible. Les données ne sont pas réellement effacées du disque. Pourquoi? Parce que ça prend du temps et qu’il est plus rapide et plus facile de modifier un seul pointeur ou une métadonnée dans un système de fichier.

Utilisation de dd

La première méthode, la plus simple est d’écrite tous des zéros à la place du fichier ou de la partition. La commande dd fait cela très bien:

$ dd if=/dev/zero of=/dev/sda1

On utilise le pseudo-périphérique /dev/zero qui ne donne que des zéros et on s’en sert comme source à copier sur la destination qui est notre partition que l’on veut effacer.

Le problème c’est la rémanence du disque. On peut considérer que le disque dur est constitué d’un très grand nombre de petits aimants et que lorsqu’on écrit sur le disque, on positionne ces aimants dans un certain sens. Le problème est que la tête de lecture/écriture lorsqu’elle écrit sur le disque positionne les petits aimants en dessous d’elle mais aussi un peu sur le côté. Ces petits aimants sur le côté peuvent mémoriser l’état antérieur. Cela s’appelle la rémanence. Autrement dit, même si on a écrit tous des zéros dans le fichier, les petits aimants sur le côté peuvent avoir retenu les données contenues dans le fichier avant effacement et il existe des techniques pour les relire.

Utilisation de shred

Pour éviter l’effet de rémanence, on peut écrire sur le même fichier plusieurs fois un pattern différent. Par exemple, tous des uns puis tous des zéros, puis alterner des uns et des zéros etc…
Il existe un outil qui permet de réaliser auomatiquement ces écritures de patterns. Cet outil s’appelle shred et est disponible dans Ubuntu.

On l’utilise comme ceci:

$ sudo shred -vfz -n 100 le_fichier_a_effacer

Le -n 100 spécifie le nombre de passes. Ici, 100. Cela signifie que le programme va réécrire 100 fois sur le fichier d’origine en utilisant des patterns différents.
Le -f autorise shred à modifier les permissions du fichier si nécessaire.
Le -z écrit des zéros lors de la dernière passe de façon à camoufler l’usage de shred.

Un autre programme qui a le même but est Wipe et est disponible dans les dépôts

Utilisation de Secure Deletion Toolkit

Il s’agit d’un toolkit c’est à dire un ensemble d’outils. Pour l’installer:

$ sudo aptitude install secure-delete

Le toolkit contient les outils suivants:

srm (secure remove) pour l’effacement (wipe) du fichier.

$ srm nom_du_fichier

sfill (secure free space wiper) pour le nettoyage des espaces libres du disque. Parce qu’il y a beaucoup de chance que les espaces marqués comme libre ont contenu des fichiers précédemment et donc des données qu’il serait possible de récupérer.

$ sfill nom_du_répertoire

smem (secure memory wipe) effectue la même opération mais sur la mémoire.

$ smem

sswap (secure swap space wipe) efface le contenu de la swap qui est, je vous le rappelle, une partition du disque. Il ne faut pas oublier de disabler la partition de swap avant de l’effacer. Par exemple si sda2 est votre partition de swap:

$ sudo swapoff /dev/sda2
$ sudo sswap /dev/sda2
$ sudo swapon /dev/sda2

Si vous comprenez l’anglais, je vous invite à lire ce très intéressant article de Peter Gutmann où il explique comment on peut récupérer les données d’un disque même si celles-ci ont été effacées et comment effacer un disque de manière plus sécurisée.

Comments

Comment from cyrille
Time: 9 avril 2009, 9 h 48 min

très bon article décrivant ces fonctions trop souvent encore ignorées dans le secteur du recyclage des machines en entreprises .
Suffisamment détaillé sans être exhaustif et donc pompeux, vraiment, félicitation pour votre synthèse !

Pingback from Effacer le contenu d’un disque dur | Void And Any
Time: 11 novembre 2009, 0 h 23 min

[…] Effacer un disque dur – disk wiping […]

Comment from bilou
Time: 2 mai 2010, 18 h 17 min

Merci Cyrille, tout le plaisir est pour moi 😀

Comment from YM
Time: 12 mai 2010, 9 h 42 min

Une question : après ces manips, le disque est-il réutilisable ou définitivement détruit?
En pratique : peut-on appliquer ces opérations dans le but de revendre un DDur par exemple ?

Comment from admin
Time: 12 mai 2010, 10 h 00 min

Absolument ! Avec certaines des techniques, il sera peut-être nécessaire de reformater ou de repartionner mais le disque reste utilisable.