Redif : Never forget

Dans le cadre des rediffusions estivales, je vous propose ce billet publié en février 2011, et qui montre l’intérêt d’être collectionneur ;-).

————————————————————————————————

L’ordinateur est devant moi, encore dans son emballage plastique
transparent. L’étiquette du scellé contient une information qui
m’effraie déjà: une date préhistorique.

Je regarde cette machine avec un brin de nostalgie: il s’agit d’une
marque aujourd’hui disparue, datant de l’époque où l’on parlait de
machines « compatibles IBM pc ». Le processeur est fièrement indiqué sur
une étiquette en façade: Intel 286. Je me frotte les yeux.

Je brise le scellé, et j’ouvre l’unité centrale de l’ordinateur. Comme
souvent, l’intérieur est très sale, d’une poussière pâteuse brunâtre de
mauvais augure. Je regarde les différentes nappes de connexion, et je me
demande comment je vais bien pouvoir relier tout cela à mon matériel
d’analyse…

Quelques jours auparavant, j’avais reçu un coup de fil d’un magistrat me
demandant si j’acceptais une mission d’analyse de contenu de disque dur
concernant un dossier dans lequel l’ordinateur avait été mis sous
scellé vingt ans auparavant. Une histoire criminelle concernant un
mineur. La date de prescription approchant, un nouvel élément invitait
le magistrat à réouvrir ce dossier et à demander une expertise sur un
point précis à chercher sur l’ordinateur.

Un PC de 20 ans…

J’ai donc commencé par prendre des photos de toutes les étapes du
démontage, en particulier du nettoyage, jusqu’à pouvoir extraire le
disque dur de l’ordinateur. Je pose celui-ci sur mon bureau et déchiffre
les inscriptions de l’étiquette: capacité du disque dur: 40 Mo… avec
connecteurs SCSI 1ère génération.

Par acquis de conscience, je branche le vieil ordinateur nettoyé et sans
disque pour voir, et bien sur: rien. Ni Bios, ni lueur d’espoir de lire
quoique ce soit sur l’écran (vert, non je plaisante, VGA).

Problème: je ne dispose pas de bloqueur d’écriture au format SCSI pour lire ce vieux disque dur sans risque de le modifier.

Là, je me suis dit: c’est quand même bien de travailler dans une école
d’ingénieurs ET d’être conservateur. Dès le lendemain, je fouillais dans
mes archives professionnelles affectueusement dénommées « mon musée »
pour dénicher tout ce qui ressemblait de près ou de loin à des nappes
SCSI, des cartes SCSI, des bouchons SCSI, des câbles SCSI, des lecteurs
DAT SCSI et même des disques durs SCSI…

De retour à la maison avec mon petit matériel, je me mets en tête de
brancher le vieux disque dur sur une machine fonctionnelle. Ma vieille
carte contrôleur SCSI étant au format EISA, je trouve dans mon stock de
vieux PC une machine à bus éponyme. Je ressors aussi une carte réseau
10Mb/s au même format de bus pour brancher tout mon petit monde à mon
réseau actuel. Je précise aux vieux qui me lisent, que j’aurais pu tout
aussi bien monter un réseau BNC 10BASE2 avec des résistances de terminaison O/

J’allume mon vieux 486, je règle le BIOS, je règle les interruptions
avec des cavaliers sur les différentes cartes contrôleurs ajoutées. Je
branche un vieux disque dur SCSI retrouvé dans mon musée, je branche un
vieux lecteur cédérom SCSI récupéré sur une ancienne station de travail
(une SGI O2) et je
boote sur une (très) vieille distribution linux capable de reconnaître
tout mon petit matériel. Instant magique que celui où les différents
tests défilent sur l’écran au démarrage. Après plusieurs essais de
différentes configuration, me voici avec une machine capable de lire un
disque dur SCSI sans écrire dessus. Je précise que cette préparation
m’aura pris deux week-ends…

Je fais un test avant/après en calculant les hash SHA1 avant et après
prise d’image de mon disque dur de test. Les résultats m’indiquent que
le disque dur n’a pas été modifié.

C’est risqué, mais je pense que cela suffira. Je branche le disque dur du scellé.

Après un temps objectif d’une vingtaine de minutes et subjectif de
plusieurs heures de transpiration, me voici avec une image binaire
identique au disque dur d’origine (secteurs défectueux y compris). Je
range le disque dur dans son scellé.

Il y a plusieurs façon d’explorer une image de disque dur, j’en ai
plusieurs fois parlé sur ce blog: à l’aide de commandes unix basées sur
de jolies expressions régulières
(tiens, Wikipédia appelle cela des expressions rationnelles, je le
note), ou avec un logiciel inforensique du type EnCase, WinHex, FTK,
SMART, TCT, TSK, Safeback, FRED, ou X-Ways (par exemple), ou simplement
par conversion sous forme de machine virtuelle (avec LiveView par
exemple).

Personnellement, j’essaye toujours d’abord la méthode « boot sous forme
de machine virtuelle » qui me permet de « sentir » un peu l’organisation de
l’ordinateur que j’ai à analyser.

Et voici que je me retrouve avec une machine sous Windows 3.1!

Vous savez, le système d’exploitation de Microsoft avant Windows 7,
avant Vista, avant Windows XP, avant Windows Me, avant Windows 2000,
avant Windows 98, avant Windows NT4, avant Windows 95, avant Windows
3.11 et avant Windows NT3.1… Pas facile de démarrer une machine
virtuelle là dessus. Sans vouloir faire mon papy show, c’était l’époque
des instructions HIMEM et EMM386 dans le fichier Config.sys, des
Winsock.dll et autres vtcp.386 (bon, maintenant je sais que je fais très
papy). Cela fait quand même très bizarre de ne pas avoir de menu
contextuel, et pas une seule image JPEG. Et en fin de compte, les outils
de recherche sur les contenus de fichiers ne marchaient pas beaucoup
moins bien qu’aujourd’hui.

Mais finalement, j’ai pu mener à bien ma mission et rendre mon rapport.
Mon seul regret: ne pas avoir parlé de toute la misère technique
rencontrée, le magistrat se moquant bien de cet aspect de mon travail.

C’est une des raisons d’être de ce blog 🙂