Entrevue avec Christophe Grenier, développeur de testdisk et photorec
testdisk et photorec sont deux outils libres (GPLv2+) formidables⊠que lâon souhaite pourtant ne jamais avoir Ă utiliser ! En effet, les deux sont dĂ©diĂ©s Ă la rĂ©cupĂ©ration de donnĂ©es aprĂšs une panne matĂ©rielle, ou une bĂ©vue.
Le premier est axé supports de stockage et leurs partitions, le second orienté récupérations de fichiers (mais il est loin de se limiter aux images).
Cocorico : le dĂ©veloppeur de ces outils est français, et il a bien voulu rĂ©pondre Ă notre sollicitation dâentrevue :).
Bonjour Christophe ! Pouvez-vous présenter votre parcours ?
Quand jâai commencĂ© Ă dĂ©velopper testdisk, mon premier outil de rĂ©cupĂ©ration de donnĂ©es, jâĂ©tais encore Ă©tudiant en Ă©cole dâingĂ©nieur.
Maintenant, cela fait plus de 20 ans que je suis diplĂŽmĂ© de lâESIEA, jâinterviens dâailleurs dans son MastĂšre SpĂ©cialisĂ© SĂ©curitĂ© et Information des systĂšmes depuis 2004.
AprĂšs avoir travaillĂ© dans la sĂ©curitĂ© informatique, jâai travaillĂ© autours des systĂšmes Linux, du rĂ©seau et de la sĂ©curitĂ©.
Depuis un peu plus de 10 ans, je suis directeur dâexploitation pour un hĂ©bergeur parisien.
Dans le cadre de mon auto-entreprise, je fais de la récupération de données.
Comment avez-vous démarré ce projet ?
Un ami dĂ©veloppeur professionnel sous Windows venait dâacheter un nouveau disque dur et pour Ă©viter dâavoir trop de lettres de lecteurs (C:, D:, E:, âŠ) avait dĂ©cidĂ© de rĂ©duire le nombre de partitions de son disque de donnĂ©es ; ce disque contenait 3 partitions.
Il a sauvegardĂ© les donnĂ©es, supprimĂ© les 3 partitions, en a crĂ©Ă© 2 et â au moment de restaurer les donnĂ©es â il sâest rendu compte quâil avait Ă©tĂ© trop vite et quâil lui manquait la sauvegarde dâune des partitions.
Sachant que jâavais des connaissances sur le partitionnement des PC (je mâĂ©tais intĂ©ressĂ© au fonctionnement des virus de boot qui se logeaient dans le premier secteur des disques durs), il mâa contactĂ©.
ArmĂ© dâun Ă©diteur hexadĂ©cimal, il nous avait fallu la journĂ©e pour reconstruire manuellement la table des partitions et rĂ©cupĂ©rer ces donnĂ©es. Un peu plus tard ayant appris les rudiments de la programmation en C, je me suis dit quâil devait ĂȘtre possible dâautomatiser la rĂ©cupĂ©ration des partitions et câest ainsi quâest nĂ© testdisk
en 1998.
Pour photorec
, il a fallu attendre mon premier appareil photo numĂ©rique en 2002. Ayant peur de perdre des photos (effacement par mĂ©garde de photos non sauvegardĂ©es, reformatage de la mauvaise carte mĂ©moireâŠ), avant mĂȘme de partir en voyage, jâai bricolĂ© un programme en C sous Linux capable de rĂ©cupĂ©rer les photos et vidĂ©os prises par mon appareil photo. Câest ainsi que photorec
est nĂ© pour rĂ©cupĂ©rer des photos. Il a gardĂ© son nom mĂȘme sâil rĂ©cupĂšre des centaines de formats de fichier diffĂ©rents.
Quels sont les points marquants qui ont, selon vous, marquĂ© lâĂ©volution de ces logiciels ?
Les points principaux ayant permis le succĂšs de ces logiciels sont :
- de rendre ces logiciels multiplateformes pour PC : MS-Dos et Linux, puis Windows. La prise en charge de macOS est venu bien plus tard et a eu peu dâimpact.
- de distribuer ces logiciels gratuitement. Lâutilisation dâune licence opensource (GPL v2+) mâa aussi permis dâavoir quelques contributions.
- dâĂȘtre plutĂŽt Ă lâĂ©coute des utilisateurs et dâenrichir les formats de fichiers gĂ©rĂ©s par
photorec
. Certains sont vraiment exotiques. - de la documentation en plusieurs langues Ă une Ă©poque oĂč les traductions automatiques Ă©taient quasi-inexploitables. Mais aujourdâhui, la documentation principale de plus de 60 pages est en anglais.
Un point marquant a Ă©tĂ© la reconnaissance officielle de lâutilisation de ces logiciels par des organismes Ă©tatiques.
testdisk
a Ă©tĂ© conçu pour un public technique, jâai eu des retours de diffĂ©rents sociĂ©tĂ©s de rĂ©cupĂ©ration de donnĂ©es de part le monde lâutilisant mais en gĂ©nĂ©ral, elles ne souhaitent pas communiquer sur leur utilisation de logiciels (libres ou du commerce).
Un tournant a eu lieu en 2014 quand le NIST, dans le cadre du Computer Forensics Tool Testing Program (CFTT), a testé et publié ses résultats sur les capacités de photorec
. En comparant les résultats de chaque outil, on découvre que photorec
a les meilleurs résultats (1Úre place ex aequo).
Ainsi, photorec
figure dans le catalogue de logiciels que les agences dâĂtats amĂ©ricains peuvent utiliser.
photorec
apparaĂźt dans les diapositives de la formation SecNum Academie de lâANSSI.
Pourquoi un seul paquet pour deux logiciels, ou pourquoi pas un seul logiciel ?
Quand on parle de testdisk
et photorec
, il y a aussi fidentify
, un outil en ligne de commande qui permet de tester rapidement lâidentification de fichiers en utilisant les mĂȘmes parsers que photorec
, sans oublier qphotorec
, une version graphique de photorec
.
Selon les distributions, vous pouvez avoir un package testdisk
comprenant testdisk
, photorec
et fidentify
et un package qphotorec
pour qphotorec
.
testdisk
utilise un accĂšs en Ă©criture au disque, photorec
nâutilise quâun accĂšs en lecture. photorec
est plus facile dâutilisation que testdisk
, câest presque du next/next/next, il ne fait que du « file carving » (rĂ©cupĂ©ration de fichiers par identification des entĂȘtes).
Quelles sont les fonctionnalités les plus attendues que vous pensez implémenter ?
La vérification formelle du code des parsers de photorec
est ce qui mâa le plus occupĂ© ces derniĂšres annĂ©es, je continue de travailler dessus.
Je nâai pas prĂ©vu dâimplĂ©menter de nouvelles fonctionnalitĂ©s dans lâimmĂ©diat.
Avez-vous des retours dâutilisateurs, des remerciements de personnes qui ont pu grĂące Ă ces outils retrouver une partie de leur vie numĂ©rique, ou de grincheux ?
Perdre une partie de sa vie numérique est trÚs stressant.
De fait, jâai Ă©tĂ© confrontĂ© Ă des grincheux trĂšs agressifs dont un cas extrĂȘme de menaces rĂ©pĂ©tĂ©es de mort de la part dâun individu qui nâavait pas pu rĂ©cupĂ©rer ses donnĂ©es. Les hĂ©bergeurs de ses messageries successives ont agi rapidement lorsque jâai signalĂ© ses messages, mais je me suis posĂ© la question Ă ce moment-lĂ si cela valait bien la peine de mâinvestir autant pour risquer cette violence numĂ©rique.
Les retours positifs des utilisateurs et leurs remerciements sont ce qui a permis de me motiver à continuer de développer sur toutes ces années ce projet.
Ă une Ă©poque, je recevais quotidiennement des mails de remerciements et/ou des donations. Câest moins frĂ©quent dĂ©sormais, mais câest peut-ĂȘtre parce que les sauvegardes vers le cloud sont beaucoup plus courantes et quâainsi les gens ont moins recours Ă la rĂ©cupĂ©ration de donnĂ©es.
Effectivement, perdre une partie de sa vie numérique est trÚs stressant, avez-vous des conseils à donner sur la sauvegarde ?
Ce sont des conseils trÚs généraux :
- que cela soit au niveau personnel ou au niveau professionnel, il est important de vĂ©rifier le pĂ©rimĂštre de la sauvegarde. Si vous nâaviez plus que votre derniĂšre sauvegarde, que vous manquerait-il ?
- testez une restauration de données
- si possible, multipliez les sauvegardes (sauvegarde avec historique ou versionning, pas une simple synchronisation)
- dans lâidĂ©al, plusieurs lieux de sauvegarde.
Sur ces projets, y a-t-il dâautres contributeurs ?
testdisk
et photorec
reçoivent principalement des contributions ponctuelles. Jâen profite pour remercier toutes les personnes qui mâont aidĂ© pour les traductions, pour avoir partagĂ© des fichiers dans des formats exotiques, ou pour avoir contribuĂ© au code.
Merci aussi aux personnes ayant participé à la modération du forum et au modérateur actuel !
Y a-t-il des fonctionnalités importantes qui ne seront pas développées, et pourquoi ?
Ă moins de recevoir des contributions, je ne pense pas pousser davantage le support mac.
Le chiffrement des disques sous Windows va devenir la norme, comme câest le cas sous macOS. Je pense que cela va freiner le dĂ©veloppement de testdisk
et photorec
. La récupération va devenir bien plus complexe en exigeant un déchiffrement préalable.
Des souvenirs marquants de cette expérience ?
Je crois que lâune des anecdotes qui mâa le plus amusĂ© est celle que jâai reçue en janvier 2007 : dans un premier mail, lâutilisateur explique quâun appareil photo a Ă©tĂ© volĂ© dans sa voiture, mais quâune semaine plus tard, la police a trouvĂ© le coupable et a pu restituer lâappareil photo. Le contenu avait Ă©tĂ© effacĂ©, mais grĂące Ă photorec
, lâutilisateur avait rĂ©cupĂ©rĂ© plus de 300 photos.
Currently I am recovering over 300 photos using PhotoRec that my sister in law took over the holidays. Our car was broken into and the camera was stolen. A week later the police found the guy! They found the camera, but it had been wiped.
I had read about recovering photo's from flash cards via a story on slashdot, and now here I am.
Quelques heures plus tard, jâai reçu la suite de lâhistoire :
I have recovered some pictures that look to be taken by the thief [âŠ]
I am submitting a CD of the data I have recovered to the Detective involved in the case. My little camera was involved in a much larger theft, so hopefully the pictures they took will help nail them all!
Le voleur avait utilisĂ© lâappareil photo, photorec
a permis de récupérer des photos ayant beaucoup intéressé le détective en charge du dossier : celui-ci espÚre découvrir les autres personnes impliquées dans un vol de plus grande envergure.
Avez-vous eu des échanges avec des éditeurs de logiciels similaires (opensource ou propriétaires) ?
photorec
a été victime de plusieurs contrefaçons.
Dans un cas, un fabricant de carte mĂ©moire a distribuĂ© un logiciel de rĂ©cupĂ©ration de donnĂ©es, ce fabricant avait sous-traitĂ© le dĂ©veloppement qui avait «âŻoptimisĂ©âŻÂ» son temps de dĂ©veloppement en rĂ©cupĂ©rant le code source de photorec
, remplaçant tous les entĂȘtes de copyright et ajoutant une interface graphique.
AprÚs avoir contacté le fabricant, celui-ci a fait rétablir les copyrights manquants et le code a été distribué en GPLv3.
Dans dâautres cas, des dĂ©veloppeurs ont volontairement publiĂ© des contrefaçons quâils revendaient. AprĂšs avoir fait fermer leur hĂ©bergement plusieurs fois, ils ont fini par trouver un hĂ©bergeur bullet-proof, un hĂ©bergeur qui ne rĂ©pondait plus aux plaintesâŠ
Concernant le forum, avez-vous déjà rencontré des difficultés avec le respect du code de conduite ?
La modĂ©ration sur le forum est obligatoire, les spammeurs sont trĂšs nombreux et inventifs en rĂ©utilisant par exemple du contenu dâautres sujets. Aucun code de conduite nâa Ă©tĂ© formalisĂ©.
Le forum ne tient plus que grĂące Ă la prĂ©sence dâun modĂ©rateur, je ne sais pas si cette partie du projet va perdurer.
Quel est votre modĂšle Ă©conomique ?
Le projet est né comme un projet personnel et reste géré comme tel.
Je travaille chez Global Service Provider, une société de services et hébergement informatique, qui me permet de disposer gracieusement (Merci à eux) de machines virtuelles (VM), sauvegarde, monitoring pour le projet.
Diverses donations ponctuelles couvrent les frais des diffĂ©rents noms de domaine, mon Ă©quipement informatique personnelâŠ
Au niveau personnel, quels logiciels libres utilisez-vous, sur quel systĂšme dâexploitation ?
Ă lâexception des raspberry pi sous Raspbian, les diffĂ©rents ordinateurs de la maison sont sous Fedora Linux.
Jâutilise gnome comme environnement graphique, alpine et roundcube pour la messagerie, vim comme Ă©diteur de texte, du docker avec moby, gcc, pythonâŠ
Et au niveau professionnel ?
Mon ordi portable est aussi Fedora Linux.
Les serveurs Linux que mon équipe et moi gérons sont principalement sous AlmaLinux et Debian.
Jâutilise tous les jours ansible (automatisation des configurations), git (versionning), netbox (gestion de datacenters), oxidized (sauvegarde rĂ©seau), mediawiki (documentation)âŠ
Merci pour votre disponibilité, et pour ces merveilleux outils !
Commentaires : voir le flux Atom ouvrir dans le navigateur