web-dev-qa-db-fra.com

/ dev / zero ou / dev / random - quoi de plus sûr et pourquoi?

Quelqu'un peut-il me dire pourquoi/dev/random est préféré pour la sécurité lors de l'effacement des données d'un disque dur?

23
skater_nex

Réponse simple, /dev/random n'est pas préféré. Les deux sont également sécurisés. Utilisation /dev/zero pour une vérification plus facile. Aussi moins d'utilisation du processeur et peut-être plus rapide.

Réponse plus complète. Pour les disques durs modernes La densité du plateau est telle qu'il est impossible d'obtenir des signaux de secteurs incomplètement écrasés du disque, ce que des gens comme Gutmann ont écrit il y a de nombreuses années. En ce qui concerne les disques durs modernes (je placerais cela comme n'importe quel disque dur dont la capacité peut être mesurée en gigaoctets ou mieux), s'il est écrasé, il a disparu. Fin de l'histoire. Peu importe la raison pour laquelle vous modifiez les données. Juste que vous modifiez les données.

Pour ajouter à cela, même si vous effacez complètement un disque dur, il peut encore y avoir des données sur le lecteur dans des secteurs qui ont été remappés par le micrologiciel du disque dur, mais ceux-ci sont relativement rares, et seule une très petite quantité de données serait contenue à l'intérieur, sans oublier que vous auriez besoin d'un équipement très spécialisé pour récupérer ces données (vous devrez modifier le G-List dans le System Area de la volonté d'y parvenir), sans oublier que la raison pour laquelle ces secteurs ont été remappés en premier lieu est qu'ils échouaient.

Donc, pour résumer, les lingettes DoD sont stupides, les lingettes Gutmann sont plus stupides, utilisez /dev/zero, c'est bon dans presque 100% des cas. Et s'il s'agit d'un cas Edge, vous devez avoir un savoir très spécialisé pour accéder aux données et également supprimer les données.

"merci! alors qu'en est-il de la clé USB?"

La clé USB est un animal complètement différent, vous devez contourner le contrôleur flash pour le nettoyer, même une lingette Gutmann ne supprimera pas complètement les données en raison des algorithmes de nivellement de l'usure. Mais tout comme un disque dur, si vous écrasez les données une fois, c'est parti, l'astuce oblige l'appareil à réellement écraser les données.

Cela étant dit, si vous avez une clé USB bon marché sans contrôleur qui porte un nivellement, un remplissage à 0 en un seul passage devrait être suffisant pour supprimer les données qu'il contient. Sinon, vous cherchez du matériel personnalisé et des travaux de soudure.

Les SSD doivent être considérés comme des clés USB avec un contrôleur qui effectue un nivellement de l'usure. Les SSD porteront toujours le nivellement, je ne connais aucune exception à cette règle. Beaucoup de clés USB ne le font pas.

Comment savoir si une clé USB porte un nivellement? Vous devez le démonter, inspecter la puce du contrôleur et rechercher une fiche technique dessus.

"Pourriez-vous donner une source pour la déclaration selon laquelle il est" impossible d'obtenir des signaux de secteurs incomplètement écrasés du lecteur "? Je ne parle pas des tests des magazines informatiques concernant les magasins de récupération de données, je parle du pire des cas: un laboratoire gouvernemental bien équipé. Je voudrais donc vraiment savoir comment garantir cette affirmation, de préférence un article scientifique. "

Je vais donner quelques justifications et informations concernant le stockage analogique de données numériques sur support magnétique. Ce qui suit est principalement des choses qui m'ont été enseignées pendant le travail dans une entreprise de récupération de données, et peuvent partiellement inexactes par endroits. Si oui, faites-le moi savoir, je vais le corriger. Mais c'est ma meilleure compréhension de la matière.

Après la fabrication d'un disque dur, la première chose qui se produit est qu'il reçoit des étiquettes d'asservissement d'une machine à écrire d'étiquettes d'asservissement. Ceci est une machine distincte dont le seul travail consiste à prendre un disque dur complètement vierge et bootstrap it. (C'est pourquoi les disques durs ont des trous recouverts de ruban d'aluminium, c'est là que la servo-étiqueteuse place ses têtes d'écriture.) Si vous avez déjà eu un lecteur qui, lorsque vous l'avez allumé, il a simplement généré "cliquez, cliquez, cliquez" c'est parce qu'il n'a pas pu lire les étiquettes des servos. Lorsqu'un disque dur est allumé la première chose qu'il essaie de faire, c'est de lancer ses têtes de lecture quelque part sur le plateau et d'acquérir une piste. Les étiquettes de servo définissent les pistes.

La raison pour laquelle je mentionne cela, c'est que c'est à peu près la seule instance qu'un périphérique externe lit et écrit sur le disque dur et il décrit approximativement la limite que le matériel en dehors de ce lecteur possède ses propres têtes de lecture peut fonctionner avec les données sur un plateau. S'il était possible de rendre les étiquettes de servo plus petites et plus efficaces, les fabricants de disques durs le feraient. Les étiquettes de servo sont relativement peu efficaces en termes d'espace pour deux raisons.

  1. Il est absolument essentiel qu'ils n'échouent pas. Si une étiquette de servo échoue, chaque fois que la tête passe sur cette étiquette de servo particulière, elle perdra sa trace, cela signifie pragmatiquement que la piste entière est inutilisable.
  2. Il donne une idée de la façon dont le matériel du disque dur est bien meilleur pour traiter les informations sur les plateaux que les machines externes.

Un anneau d'étiquettes d'asservissement définit une piste. Il y a certaines choses que vous devez savoir sur les pistes.

  1. Ils ne sont pas nécessairement circulaires. Ils sont imparfaits et peuvent contenir des chaînes. C'est parce que la machine à étiquettes servo n'est pas précise.
  2. Ils ne sont pas nécessairement concentriques. Ils peuvent et se croisent. Cela signifie que certains secteurs ou pistes entières peuvent être inutilisables simplement parce que la machine à étiquettes servo est inexacte.

Après l'écriture des étiquettes d'asservissement, vient le format de bas niveau. Un format de bas niveau des années 80 d'un disque, sauf plus compliqué. Étant donné que les plateaux sont circulaires mais que les vitesses du disque dur sont constantes, la quantité de surface passant sous la tête de lecture est une fonction variable de la distance au milieu du plateau. Ainsi, dans un effort pour extraire chaque dernière goutte de stockage d'un plateau, la densité du plateau est variable et définie en zones. Sur un disque dur standard de 3,5 pouces, il y aura plusieurs dizaines de zones avec différentes densités de plateau.

Dont l'un est spécial et extra faible densité appelé le System Area. La zone système est l'endroit où tous les micrologiciels et paramètres de configuration sont stockés sur le lecteur. Il a une densité très faible car cette information est plus importante. Plus la densité est faible, moins il y a de chances que quelque chose se fâche au hasard. Cela arrive tout le temps bien sûr, mais moins souvent que quelque chose dans la zone utilisateur.

Une fois le disque formaté de bas niveau, le micrologiciel est écrit dans la zone système. Le firmware est différent pour chaque lecteur. Afin d'optimiser le lecteur pour les exigences ridiculement fines des plateaux, chaque lecteur doit être réglé. (Cela se produit en fait avant le formatage de bas niveau, bien sûr, car vous devez savoir à quel point l'équipement est bon pour décider de la densité de fabrication des plateaux.) Ces données sont connues sous le nom de adaptives et sont enregistrées dans la zone système. Les informations dans le domaine des adaptatifs sont des choses comme "quelle tension dois-je utiliser pour me corriger lorsque les étiquettes des servos me disent que je dérive", et d'autres informations nécessaires pour faire fonctionner le disque dur. Si les adaptatifs sont légèrement éteints, il peut être impossible d'accéder à la zone utilisateur. La zone système est plus facile d'accès, donc très peu d'adaptatifs doivent être stockés sur le CMOS PCB.

À retenir de ce paragraphe:

  1. Une densité plus faible signifie plus facile à lire.
  2. Plus la densité est élevée, plus il est probable que les choses se détériorent au hasard.
  3. La zone utilisateur a une densité aussi élevée que le fabricant de disques durs peut éventuellement le faire.
  4. Si cela semble slamdash et slipshod, c'est parce que c'est vraiment le cas. Les fabricants de disques durs rivalisent et gagnent sur le prix par Go. La conception d'un disque dur ne consiste pas vraiment à fabriquer des pièces d'équipement soigneusement fabriquées et à les assembler très soigneusement, car cela ne suffit plus. Bien sûr, ils le font toujours, mais ils doivent également faire fonctionner les pièces ensemble dans le logiciel, car les tolérances matérielles sont trop larges pour être plus compétitives.

Alors. Parce que l'utilisateur a une densité si élevée, il est en fait très (très (très très)) susceptible de se faire bousiller dans le cours normal des choses. Cela peut être dû à de nombreux facteurs, notamment de très légers problèmes de synchronisation et la dégradation du plateau. Un bon pourcentage de secteurs de votre disque dur contient en fait des bits vissés. (Vous pouvez le vérifier vous-même en émettant un ATA28 READLONG commande sur votre lecteur (valable uniquement pour les premiers 127 Go environ. Il n'y a pas de ATA48 équivalent, il a été supprimé!) plusieurs fois sur de nombreux secteurs et en comparant la sortie. Vous constaterez qu'il n'est pas rare que certains morceaux se comportent mal et agissent de manière succincte ou même inversée au hasard.) C'est une réalité de la vie. C'est pourquoi nous avons ECC.

