Title: Préparation d'un disque dur pour le stockage d'une copie technico-légale
Subject: DD - SHRED
Author: Jean-Francois BECKERS
Date: 20 avril 2006
Version: 1.0
Translation:
Licence: Creative Commons

Préparation d'un disque dur pour le stockage d'une copie technico-légale

Introduction

Avant de pouvoir réaliser une copie technico-légale d'un média, il est nécessaire de préparer le disque dur qui servira à stocker cette copie.

Cette préparation à pour buts de "nettoyer" le support afin de garantir l'intégrité des données saisies, de créer l'espace et le système nécesaire pour ce stockage.

Les manipulations décrites dans ce document peuvent être reproduites avec le CD boot du FCCU disponible sur ce site. Iil est également possible de les reproduires avec un autre système GNU/Linux moyenant l'installation des logiciels ici décrits. Néanmoins, au vu de la nature des manipulations (effacement irrémédiable de données), il est conseillé de ne pas réaliser ces manipulation sur une machine avec des données importantes.

Nettoyage du support

L'objectif est ici de remplir le support avec des "0" (zéros) afin de grantir que les données que nous allons y stocker ne puissent être confondues, mélangées avec des données qui auraient pu se trouver précédement sur le support.

Pour éviter une mauvaise manipulation, il est conseillé de préparer le disque sur une station dédiée à ce travail. Seul le disque de destination est connecté à l'ordinateur pour cette phase.

Lorsque le boot depuis le CD est terminé, nous pouvons commencer avec fdisk -l pour lister les disques et partitions détectés par le système.

Pour exemple :

# fdisk -l /dev/sdd
Disque /dev/sdd: 512 Mo, 512229376 octets
9 têtes, 8 secteurs/piste, 13895 cylindres
Unités = cylindres de 72 * 512 = 36864 octets

Périphérique Amorce Début Fin Blocs Id Système
/dev/sdd1 * 2 13896 500171+ 6 FAT16


Dans le cas présent, il faut être certain que le disque ne contient plus des données nécessaires, après, il sera trop tard.

Utilisation de dd

Il existe sur les systèmes Gnu/Linux, le device spécial /dev/zero. Comme son nom l'indique, il contient du zero.

La commande pour effacer le disque /dev/sdd sera donc :

# dd if=/dev/zero of=/dev/sdd


Il est également possible d'afficher la progression du processus avec un utilitaire comme pv ou pipebench.

# dd if=/dev/zero | pv -s 512m > /dev/sdd
187,18MO 0:00:20 [5,42MO/s] [=======> ] 37% ETA 0:01:04

Utilisation de shred

Shred est un utilitaire dédié à la tâche spécifique de l'éffacement de donnée de manière irrémédiable.

Shred permet de faire des passages multiples avec des données aléatoires mais pour les besoins de l'analyse, il est préférable de remplir notre disque de zero. Pour les plus douteux, il est toujours possible d'effectuer les deux.

Voici la syntaxe générale :

# shred -z -v -n 0 /dev/hdX

L'option "-z" permet d'incrire des zéros

L'option "-v" permet d'afficher la progression

L'option "-n0" permet de n'effectuer qu'un seul passage


Voici un exemple avec l'affichage verbeux de la progression :

# shred -z -v -n 0 /dev/sdd
shred: /dev/sdd: pass 1/1 (000000)...
shred: /dev/sdd: passes 1/1 (000000)...134MiB/489MiB 27%
shred: /dev/sdd: passes 1/1 (000000)...270MiB/489MiB 55%
shred: /dev/sdd: passes 1/1 (000000)...402MiB/489MiB 82%
shred: /dev/sdd: passes 1/1 (000000)...489MiB/489MiB 100%

Nettoyer uniquement la partition

Si vous utilisez les méthodes décrites ci-dessus sur tout le périphérique destiné à recevoir les données saisies, vous devrez alors repartitionner le disque dur et reformater la(les) partition(s).

Pour gagner du temps, vous pouvez donc vous contenter de nettoyer la partition :

# shred -z -v -n 0 /dev/sdd1

Cette méthode va vous épargner le repartionnement du disque. Mais attention que vous devez malgré tout reformater la partition ainsi nettoyée.

Partitionnement du support

Introduction

Lorsque le support est "nettoyé", il est nécessaire de créer au moins une partition pour recevoir la(les) image(s) de votre (vos) copie(s) technico-légale(s).
(Sauf si vous avez décidé de réaliser une copie "disk to disk", ce qui n'est pas conseilllé)

Pour le partitionnement, vous avez le choix d'utiliser différents utilitaires sous GNU/Linux, comme à l'habitude.
Le présente documentation fait référence à GNU Fdisk qui se trouve sur le CD FCCU GNU/Linux.

Utilisation de fdisk

fdisk est un logiciel interactif. Nous indiquerons donc ici les séquence de touche à introduire.
L'exemple suivant montre comment démarrer fdisk pour partitionner le disque "/dev/sdd" :

# fisk /dev/sdd

Le logiciel affiche alors un "prompt" et attend un commande. Vous pouvez quitter sans effectuer de modification à tout moment soit en tapant "q" soit la séquence habituelle "CTRL+C".

Dans la plupart des cas, vous n'aurez besoin que d'une seule partition, ce qui va grandement vous faciliter la tâche. En effet, il suffit de demander la création d'une nouvelle partition, d'accepter tous les choix par défaut et ensuite d'écrire les changements sur le disque.
Voici, indiquée en rouge, la séquence de touches nécessaire :

# fdisk /dev/sdd
Disk /dev/sdd: 78 MB, 0 bytes
255 heads, 63 sectors/track, 1024 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-1024, default 1):[RETURN]
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-1024, default 1024):[RETURN]
Using default value 1024

Command (m for help): w

Si vous avez d'un partitionnement plus complexe, reportez vous à la page de manuel de fdisk.

Formatage de la partition

Avant de formater la partition, il faut choisir le format que vous allez utiliser.
Il est donc important de rapeller ici quelques notions élémentaires pour le choix du format :

La taille maximale d'un fichier sur FAT32 est de 4 GiB.
Dans la plupart des cas, les support à copier ont une taille bien supérieure.
Si vous voulez malgré tout utiliser une FAT32, il faudra alors découper vos images en morceaux de moins de 4 GiB (avec l'utilitaire "split" par exemple).
Comme ce n'est pas pratique ni efficace, nous n'en parlerons pas plus ici.

Le choix d'une partition NTFS pourrait paraître correct puisque la taille maximale d'un fichier est, théoriquement, de 16 EiB.
Le driver Linux-NTFS bien que très abouti, au moment de l'écriture du présent document, ne permet pas encore l'écriture de manière fiable.

Notre choix se porte donc sur un système de fichier ext3 (ou ext2). La taille maximale sur ext3 est de 8TiB  (un projet 64 bits existe pour augmenter cette taille jusque 64 ZiB (1 000 000 000 000 000 000 000 bytes).
La taille maximalle sur ext2 est de 2TiB.

Pour ceux qui effectuent leurs analyses sous MS Windows, il existe des drivers pour "monter" les systèmes de fichiers ext2/3. En voici deux :

Comme notre support vient d'être partitionné, cette partition est identifée par "/dev/sdd1".
Pour formatter en ext3, vous pouvez utiliser l'utilitaire mkfs.ext3.