13 votes

Si un disque dur a des secteurs corrompus ou physiquement endommagés, ces secteurs peuvent-ils être réécrits ?

J'ai un lecteur FreeBSD bootable que j'utilise pour effacer le contenu d'un disque dur avant de donner le PC à mon magasin d'occasion local. J'utilise la commande suivante pour y parvenir :

dd if=/dev/urandom of=/dev/[nomdulecteur] bs=64k

Admettons hypothétiquement que le disque dur comporte des secteurs corrompus ou des zones physiquement endommagées. Ces secteurs seraient-ils écrasés par la commande ci-dessus ? Ou serait-il tout de même possible d'extraire des données des secteurs endommagés ou corrompus ?

18voto

Joep van Steen Points 111

C'est un type de question qui dépend du point de vue:

À un moment donné, un secteur endommagé ne peut plus être lu ou écrit. Mais un disque dur est conçu avec l'idée que des secteurs défectueux peuvent survenir à un moment donné.

Cela aurait des conséquences s'il n'y avait pas de mécanisme en place pour gérer de tels secteurs: Supposons que le secteur à l'adresse LBA devient défectueux, nous aurions soudainement un trou dans notre espace d'adresse LBA séquentiel. Pour contrer cela, les disques durs conservent un pool de secteurs de rechange. Une fois que le disque dur découvre que le secteur à LBA 100 par exemple a des problèmes, il peut remapper LBA 100 vers un secteur de rechange et mettre le secteur d'origine hors service.

Donc, non, vous ne pourrez pas écrire sur LBA 100, qui est le secteur original, cependant puisque le disque va mapper l'adresse LBA vers un secteur de rechange, vous pourrez écrire sur LBA 100 après tout. Ainsi, il semblera que vous puissiez écrire sur le secteur tant que le disque dispose de secteurs de rechange disponibles, alors que vous écrivez en fait sur un secteur physique différent.

Il y a quelques conditions qui déclencheront l'intervention du disque pour gérer un secteur défectueux:

  • Erreur de lecture. Le disque dur tentera de récupérer les données du secteur et s'il réussit, il peut décider de remapper le secteur. S'il ne peut pas, le secteur devient 'pending' (vous pouvez le voir dans SMART - En attente). Il ne remappera qu'un secteur en attente lors de l'écriture.
  • Erreur d'écriture. Si le disque décide qu'un secteur ne peut pas être utilisé de manière fiable, il va le remapper (Vous pouvez le voir dans SMART - Réalloué).

Ce disque a déjà réalloué des secteurs et il y a aussi des secteurs en attente. Les secteurs en attente disparaîtront si vous écrivez dessus:

entrer description de l'image ici

Concernant la récupération des données, ou comme vous dites, l'extraction de données à partir de secteurs défectueux:

Le meilleur 'outil' pour obtenir des données à partir de secteurs défectueux est le disque dur lui-même. Si un disque ne peut pas lire un secteur, il appliquera toutes sortes de techniques de récupération d'erreur sans que vous ayez besoin de le demander. Cela peut prendre jusqu'à 20 secondes par secteur. C'est pourquoi les gens se plaignent souvent que les disques 'instables' sont lents; le disque essaie simplement très fort de récupérer les données d'un secteur problématique.

Les logiciels spécialisés dans la récupération de données à partir de tels secteurs ne peuvent faire que quelques choses:

  • Demander au disque de réessayer.
  • Essayer les lectures prolongées (bien que cette fonctionnalité ait été abandonnée depuis longtemps de la spécification ATA). Normalement, si un disque ne peut pas lire un secteur, vous n'obtiendrez aucune donnée, juste une erreur. En utilisant la commande de lecture prolongée, vous demandez en fait au disque, donnez-moi toutes les données que vous pouvez lire, même si vous pensez qu'elles sont fausses.
  • Parfois, il peut sembler que les secteurs ne peuvent pas être lus en raison d'autres problèmes affectant le disque, un problème de firmware par exemple. Dans un tel cas, des outils spécialisés de récupération de données, souvent une combinaison de matériel et de logiciel, peuvent aider à lire ces secteurs.
  • Généralement, un outil de récupération de données sera utilisé pour imager un disque en plusieurs passes, la première passe essayant d'éviter au maximum les secteurs défectueux tandis que chaque passe suivante passe plus de temps sur les secteurs défectueux. Mais encore une fois, assez souvent, vous rencontrerez des secteurs qui ne peuvent tout simplement pas être lus.

