web-dev-qa-db-fra.com

Pourquoi les systèmes d'exploitation n'ont-ils pas supprimé les fichiers en toute sécurité dès le début? Et pourquoi ne font-ils toujours pas cela?

Après des décennies à entendre que la "suppression" ne rend pas vraiment les données impossibles à récupérer, je dois demander POURQUOI le système d'exploitation n'a pas été corrigé il y a longtemps pour faire ce qu'il aurait dû faire depuis le début? Quel est le gros problème? Le système ne peut-il pas simplement se déplacer en arrière-plan par écrasement et tout ce qui doit se produire? Pourquoi avons-nous besoin d'utilitaires supplémentaires pour faire ce que nous pensions toujours se produire? Quelle est la motivation des développeurs de systèmes d'exploitation pour NE PAS corriger ce problème?

ADDITION: Ce n'est pas une question de technologie, car clairement il IS possible de supprimer les choses en toute sécurité, ou bien il n'y aurait pas d'outils disponibles pour le faire. C'est un question de politique: si certaines personnes estiment qu'il est important et devrait faire partie du système d'exploitation, pourquoi ne fait-il pas partie du système d'exploitation? Beaucoup de choses ont été ajoutées aux systèmes d'exploitation au fil des ans, et cela pourrait certainement être l'un d'entre eux. IS un problème important, ou il n'y aurait pas eu d'articles et d'histoires à ce sujet depuis environ 3 décennies maintenant. Qu'est-ce que l'inertie? Faites juste la bonne chose.

88
user82913

Au lieu d'une autre réponse "Vous vous trompez parce que" j'aimerais adopter une approche légèrement différente:

Les premiers OS d'ordinateur ont été écrits par des programmeurs pour des programmeurs. Quiconque programme et sait ce que sont les pointeurs comprend que "supprimer" un pointeur ne supprime pas la chose à laquelle il pointe: ils sont séparés.

Cela ne signifie pas que la suppression ne supprime pas réellement. Ce pointeur est parti. Essayer de l'utiliser après l'avoir "supprimé" (libérer la mémoire, relier le nom) peut entraîner de mauvaises choses.

Mais l'histoire continue, et maintenant les utilisateurs finaux qui ont un concept différent de suppression (comme vous) sont dans l'image. Ils (et vous) ont des attentes qui ne sont pas déraisonnables (quoi que ce soit d'autre dit dans ce fil).

Mais supprimer ne signifiera jamais (pour un ordinateur) ce que vous pensez qu'il devrait: il y a des raisons à la fois techniques (assez bien détaillées dans d'autres réponses) et sociales (45 ans d'inertie).

Le système d'exploitation moderne (et j'inclus * nix) résume beaucoup de choses pour vous: vous n'avez plus besoin d'être un expert en informatique pour posséder/faire fonctionner un ordinateur de la même manière que vous n'avez plus besoin d'être un mécanicien pour posséder/conduire une voiture. Le prix à payer est que ces abstractions sont qui fuient : il y a une déconnexion fondamentale qui ne peut jamais être complètement comblée. Un "document" informatique n'est pas vraiment un document, un "bureau" n'est pas un bureau, une "fenêtre" n'est pas une fenêtre, etc.

108
Jared Smith

Pour les raisons suivantes:

  • Performance - il prend des ressources détruisant les fichiers. Imaginez une application qui utilise des centaines ou des milliers de fichiers. Ce serait une énorme opération de supprimer en toute sécurité chacun d'eux.
  • Usure supplémentaire sur les disques.
  • Parfois, la possibilité de récupérer un fichier est une fonctionnalité du système d'exploitation (par exemple, Corbeille, Corbeille, Volume Shadow Copy).
  • Comme l'a noté Xander, le mécanisme de stockage physique est parfois abstrait du système d'exploitation (par exemple, SSD ou lecteurs réseau).
248
SilverlightFox

Il n'a pas besoin d'être corrigé car ce n'est pas un défaut.

Les pointeurs vers le fichier sont supprimés et la zone occupée par le fichier est marquée comme espace libre. Le lecteur écrase alors cette zone en son temps. Il est purement là pour économiser l'usure du lecteur. Après tout, les périphériques de stockage (en particulier les SSD) ont un nombre limité de fois où ils peuvent écrire avant de tomber en panne. La plupart des utilisateurs n'apprécieraient pas que leur disque tombe en panne après 6 mois.