ECC est une somme de contrôle contenue après les 512 (ou 4096 dans les lecteurs plus récents) octets de données qui corrigeront ces données si elles ont assez peu de bits incorrects. Le nombre exact dépend du micrologiciel et du fabricant, mais tous les disques l'ont et tous les disques en ont besoin (et il est étonnamment plus élevé que ce à quoi vous vous attendez, quelque chose comme 48 à 60 octets qui peuvent détecter et corriger jusqu'à 6 à 8 octets d'erreur. mathématiques en cours.) En effet, la densité des plateaux est trop élevée, même pour les équipements de disque dur interne hautement spécialisés et réglés.

Enfin, je veux parler de la puce de préampli. Il est situé sur le bras du disque dur et agit comme un mégaphone. Parce que les signaux sont générés à partir de très petits champs magnétiques, agissant sur de très petites têtes, ils ont un très petit potentiel. Vous ne pouvez donc pas utiliser la tête de disque dur pour la méthode Gutmann, car vous ne pouvez pas en obtenir une lecture suffisamment précise pour que la technique de Gutmann en vaille la peine.

Mais supposons que le NSA possède un équipement magique, et ils peuvent obtenir une lecture très précise (suffisamment précise pour calculer le potentiel et dériver les données précédemment écrites) d'un bit particulier en 1 ms. De quoi ont-ils besoin en premier?

