Récupération de données

Un laboratoire de récupération de données

La récupération de données (ou restauration de données) est une opération informatique qui consiste à retrouver les données perdues à la suite d'une erreur humaine, une défaillance matérielle, une défaillance logicielle d'un programme ou d'un système d'exploitation, un accident ou au moment opportun d'un test de récupération de données défini dans une procédure de stratégie de sauvegarde et d'archive (également appelé plan de sauvegarde). La difficulté de la restauration de données varie beaucoup, pouvant être une simple formalité ou au contraire, un défi technologique. Des logiciels spécifiques existent et plusieurs entreprises se spécialisent dans le domaine.

Contexte

Les scénarios de récupération de données les plus courants impliquent une défaillance du système d'exploitation, un dysfonctionnement d'un périphérique de stockage, une défaillance logique des périphériques de stockage, des dommages accidentels, une suppression...

Dans la majorité des cas, le problème se produit sur un poste informatique équipé d'un unique disque dur, contenant une seule partition et tournant sur un unique système d'exploitation. Ici, le but est de copier tous les fichiers importants du support endommagé vers un autre support. Et ce, en démarrant à partir d'une partition réservée ou d'un lecteur de CD, DVD ou USB. à l'aide d'un CD, DVD ou clef USB de démarrage.

Enjeux

La perte de donnée non maîtrisée comporte des enjeux différents selon la nature des fichiers disparus et du contexte de leurs utilisation. Ainsi, un particulier pourra perdre des données à valeur sentimentales (photos, vidéos...). Une entreprise perdant des données de recherche pourra être affectée financièrement. La récupération de donnée intervient également dans le monde du renseignement où certains supports endommagés peuvent fournir des précieuses informations dans le cadre de la lutte antiterroriste ou du contre-espionnage.

Phases

Un disque dur endommagé.

La récupération de données d'un support se divise en quatre parties, qu'il s'agisse de disques durs, de bandes magnétiquesetc.

La réparation du support

Que ce soit une clé USB, un disque dur ou un disque SSD, la réparation est la première étape. Souvent temporaire, la réparation fait appel à des solutions matérielles donc chères et en général effectuées par des professionnels.

La copie bit à bit du contenu du support du médium

Cette phase fait appel soit à une solution matérielle (par exemple Deepspar disk imager) soit à une solution logicielle (par exemple dd_rescue sous linux). En fonction du médium, certaines options sont plus efficaces que d'autres. Le but étant de travailler ensuite sur une copie du médium et non pas directement sur celui-ci de façon à le solliciter un minimum et ainsi éviter sa destruction définitive.

La récupération de données proprement dites

L'approche est logicielle. Ce sont typiquement les solutions les plus vendues sur le marché. Allant de la simple récupération de partitions à la récupération complète des données.

La réparation des fichiers qui sont corrompus ou inexploitables

La dernière phase se fait soit à la main soit à l'aide de logiciels. C'est une activité très importante pour les sociétés qui travaillent sur les recherches de preuves informatiques.

Types de défaillances

On distingue les défaillances logicielles des matérielles. Évidemment, les défaillances logicielles appellent des solutions logicielles tandis que les défaillances matérielles appellent une intervention matérielle.

Les interventions matérielles permettent souvent de récupérer une partie des données mais elles aboutissent aussi souvent à la destruction du média.

Les solutions de récupération logicielles bien mises en œuvre n'altèrent pas le média.

C'est pourquoi, il est important de pouvoir faire un diagnostic précis pour savoir s'il faut aborder le problème de manière logicielle ou matérielle. Une approche logicielle sur une panne matérielle peut mettre en péril vos données et rendre toute récupération ultérieure impossible.

Deux méthodes

Approche logicielle

La récupération de données par logiciel a de multiples motivations : les plus courantes vont de l'erreur humaine aux virus, en passant par les différents degrés de malveillance, d'espionnage et d'enquêtes policières. Par exemple, dans l'affaire Clearstream 2, une partie de l'enquête s'est appuyée sur les données récupérées sur l'ordinateur du général Rondot, données que ce dernier avait simplement effacées[1].

En informatique, le système d'exploitation découpe en morceaux les ressources auxquelles il accède, et les retrouve grâce à un index. Ainsi, un système d'exploitation voit un disque dur comme une encyclopédie où chaque demande de l'utilisateur correspond à utiliser la table des matières de l'encyclopédie. Quand l'utilisateur demande d'effacer une structure (un fichier ou une partition par exemple), le système d'exploitation ne le détruit pas directement : il se contente de modifier l'index ; effacer un article équivaut à retirer l'article de la table des matières. L'article effacé est cependant toujours présent au milieu des pages de l'encyclopédie.