Il existe des solutions sécurisées avec des outils disponibles pour nettoyer en toute sécurité l'espace libre sur un disque dur.

96
Virtual Anomaly

Vous semblez avoir un problème de formulation avec le terme supprimer et une attente erronée sur ce que la fonctionnalité devrait faire.

Vous pouvez vérifier la définition simple sur le site Web Merriam-Webster:

supprimer: pour supprimer (quelque chose, comme des mots, des images ou des fichiers informatiques) d'un document, d'un enregistrement, d'un ordinateur, etc.

L'objectif de la fonction de suppression est de supprimer les objets sélectionnés de leur emplacement actuel. Ils peuvent être déplacés vers un autre emplacement temporaire (la poubelle) pour éviter toute perte accidentelle, ou l'espace qu'ils occupent peut être directement marqué comme libre.

Comparez cela à la définition de effacer par exemple:

effacer: pour supprimer (quelque chose qui a été enregistré) d'une bande (comme une bande vidéo ou une bande audio) ou un ordinateur disque; également: pour supprimer du matériel enregistré (une bande ou un disque)

: enlever (quelque chose d'écrit) en frottant ou grattant pour qu'il ne soit plus visible

: pour supprimer un élément écrit d'une (surface)

Celui-ci va vraiment à un niveau inférieur, ici nous ne supprimons pas seulement le fichier du dossier, nous supprimons les données du fichier du disque, et dans cette subtilité réside toute la différence.

Effacer est le mot que vous rencontrez le plus dans le monde Windows, dans le monde Unix vous pouvez rencontrer essuyez à la place qui décrit le processus d'un point de vue plus technique- vue:

essuyer: nettoyer ou sécher (quelque chose) en utilisant une serviette, votre main, etc.

: enlever (quelque chose) en frottant

: se déplacer (quelque chose) sur une surface

Pourquoi les OS ne font-ils pas cela par défaut? Pour plusieurs raisons:

  • Les utilisateurs à domicile ordinaires n'ont pas besoin d'une telle fonctionnalité, il leur suffit simplement de supprimer un fichier d'un dossier ou, dans le cas de disques externes, de s'assurer qu'il est complètement nettoyé (format "lent" en termes simples). Ils ont rarement besoin d'effacer un seul fichier spécifique.

  • Les utilisateurs à domicile courants ne le font pas - voulez une telle fonctionnalité. Vous verrez que la valeur par défaut est non seulement de ne pas effacer le fichier, mais pas vraiment de le supprimer non plus: au lieu de cela, il est placé dans la corbeille car les utilisateurs à domicile s'attendent à ce que leur système d'exploitation puisse les enregistrer en cas de mauvaise manipulation. Vous devez souvent utiliser une combinaison de touches spécifique (option Maj + Suppr) pour supprimer un fichier sans passer par la poubelle.

  • Enfin, une telle option peut ne pas être facile ni même possible à mettre en œuvre. L'évolution technologique a ajouté plusieurs couches logiques et physiques autour de vos données réelles:

    • Certains systèmes d'exploitation prennent des instantanés réguliers du contenu du système de fichiers, dans ce cas, votre fichier peut être inclus dans un ou plusieurs de ces instantanés. Il peut devenir compliqué d'assurer l'effacement correct des fichiers dans une telle condition sans mettre en danger l'intégrité des instantanés.

    • Comme mentionné dans d'autres réponses et commentaires, pour augmenter la durée de vie de votre périphérique de stockage, il existe un niveau d'abstraction entre le stockage réel et la façon dont il est vu par le système d'exploitation. Dans ce cas, alors que le système d'exploitation peut faire de son mieux pour garantir que les données du fichier sont supprimées au niveau du système de fichiers, il n'a aucun moyen de s'assurer qu'il a été effacé efficacement au niveau du stockage.

D'un côté, vous avez le système d'exploitation qui raisonne en termes de fichiers (pour simplifier) ​​mais ne se soucie pas vraiment du stockage d'octets, de l'autre côté, vous avez le firmware du périphérique de stockage qui raisonne en termes d'octets mais ne sait rien des fichiers et comment le système de fichiers est réellement défini.

Donc, cela signifie-t-il que tout est perdu et que nous devons attendre un avenir improbable pour nous apporter un système de fichiers implémenté nativement dans le firmware du périphérique de stockage? Non, mais ce que vous devez faire dépend de votre préoccupation réelle:

  • Si votre préoccupation concerne les données au niveau de votre système de fichiers, vous disposez d'un logiciel tiers qui vous ajoutera une nouvelle option d'effacement/effacement à vos menus contextuels. Vous devez vous assurer manuellement que des copies de ces fichiers ne sont présentes dans aucun instantané et sauvegarde du système de fichiers, car cela nécessite une décision au cas par cas, le système d'exploitation ne peut pas le faire pour vous (vous ne voulez pas de l'assistant de suppression de votre système d'exploitation). pour visser votre sauvegarde ou pour vous aider, n'est-ce pas?).

  • Si votre préoccupation concerne les données stockées physiquement sur votre périphérique de stockage, utilisez le cryptage du système de fichiers. Cela garantira que les éventuelles "fuites" de données dues au nivellement de l'usure et à une mauvaise gestion des blocs ne seront pas exploitables par quiconque mettra la main sur votre périphérique de stockage.

