La suppression de données avec shred ou wipe

Appréciation : 

Pour quel type de lecteur ?
Utilisateur de la console


Introduction

Lorsque vous supprimez un fichier ou un dossier sur votre ordinateur (via votre navigateur ou en console avec la commande rm), les données ne sont pas réellement supprimées. En effet, bien que vous ne le voyez plus en actualisant la page ou avec ls -l les informations existent toujours sur votre disque dur.
C’est évident que cette « mise sous le tapis » des informations que nous croyons détruites peut causer quelques problèmes…

C’est pour cela que je vais, dans cet article, détailler les différentes façon de supprimer des fichiers et des dossiers dit « par surcharge ».

La suppression des fichiers

Pour supprimer un fichier ou tout un dossier la manipulation n'est pas la même. Dans le cas d’un fichier, nous allons utiliser la commande shred.

Imaginons par exemple que je veuille supprimer définitivement le fichier suivant :

-rw-rw-r--. 1 Freetux Freetux 14077440 31 mars   2013 Documentation.pdf

La commande shred fonctionne sur un nombre de réécriture de données aléatoire à l’endroit ou le fichier est présent.
Les options les plus utiles sont les suivantes :

  • -f, --force : change les permissions si nécessaire ;
  • -n, --iterations=N : écraser N fois au lieu de la valeur par défaut ;
  • -u, --remove : tronquer et supprimer le fichier après l’écrasement ;
  • -v, --verbose : montre la progression ;
  • -z, --zero : ajouter une réécriture finale avec des zéros pour camoufler le déchiquetage Shred.

La commande à réaliser pour supprimer le fichier est donc la suivante :[Freetux@PinkFloyd Essais]$ shred -fuvz Documentation.pdf
En lançant la commande nous obtenons ceci :

[Freetux@PinkFloyd Essais]$ shred -fuvz Documentation.pdf
shred: Documentation.pdf : passe 1/4 (random)…
shred: Documentation.pdf : passe 2/4 (random)…
shred: Documentation.pdf : passe 3/4 (random)…
shred: Documentation.pdf : passe 4/4 (000000)…
shred: Documentation.pdf : suppression
shred: Documentation.pdf : renommé en 00000000000000000
shred: 00000000000000000 : renommé en 0000000000000000
shred: 0000000000000000 : renommé en 000000000000000
shred: 000000000000000 : renommé en 00000000000000
shred: 00000000000000 : renommé en 0000000000000
shred: 0000000000000 : renommé en 000000000000
shred: 000000000000 : renommé en 00000000000
shred: 00000000000 : renommé en 0000000000
shred: 0000000000 : renommé en 000000000
shred: 000000000 : renommé en 00000000
shred: 00000000 : renommé en 0000000
shred: 0000000 : renommé en 000000
shred: 000000 : renommé en 00000
shred: 00000 : renommé en 0000
shred: 0000 : renommé en 000
shred: 000 : renommé en 00
shred: 00 : renommé en 0
shred: Documentation.pdf : supprimé
[Freetux@PinkFloyd Essais]$ 

Les première lignes correspondent aux quatre passes de réécriture, puis les suivantes correspondent au remplacement des bit par des 0. Le fichier est alors totalement détruit et irrécupérable.

Par défaut, shred utilise quatre passes de réécriture ce qui est généralement largement suffisant pour une suppression irrécupérable. Cependant, si vous souhaitez en faire plus, il suffit de rajouter l’option -n avec le nombre de passe que vous voulez. Exemple pour 15 passes : [Freetux@PinkFloyd Essais]$ shred -nfuvz 15 Documentation.pdf.

La suppression sera évidement d'autant plus longue que le nombre de passes sera élevé.

La suppression d’un disque entier

Pour cet exemple je vais détruire intégralement les données présentes sur une clé USB.
Tout d’abord, il faut savoir quel est le point de montage de la clé que vous souhaitez détruire. En effet, shred est radical : une fausse manip et vous supprimez définitivement vos données personnelles de votre ordinateur. ^^

[Freetux@PinkFloyd ~]$ mount
/dev/mmcblk0p1 on /run/media/Freetux/USB_512Mo type fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096)

Dans mon cas je vais supprimer l’espace de stockage sur /dev/mmcblk0p1.
Pour éviter d’écraser un disque monté nous allons tout d’abord le démonter : [Freetux@PinkFloyd ~]$ umount /dev/mmcblk0p1

La commande à écrire est donc (en root cette fois) : [root@PinkFloyd ~]# shred -v /dev/mmcblk0p1.

La sortie est la suivante (évidement le temps de suppression est beaucoup plus long, voire très long pour les gros volumes) :

shred: /dev/mmcblk0p1 : passe 1/3 (random)…
shred: /dev/mmcblk0p1 : passe 2/3 (random)…
shred: /dev/mmcblk0p1 : passe 3/3 (random)…
[root@PinkFloyd ~]#

Après la suppression, créez une nouvelle partition pour obtenir un espace de stockage totalement vierge. ;-)

La suppression des dossiers

Maintenant que nous savons comment supprimer un fichier, nous allons voir pour les dossiers. Pour cela je vais présenter la commande wipe permettant cela.
Les options principales de wipe sont les suivantes :

  • -r : mode récursif (option obligatoire évidement) ;
  • -i : affiche l’évolution de la suppression ;
  • -Q N : écrit des données aléatoires N fois dans le fichier ;
  • -q : est obligatoire pour débuter la suppression définitive de votre dossier.

La commande à écrire pour un dossier est donc la suivante (j’ai précédemment créé un dossier nommé Dossier_privé contenant un autre sous-dossier ainsi que plusieurs fichiers à l’intérieur) :[Freetux@PinkFloyd Essais]$ wipe -qri Dossier_privé/.
La sortie est la suivante :

Okay to WIPE 1 directory ? (Yes/No) Yes
Entering directory 'Dossier_privé/'
Entering directory 'sousdossier'
File Document.tar.xz (25751892 bytes) wiped                                   
File Documentation.pdf (14077440 bytes) wiped                                 
Going back to directory /home/Freetux/Dossier de travail/Essais/Dossier_privé
Going back to directory /home/Freetux/Dossier de travail/Essais
Operation finished.
2 files wiped and 0 special files ignored in 2 directories, 0 symlinks removed but not followed, 0 errors occured.
[Freetux@PinkFloyd Essais]$ 

La commande va alors supprimer chaque fichier présent dans tous les sous-dossiers puis termine en détruisant le dossier principal. Au final il récapitule l’ensemble des données supprimées et informe s’il a rencontré des problèmes.

Conclusion

Comme vous l’avez vu dans ce billet, toutes les données que vous croyez supprimées sont en réalité seulement balayées sous le tapis de votre ordinateur. Les deux commandes shred et wipe permettent une totale suppression de fichiers/partitions/dossiers.

Dans un prochain article, je détaillerai les méthodes de récupération des données supprimées « salement ». En effet, je vous dis depuis tout à l’heure que rm ou Shift Del ne supprimaient rien, mais je ne vous l’ai pas encore prouvé et encore moins expliqué comment faire pour récupérer les informations (très utile comme manip à connaître en cas de suppressions malencontreuses sur votre ordinateur ;-)).

Sources

Catégorie: 

Il y a 1 commentaire

Ajouter un commentaire

S'abonner à Comments for "La suppression de données avec shred ou wipe"