Les espaces libres ne sont remplacés que lorsqu'un autre contenu y est déposé.

On peut classer les outils logiciels de récupération en trois familles :

Les outils basés sur le système d'exploitation

L'idée de base de ces approches est de travailler au niveau des index maintenus par le système d'exploitation. Grossièrement, ces approches vont essayer de détecter les altérations récentes apportées à la table des matières de l'encyclopédie et d'en déduire les structures (fichiers ou partitions) récupérables. Par exemple, MS-DOS offrait le programme de restauration undelete et unformat.

Les outils basés sur la structure effacée

L'idée de base consiste à parcourir la totalité du média en essayant de détecter le début et la fin des structures qu'on cherche à récupérer. Grossièrement, ces approches vont donc ouvrir chaque tome de l'encyclopédie, parcourir chaque page et essayer de déterminer le début et la fin de chaque article.

Les outils mixtes

Les outils mixtes mélangent les deux approches : dans un premier temps, ils explorent les index du système d'exploitation afin d'en déduire une première approximation sur l'emplacement des données effacées. Dans un second temps, ils scannent le voisinage correspondant au début et à la fin des structures à restaurer afin d'arriver à affiner la première approximation.

Les outils basés sur le système d'exploitation

Les outils basés sur le système d'exploitation sont rapides et permettent d'accéder à des informations — comme le nom du fichier — qui ne sont pas contenues dans le fichier proprement dit mais maintenues par le système d'exploitation lui-même. Le désavantage de cette approche est qu'elle n'est pas exhaustive ; ainsi, il n'est possible de récupérer qu'une partie des données, car ces outils s'appuient sur des structures de données propres au système d'exploitation et ces structures n'ont pas été conçues afin de faciliter la récupération de données. Toutefois, la journalisation oblige les systèmes à maintenir une quantité plus importante d'information que par le passé.

Le type de système de fichiers — qu'on peut comprendre grossièrement comme la manière dont est structurée la table des matières dans notre métaphore encyclopédique — caractérise les outils basés sur le système d'exploitation. Les principaux outils sont :

Enfin, certains auteurs ont proposé des outils qui vont fonctionner en tâche de fond afin de faciliter la récupération de fichiers. Parmi eux, on peut citer :

  • e2undel (Linux) pour les systèmes de fichiers ext2.
  • giis (Linux) pour les systèmes de fichiers ext2 et ext3.
Corbeille

La plupart des systèmes d'exploitation dotés d'une interface graphique incluent une corbeille. Il s'agit en fait d'un répertoire dans lequel les fichiers sont temporairement déplacés lorsqu'ils sont supprimés par l'utilisateur. Ce répertoire permet en fait de trier ses données, celles qui s'y trouvent sont dans l'attente d'être supprimées du support ou d'être restaurées.