75
WhiteWinterWolf

Pour des raisons de performances. Supprimer le fichier de l'index et déclarer que la zone où se trouvait le fichier est maintenant libre et peut être réutilisé est beaucoup plus efficace que d'effacer toutes les données de cette zone.

11
Benoit Esnard

Tout le monde n'est pas d'accord avec votre définition de ce que "supprimer" devrait signifier.

Pour 99,9% des utilisateurs, ils ne s'inquiètent pas de voir quelqu'un chercher des données. Ils veulent de l'espace pour stocker plus d'épisodes Teletubbies torrentiels. Pour la plupart des gens, le fait de ne plus avoir réservé l'espace pour le fichier suffit.

Ensuite, il y a le groupe de personnes dont vous faites partie, qui veulent que le fichier soit effacé afin qu'il ne puisse pas être récupéré. Cependant, avez-vous correctement pris en compte les copies en cache du fichier qui peuvent se trouver ailleurs sur votre disque dur? Il peut en effet être difficile de s'assurer que quelque chose est entièrement supprimé. Pour quelqu'un qui veut une fonctionnalité comme celle-ci, vous avez peut-être déjà équilibré les questions de sécurité, mais pensez-vous que les 99,9% l'ont fait?

Enfin, pensez à ceux qui tiennent vraiment à effacer leurs secrets. Le processus standard du gouvernement consiste à jeter les disques durs dans un broyeur. Pourquoi? Saviez-vous que lorsque vous effacez le fichier, certaines des propriétés magnétiques du disque gardent vos données accessibles? Il n'est pas accessible par la tête de disque dur normale, mais sortez le plateau et placez-le dans un lecteur magnétique coûteux, et ils peuvent en fait extraire des données.

Si le gouvernement souhaite réutiliser le disque dur, le processus standard est un effacement 7 fois, où vous écrivez 7 fois dans chaque secteur du disque. Ils utilisent généralement le broyeur, car ce processus est si intensif mécaniquement que la plupart des disques ne survivent même pas à la rencontre.

Que signifie de toute façon "supprimer"?

EDIT: J'ai essayé de dessiner quelques points et de laisser les autres dessiner les lignes, mais il semble que cela pourrait m'aider à dessiner la ligne aussi. La sécurité implique toujours des compromis. Peu de gens comprennent suffisamment la sécurité pour choisir correctement le niveau de compromis. Pour ceux qui le peuvent, vous pouvez ensuite diviser les gens en trois catégories. Il y a une catégorie de personnes qui se soucient moins de la sécurité et qui détesteront un produit pour pousser plus de sécurité qu'elles ne le veulent au prix de l'utilisabilité. Il y a une catégorie de personnes qui sont plus concernées par la sécurité que vous et qui seront frustrées par le manque de sécurité du produit. Enfin, il y a une catégorie avec vous, qui est satisfaite de cet équilibre.

Si tout le monde a sa propre définition de ce qu'est "suffisamment sécurisé", obtenir les fichiers de suppression sécurisés "correctement" dès le début est plus difficile qu'il n'y paraît.

7
Cort Ammon

Pour la même raison que les collecteurs de déchets du monde réel ne déchirent pas tout avant de le jeter dans leur camion.