Tout d'abord, ils ont besoin de la zone système. Parce que c'est là que le traducteur est stocké (le traducteur est ce qui transforme une adresse LBA en une adresse PCHS (secteur de culasse physique par opposition à l'adresse CHS logique qui est fausse et uniquement pour des raisons héritées). La taille du système La zone varie et vous pouvez l'obtenir sans recourir à des outils magiques. Normalement, cela ne représente que 50 à 100 Mo. La disposition du traducteur est spécifique au micrologiciel, vous devez donc l'inverser (mais cela a été fait avant, ce n'est pas grave.)

Donc premier problème, le signal au bruit. Comme mentionné, la densité du plateau est réglée beaucoup plus haut, ce qui est strictement sûr. La méthode de Gutmann nécessite une très faible variance dans l'activité de lecture/écriture normale pour calculer avec précision les états précédents des bits. Si la variance du signal est importante, cela peut gâcher ces tentatives. Et la variance est suffisamment importante pour vous bouleverser complètement (c'est pourquoi l'ECC est si fou dans les lecteurs modernes.) Une analogie serait comme essayer d'entendre parfaitement quelqu'un vous chuchoter pendant que quelqu'un vous parle au milieu d'une pièce bruyante.

Deuxième problème, le temps. Même si le microscope électronique est très rapide et précis (1 ms par bit! C'est la foudre pour un microscope électronique. Il est également plus lent qu'un modem 1200 bauds), il y a BEAUCOUP de données sur un disque dur et une image complète prendra très Longtemps. (WA dit 126 ans pour un disque dur entier de 500 Go, et cela n'inclut PAS les données ECC (dont vous avez besoin). Il y a aussi beaucoup d'autres métadonnées associées aux secteurs du disque dur que je n'ai pas mentionnés, comme les champs ID et les marqueurs d'adresse, mais ceux-ci ne sont pas écrasés, peut-être pouvez-vous trouver un moyen plus rapide de les imager normalement? Il existe sans aucun doute des moyens d'accélérer ce processus (comme l'imagerie sélective de parties du lecteur), mais même cela vous prendra des mois de 24/7 fonctionne 24 heures sur 24 juste pour obtenir le $MFT fichier sur un disque dur standard (généralement environ 50-300 Mo sur un lecteur avec Windows installé)).

Troisième problème, la recevabilité. Si le gouvernement vous recherche, il vous poursuit pour quelques raisons seulement, il veut savoir quelque chose que vous savez, ou il veut vous arrêter et vous mettre en prison. Il existe des moyens plus faciles d'obtenir le premier (cryptographie des flexibles en caoutchouc), et le second nécessitera des procédures de preuve régulières. Pour en revenir à l'analogie, si quelqu'un a témoigné que quelqu'un leur a dit quelque chose à voix basse, alors que quelqu'un d'autre leur parlait au milieu d'une pièce bondée et bruyante, il y a beaucoup de place pour le doute. Ce ne serait jamais le genre de preuves solides qui voudraient dépenser beaucoup de temps et d'argent.

60
OmnipotentEntity

Vous posez la mauvaise question. Tenter d'effacer un lecteur en toute sécurité en écrivant dans des blocs visibles par l'utilisateur ignore complètement le fait qu'il pourrait y avoir des données utilisateur dans des secteurs marqués comme mauvais (mais qui contiennent toujours des données sensibles lisibles).

Bien sûr, il est possible de contourner cela en émettant des commandes ATA, mais une seule commande d'effacement sécurisé ATA fera tout ce que vous voulez en premier lieu. Voir https://ata.wiki.kernel.org/index.php/ATA_Secure_Erase pour plus de détails sur la façon d'utiliser hdparm pour émettre la commande Secure Erase avec la --security-erase option.

2
Gabe