On[style à revoir] retrouve ainsi dans les systèmes d'exploitation une commande permettant de « restaurer les éléments » qui s'y trouvent (replace les fichiers dans les répertoires dans lesquelles il se trouvaient avant leur suppression) et une autre permettant de « vider la corbeille » (En fait, lorsque cette opération est effectuée, les données ne sont pas physiquement supprimées du support de données : l'espace du disque qu'occupe ces données est marqué par le système d'exploitation comme pouvant être réutilisé pour que de nouvelles données soient inscrites à leur place).

Les outils basés sur la structure effacée

Les outils basés sur la structure effacée permettent une recherche exhaustive. Ils ont cependant plusieurs inconvénients.

Limités à quelques types de structure.
Métaphoriquement, ces outils vont parcourir toutes les pages de l'encyclopédie et essayer de détecter le début et la fin de chaque article composant l'encyclopédie. Cela signifie que le programme va détecter le début et la fin d'un article en utilisant les conventions typographiques de l'encyclopédie (titre de l'article en gras, etc.). Un article ne suivant pas les conventions typographiques ne sera donc pas retrouvé. Or le système d'exploitation n'impose pas une convention typographique particulière aux applications, celles-ci sont libres d'utiliser le format de données qu'elles souhaitent. Ils sont le plus souvent limités à quelques types de fichiers prédéfinis.
Ignorent le système d'exploitation.
Cette ignorance a un double impact. La première est qu'ils ne savent pas retrouver le nom original du fichier. La seconde conséquence est qu'ils ne savent pas distinguer un fichier qui n'a pas été effacé d'un fichier qui a été effacé. Ces outils vont donc générer une quantité importante de fichiers dont la taille cumulée peut être plusieurs fois supérieures à la taille du média analysé.

Ces inconvénients peuvent se transformer en avantage dans les cas où le système d'exploitation n'arrive plus à maintenir la cohérence des données qu'il stocke. Dans notre métaphore encyclopédique, ce cas correspondrait à une encyclopédie sans table des matières et dont les pages seraient dans le désordre et/ou manquantes. En pratique, ce cas correspond le plus souvent à une défaillance matérielle.

Les principaux outils basés sur la structure sont :

  • EasyRecovery (Windows) de la société Kroll Ontrack (Kroll Inc.).
  • Foremost (logiciel) (Linux) est capable de retrouver plusieurs types de fichiers images, vidéos, OLE, html et pdf.
  • MagicRescue (Linux) est similaire à Foremost mais il peut être étendu à volonté afin de détecter de nouveaux types de fichiers (notions de recipe).
  • PhotoRec fonctionne sous la plupart des systèmes d'exploitation (Linux, Dos, Windows et Mac OS X) et permet de récupérer un grand nombre de type de fichiers images, mais aussi des documents de type office.
  • Recovery Toolbox (Windows) capable de récupérer différents types de fichiers.
  • TestDisk est un outil fonctionnant sur la plupart des systèmes d'exploitation (Linux, Dos, Windows et Mac OS X). Contrairement aux autres outils qui recherchent des fichiers, TestDisk permet de retrouver des partitions effacées.

Les outils mixtes

Les outils mixtes tentent de marier les deux approches afin de n'en conserver que les avantages sans les inconvénients.

On peut[Qui ?] citer :

  • Fonepaw Récupération de Données.
  • easeUS Data Recovery Wizard (Windows)
  • The Sleuth Kit (Linux) est un outil destiné aux experts qui laisse l'utilisateur déterminer comment marier la récupération basée sur le système d'exploitation et la récupération basée sur la structure effacée.
  • Fatback (Linux) permet de récupérer les fichiers effacés sur une FAT (et donc en général les fichiers effacés sur une clef usb ou sur une carte mémoire d'appareil photo).
  • Numa[réf. souhaitée] permet de récupérer des fichiers effacés sur une ext3. Il est toujours en cours de développement et ne peut récupérer que des fichiers de moins de 48 Ko.
  • Tenorshare 4DDiG peut récupérer de données supprimées, formatées ou perdues d'un ordinateur, d'une carte SD, d'un disque dur externe, etc.

Approche matérielle

Bien que chaque fabricant de media ou presque propose son service de récupération de données, le volume d’information publique sur les approches matérielles de récupération reste faible. En général, un média de stockage est composé d'une carte contrôleur et d'un support physique de stockage.

Par exemple, un disque dur est composé d'un contrôleur gérant les moteurs qui vont positionner les têtes de lectures/écritures sur les plateaux ; une clef USB contient typiquement un contrôleur gérant le bus USB et une puce de mémoire NAND.

Pour un disque dur il est possible d'agir sur plusieurs organes.

  1. Le contrôleur PCB ou circuit imprimé.
  2. Les têtes de lectures (ex: Tête de lecture à technologie GMR)
  3. Le préamplificateur
  4. Le moteur

Le changement de PCB nécessite un PCB donneur identique. Il faudra cependant transférer certains composants de l'ancien PCB sur le nouveau, celui-ci étant propre à chaque disque dur. Un simple changement de PCB ne marche pas dans la plupart des cas.

Les têtes de lectures sont changées en salle blanche afin d'éviter toute contamination des plateaux magnétiques.

Le préamplificateur se répare lui aussi en changeant le bloc de tête de lecture. Il tombe en général en panne lors d'une surtension ou d'une chute du disque dur.

Le moteur, lui, ne se change pas ni se répare. En général, on transfère les plateaux magnétiques sur un nouveau disque dur. Il est très important d'utiliser un extracteur de plateaux pour garder leur alignement. Si jamais il ne le sont plus, la récupération des données est alors impossible.

En cas de corruption ou rayure de la zone système d'un disque dur (le disque fait un bruit de claquement des têtes de lectures), il est possible d'effectuer un changement de carte PCB à chaud, ce qui permet d'éviter la lecture impossible de la zone système du disque défectueux.

Articles connexes

Bibliographie

  • (en) Peter Gutmann, Secure Deletion of Data from Magnetic and Solid-State Memory, San José, Sixième symposium de sécurité USENIX, (lire en ligne)
  • (en) Peter Gutmann, Data Remanence in Semiconductor Devices, Washington, D.C., dixième symposium de sécurité USENIX,
  • (en) Brian Carrier, File System Forensic Analysis, Addison Wesley Professional (ISBN 0-321-26817-2)

Notes et références