Il y a deux raisons principales pour lesquelles les gens peuvent se débarrasser d'objets ou d'informations:

  1. Ils souhaitent empêcher leur utilisation par quelqu'un d'autre (ou peut-être une ou des personnes spécifiques).

  2. Ils ne croient pas que les articles auraient une valeur suffisante pour quiconque pour justifier le coût de leur conservation ou de trouver quelqu'un à qui ils pourraient être utiles.

Ceux qui se débarrassent des choses pour la première raison devraient les détruire afin de les rendre inutilisables, mais pour ceux qui se débarrassent des choses pour la deuxième raison, il est préférable de minimiser le total des dépenses restantes associées aux articles en question. Étant donné que les ordinateurs génèrent beaucoup d'informations qui deviendront inutiles après un temps relativement court, et parce que - pour la plupart des ordinateurs - une grande partie des informations ne causeront vraisemblablement aucun dommage à quiconque si elles sont publiées, il y a dans de nombreux cas peu d'avantages à détruire délibérément des informations. Il suffit de garantir que tout espace occupé par les informations sera disponible pour être réutilisé si et quand le besoin s'en fait sentir.

6
supercat

En fait, vous gâchez deux différentes procédures: la suppression et l'effacement sécurisé . La première est juste une opération standard dépendante de FS, une opération déterminée et standardisée. Le second - l'essuyage sécurisé - a beaucoup d'approches, de degrés de protection sans effacement, de normes, etc. Pour cette raison, il est logiquement correct que si vous avez besoin de la deuxième catégorie, vous êtes responsable de sélectionner et d'activer un mécanisme approprié dans votre propre situation unique . Il n'y a pas de mise en œuvre commune et standardisée dans chaque cas/tâche/environnement pour un essuyage sécurisé.

4
Alexey Vesnin
Pourquoi les systèmes d'exploitation n'ont-ils pas supprimé les fichiers en toute sécurité dès le début?

Vous voulez dire depuis le début de la suppression ou depuis le début des systèmes d'exploitation? Les premiers systèmes d'exploitation essayaient de se concentrer sur les progrès technologiques comme le stockage de données sur des disques durs plutôt que sur des lecteurs de disquette ou des cartes perforées. Il n'était pas nécessaire que le système d'exploitation fasse quelque chose de spécial pour empêcher la récupération des données des lecteurs de disquette. (Désolé, juste avoir un peu de plaisir à fouiller la fiabilité des lecteurs de disquette là-bas.) À l'époque, la possibilité de "sauvegarder" était un gros problème. Faire la maintenance des fichiers, comme pouvoir "supprimer", pourrait être une option de menu enfouie et rarement utilisée. "Supprimer en toute sécurité" semblerait un non-sens pour les personnes qui pourraient simplement jeter le disque ou le graver en premier. Pourquoi utiliser le lecteur de disquette bruyant, qui avait des vitesses beaucoup plus faibles que celles auxquelles nous sommes habitués aujourd'hui, pour attendre une demi-minute ou plus juste afin qu'il puisse remplacer les zéros? Au jour où personne ne comprenait ce qu'était un "double clic", parce qu'ils n'avaient même pas de souris et donc ils ne faisaient même pas un seul clic, et ils pensaient que le "copier-coller" était une technologie super avancée, ils attiraient les gens même comprendre le but aurait été assez difficile.

Puis, lorsque les disques durs sont arrivés, les systèmes d'exploitation ont simplement fait la chose simple, qui est d'utiliser le même code informatique qui s'est avéré fiable pour les lecteurs de disquette.

Et c'est IS un problème important, ou il n'y aurait pas eu d'articles et d'histoires à ce sujet depuis environ 3 décennies maintenant.

En fait, cela peut être davantage une réflexion sur les objectifs du journalisme d'écrire des choses que les gens peuvent trouver intéressantes, ou cela peut être le résultat d'efforts éducatifs. Beaucoup de gens ne comprennent tout simplement pas que la suppression est plutôt non permanente, et il est bon pour les gens de comprendre les choses, donc l'éducation est une chose positive. Cela ne signifie pas que le comportement par défaut du logiciel doit être modifié.

Si certaines personnes estiment qu'il est important et devrait faire partie du système d'exploitation, pourquoi ne fait-il pas partie du système d'exploitation?