MODIFIER: Si cela concerne l'écrasement de données et la rencontre d'un secteur défectueux, les mêmes mécanismes s'appliquent:

Si le disque découvre un secteur défectueux lors de l'effacement, il sera réalloué. Certains pourraient argumenter que c'est dangereux, ou un vecteur d'attaque possible puisque le secteur d'origine est mis hors service et n'est donc pas écrasé.

Cependant, la récupération est improbable:

  • L'accès aux secteurs non mappés sur LBA nécessite des outils assez coûteux comme PC3000.
  • Même alors, un secteur défectueux ne peut pas être lu, c'est ce qui le définit comme un secteur défectueux. Les chances que même avec PC3000 les données du secteur puissent être récupérées sont très faibles.
  • Les données d'origine dans un secteur qui est écrit avec succès (donc écrasé) sont irrécupérables malgré le mythe populaire selon lequel il est estimé que les données peuvent être reconstruites à partir de traces résiduelles vagues et autres (cette affirmation est susceptible d'être faite à un moment donné dans ce type de discussions).

Si le disque prend en charge l'effacement renforcé, ce serait votre meilleure option pour effacer de manière sécurisée tous les secteurs, y compris ceux déjà réalloués.

8voto

Mark Morgan Lloyd Points 143

Dans une large mesure, la question dépend de savoir si "mauvais" signifie que le système d'exploitation l'a marqué comme tel, ou si le firmware du disque le considère comme inutilisable.

Dans le premier cas, un outil de bas niveau pourrait peut-être l'écraser.

Dans le deuxième cas, la zone défectueuse a été marquée comme inutilisable et a peut-être été remplacée à partir d'un pool de réserve, ce sont des opérations de firmware et il y a une réelle possibilité que la zone "mauvaise" ne puisse pas être écrasée à moins d'utiliser un outil matériel spécial.

Si toute la zone de stockage n'a pas été effacée et reformatée au niveau matériel, il est probable qu'un adversaire déterminé et bien financé pourrait récupérer des informations à partir de celle-ci. Historiquement, l'équipement de pointe en matière de criminalistique pouvait récupérer des traces des données originales même après un effacement matériel car il restait des traces résiduelles des transitions d'horloge/données visibles sous forme de signaux analogiques très faibles.

Les opérations aux niveaux du firmware ou du système d'exploitation ne permettront pas d'éviter cela.

En fin de compte, la seule façon d'effacer un disque est avec un marteau et un four.

5voto

r2d3 Points 1453

Comme je ne suis pas sûr du comportement dans un paramètre, les cas suivants s'appliquent :

SSD

Il n'y a pas de correspondance fixe entre le(s) secteur(s) que vous essayez d'effacer et le(s) bloc(s) flash utilisé(s) pour stocker le contenu de ce(s) secteur(s).

Comme les blocs flash ont une durée de vie limitée en termes de cycles d'écriture, le micrologiciel du SSD doit remapper les blocs flash une fois qu'ils ont atteint leur fin de vie. Cette opération de remappage n'est pas un accident, c'est une partie du traitement régulier de l'usure. Ce processus de vieillissement ou d'usure se reflète dans le changement de certaines attributs SMART en fonction du fabricant. Après le remappage, vous ne pouvez plus atteindre ces secteurs par le biais de votre système d'exploitation. Cependant, des outils spécialisés semblent pouvoir le faire.

Le fractionnement anti-forensique dans le système de chiffrement LUKS a été construit pour contrer de tels effets.

HDD