Parce que certaines personnes pensent que ce n'est pas important. Bien que l'essuyage puisse être beaucoup plus utile pour certaines personnes (qui sont, par tous les moyens, libres et bienvenues d'essuyer (au lieu de supprimer) si elles le souhaitent), différentes personnes peuvent avoir des priorités différentes. Pour ma part, je supprime des éléments afin d'avoir de l'espace disque disponible au lieu de l'espace disque utilisé, et accélère les actions qui affectent tous les fichiers (comme la copie de tout l'espace disque utilisé sur un disque dur), et donc je n'ai pas besoin pour voir les noms de fichiers d'anciens fichiers, et pour ne pas ouvrir accidentellement un ancien fichier lorsque je veux un nouveau fichier. La suppression est un moyen efficace de masquer les données indésirables (comme les anciennes données) du logiciel afin que le logiciel n'utilise pas ces données indésirables. Avant de commencer à sauvegarder les données de manière plus fiable, j'appréciais en fait la possibilité occasionnelle d'utiliser un logiciel de récupération qui pouvait "restaurer" les données. Comme d'autres l'ont exprimé, l'essuyage peut entraîner des ralentissements et une "usure" supplémentaires. Étant donné que mes ordinateurs n'ont pas été en présence de personnes qui pourraient m'inquiéter, fouiller dans mes données supprimées afin d'essayer d'apprendre quelque chose que j'espérais être secret, l'essuyage n'a jamais été une grande priorité pour moi. Avec tout cela à l'esprit, en réponse à votre dernière déclaration, "Faites juste la bonne chose", je pense que la suppression a été la "bonne chose" pour mes scénarios d'utilisation beaucoup plus fréquemment que ce que serait l'essuyage. Je pense que la principale raison simple, qui répond à bon nombre de vos questions, est qu'identifier quel comportement est la "bonne chose" pour la plupart des scénarios peut ne pas être aussi simple que vous le lui attribuez.

2
TOOGAM

Et pourquoi ne font-ils toujours pas cela?

Les autres réponses ont expliqué pourquoi cela n'avait pas été fait dans le passé (performances, attentes des utilisateurs, etc.), je vais donc simplement ajouter une note expliquant pourquoi cela ne se fait toujours pas maintenant. Un problème est que la suppression sécurisée n'est considérée que comme une solution de sécurité partielle: elle supprimera une copie du fichier, mais la plupart des applications modernes laisseront des traces importantes derrière - tampons d'historique (annulation), copies de sauvegarde, etc. - à partir desquelles les données peuvent être réunis. Il y a aussi le problème d'accès aux fichiers avant d'être supprimés (par exemple, vous alliez supprimer ce fichier en toute sécurité sur votre lecteur, mais quelqu'un a volé le lecteur avant que vous n'ayez la chance). Pour ces raisons, les systèmes d'exploitation modernes ont plutôt mis en œuvre un cryptage complet pour le stockage des utilisateurs, ce qui rend inutile la suppression sécurisée. Avec les données utilisateur chiffrées, même si le lecteur conserve l'image d'un fichier "supprimé", toutes les traces de ce fichier (et de tous les autres fichiers) sont cachées à un attaquant qui ne possède pas la clé de déchiffrement. Chrome OS, Android et iOS cryptent désormais tous les données utilisateur par défaut, donc, sur ces systèmes au moins, il n'est pas nécessaire de supprimer en toute sécurité les fichiers individuels.

2
bain

D'autres réponses sont bonnes et ont entièrement couvert la question sur le plan technique. Mais je pense qu'une autre réponse est demandée qui prend un point de vue différent du problème, car (à mon humble avis) cette question n'est pas vraiment technique (demander pourquoi quelque chose n'a pas été fait différemment est plus une décision commerciale que technique).

La question demande pourquoi le système d'exploitation ne supprime pas vraiment les données. Le fabricant de l'OS peut le faire faire ce qu'il veut. Il n'y a certainement aucune raison pour laquelle quelqu'un ne peut pas créer un système d'exploitation capable de supprimer les données. Mais pourquoi le feraient-ils? Essayez de retourner la question, pourquoi quelqu'un créerait-il un système d'exploitation qui supprime des données alors qu'il est facile de télécharger un utilitaire qui le fait pour vous? En outre, c'est généralement la philosophie selon laquelle les systèmes d'exploitation devraient être minimalistes et ne contenir que les fonctionnalités nécessaires au fonctionnement de l'ordinateur.

Je n'essaie pas d'être sévère avec ma réponse, ce que je dis, c'est que la question semble être posée du mauvais point de vue et qu'il manque des connaissances préliminaires.

1
Celeritas