La correspondance entre les numéros de secteur et les secteurs physiques est généralement statique, à l'exception d'erreurs qui semblent survenir en fin de vie du HDD. Les secteurs en attente semblent augmenter comme le volume d'une avalanche. Le remappage des secteurs en attente déclenché par une opération d'écriture sur un secteur en attente (illisible) rend ce secteur indisponible pour le système d'exploitation. Regardez la figure RAW pour le comptage des secteurs réalloués (attribut SMART) pour déterminer l'étendue de ce qui est devenu inaccessible pour vous.

Ce que je ne peux pas dire, c'est si une opération d'écriture sur un secteur en attente déclenchera une dernière tentative d'écriture sur ce secteur (ce qui pourrait aboutir à une écriture réussie) ou si le secteur sera immédiatement remappé.

Conclusion

Le remappage empêche vos efforts d'effacement pour les HDD et les SSD, mais le remappage est distribué différemment dans le temps. L'attribut "secteurs réalloués" SMART est courant pour les HDD. Vous pouvez l'utiliser pour évaluer combien de secteurs sont devenus indisponibles pour l'écriture et agir en conséquence. Étant donné le mode de fonctionnement des SSD, je préférerais les détruire physiquement plutôt que de compter sur l'écriture de leur contenu avec des données aléatoires ou des zéros.

1voto

legolegs Points 11

Réponse courte: oui, c'est une bonne idée de remplir le lecteur avec des zéros ou des nombres aléatoires avant de le vendre, de le donner ou de le réutiliser.

Conseil:

Encore mieux serait de remplir le lecteur avec des données connues puis de vérifier si elles sont lues correctement. L'outil badblocks dispose d'un mode écriture/effacement pour cette tâche :

badblocks -w /dev/disk/by-id/ata-MNFCR-MODEL_SERIANO (astuce: ne vous embêtez pas avec les fichiers /dev/sd?, adressez-vous aux lecteurs dans /dev/disk/by-id/ pour éviter toute confusion). Il écrira quatre motifs pour s'assurer que tous les bits du lecteur peuvent changer. Le dernier motif est 0x00, ce qui est pratique. On peut accélérer le test en spécifiant un seul motif en utilisant -t 0. En bonus, vous testez également vos câbles et votre contrôleur d'E/S qui pourraient être défectueux.

Une autre méthode consiste à faire en sorte que le lecteur s'efface et se teste lui-même en utilisant ATA Secure Erase puis le SMART Long Self Test. L'avantage est que vous n'utilisez pas les ressources du système d'exploitation.

Comment l'écriture peut réparer le lecteur:

Parfois, les données sur un HDD deviennent illisibles non pas à cause d'une défaillance physique de la surface, mais à cause d'une écriture incorrecte due à une fluctuation de tension aléatoire ou autre chose. L'écriture sur ces secteurs restaure complètement les données.

0voto

rackandboneman Points 780

La réponse de l'ancienne école serait "oui, c'est ainsi que vous indiquez au micrologiciel du lecteur de remapper le secteur et de le remplacer par un bon secteur de rechange".

La réponse de l'ancienne école encore plus ancienne serait "non, vous devrez dire à votre contrôleur de disque/système d'exploitation de faire ce remappage" (cela ne s'applique pas à tous les disques durs que vous trouverez aujourd'hui en dehors des contextes de rétro-informatique hardcore).

La réponse de la nouvelle école serait "si les secteurs défectueux causent suffisamment de perturbations pour passer à travers les atténuations du micrologiciel du lecteur, sauf si vous ÊTES SÛR de la cause, considérez le lecteur comme défectueux - il y a trop de risques que tout ce qui a créé de nouveaux secteurs défectueux après le contrôle en usine créera plus (par exemple, contamination dans le lecteur, ou pire encore, un effet domino en cours), dépassant le coût de remplacement). De plus, il pourrait y avoir une dégradation des performances si de nombreux secteurs remappés provoquent de nombreuses recherches supplémentaires (qui sont extrêmement coûteuses sur les disques durs rotatifs).

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X