it-swarm.com.de

Warum haben Betriebssysteme Dateien nicht von Anfang an sicher gelöscht? Und warum machen sie das immer noch nicht?

Nachdem ich jahrzehntelang gehört habe, dass "Löschen" die Wiederherstellung der Daten nicht wirklich unmöglich macht, muss ich fragen, WARUM das Betriebssystem vor langer Zeit nicht korrigiert wurde, um das zu tun, was es die ganze Zeit hätte tun sollen. Was ist die große Sache? Kann das System nicht einfach im Hintergrund überschreiben und was auch immer sonst noch passieren muss? Warum brauchen wir zusätzliche Dienstprogramme, um das zu tun, was wir immer gedacht haben? Was ist die Motivation von Betriebssystementwicklern, dieses Problem NICHT zu beheben?

ADDITION : Dies ist keine Technologiefrage, da es eindeutig IS möglich ist, Dinge sicher zu löschen, da sonst keine Tools dafür verfügbar wären. Es ist eine politische Frage: Wenn einige Leute der Meinung sind, dass dies wichtig ist und Teil des Betriebssystems sein sollte, warum ist es dann nicht Teil des Betriebssystems? Im Laufe der Jahre wurden den Betriebssystemen viele Dinge hinzugefügt, und dies könnte sicherlich eines davon sein. Und es IS ist ein wichtiges Thema, sonst hätte es seit etwa drei Jahrzehnten keine Artikel und Geschichten mehr darüber gegeben. Was ist mit der Trägheit? Mach einfach das Richtige.

88
user82913

Anstelle einer anderen Antwort "Sie liegen falsch, weil" möchte ich einen etwas anderen Ansatz wählen:

Frühe Computer-Betriebssysteme wurden von Programmierern für Programmierer geschrieben. Jeder, der programmiert und weiß, was Zeiger sind, versteht, dass das "Löschen" eines Zeigers nicht das löscht, auf das er zeigt: Sie sind getrennt.

Das bedeutet nicht, dass Löschen nicht wirklich löscht. Dieser Zeiger ist weg. Der Versuch, es nach dem "Löschen" zu verwenden (Speicher freigeben, Namen neu binden), kann dazu führen, dass schlimme Dinge passieren.

Aber die Geschichte schreitet voran, und jetzt sind Endbenutzer auf dem Bild, die ein anderes Konzept des Löschens haben (wie Sie selbst). Sie (und Sie) haben Erwartungen, die nicht unvernünftig sind (was auch immer in diesem Thread gesagt wird).

Löschen bedeutet jedoch niemals (für einen Computer), was Sie denken, dass es sollte: Es gibt sowohl technische (in anderen Antworten recht gut beschriebene) als auch soziale (45 Jahre Trägheit) Gründe.

Das moderne (und ich schließe * nix ein) Betriebssystem abstrahiert viele Dinge für Sie: Sie müssen nicht länger ein Computerexperte sein, um einen Computer zu besitzen/zu betreiben, so wie Sie kein Mechaniker mehr sein müssen, um/zu besitzen/ein Auto bedienen. Der Preis, den Sie zahlen, ist, dass diese Abstraktionen ndicht sind: Es gibt eine grundlegende Trennung, die niemals ganz überbrückt werden kann. Ein Computer "Dokument" ist nicht wirklich ein Dokument, ein "Desktop" ist kein Desktop, ein "Fenster" ist kein Fenster usw.

108
Jared Smith

Aus folgenden Gründen:

  • Leistung - Es beansprucht Ressourcen, die Dateien zerstören. Stellen Sie sich eine Anwendung vor, die Hunderte oder Tausende von Dateien verwendet. Es wäre eine große Operation, jeden einzelnen sicher zu löschen.
  • Zusätzlicher Verschleiß an den Laufwerken.
  • Manchmal ist das Abrufen einer Datei eine Funktion des Betriebssystems (z. B. Papierkorb, Papierkorb, Volume Shadow Copy).
  • Wie von Xander festgestellt, wird der physische Speichermechanismus manchmal vom Betriebssystem abstrahiert (z. B. SSDs oder Netzwerklaufwerke).
248
SilverlightFox

Es muss nicht korrigiert werden, da es kein Fehler ist.

Die Zeiger auf die Datei werden gelöscht, und der Bereich, in dem sich die Datei befindet, wird als freier Speicherplatz markiert. Das Laufwerk überschreibt dann diesen Bereich in seiner eigenen Zeit. Es ist nur da, um Verschleiß am Laufwerk zu sparen. Schließlich haben Speichergeräte (insbesondere SSDs) eine begrenzte Anzahl von Schreibvorgängen, bevor sie ausfallen. Die meisten Benutzer würden es nicht begrüßen, wenn ihr Laufwerk nach 6 Monaten ausfällt.

Es gibt sichere Lösungen mit Tools, mit denen freier Speicherplatz auf einer Festplatte sicher gelöscht werden kann.

96
Virtual Anomaly

Sie scheinen ein Wortlautproblem mit dem Begriff delete Und eine falsche Erwartung darüber zu haben, was die Funktionalität tun soll.

Sie können die einfache Definition auf der Merriam-Webster-Website überprüfen:

löschen: Entfernen (etwas wie Wörter, Bilder oder Computerdateien) aus einem Dokument, einer Aufzeichnung, einem Computer, usw.

Ziel der Löschfunktion ist es, die ausgewählten Objekte von ihrem aktuellen Standort zu entfernen. Sie können an einen anderen temporären Ort (den Papierkorb) verschoben werden, um einen versehentlichen Verlust zu vermeiden, oder der von ihnen belegte Platz kann direkt als frei markiert werden.

Vergleichen Sie dies mit der Definition von löschen zum Beispiel:

löschen: Entfernen (etwas, das aufgezeichnet wurde) von einem Band (z. B. einem Videoband oder Audioband) oder einem Computer Platte; auch: um aufgenommenes Material von (einem Band oder einer Diskette) zu entfernen)

: durch Reiben oder Schaben entfernen (etwas Geschriebenes), damit es nicht mehr sichtbar ist

: um etwas zu entfernen, das von (einer Oberfläche) geschrieben wurde

Dieser geht wirklich auf eine niedrigere Ebene, hier entfernen wir nicht nur die Datei aus dem Ordner, wir entfernen die Daten der Datei von der Festplatte, und in dieser Subtilität liegt der Unterschied.

Erase ist das Wort, auf das Sie in der Windows-Welt am häufigsten stoßen. In der Unix-Welt können Sie auf wipe stoßen, das stattdessen den Prozess aus technischer Sicht beschreibt. Aussicht:

abwischen: zum Reinigen oder Trocknen (etwas) mit einem Handtuch, Ihrer Hand usw.

: durch Reiben (etwas) entfernen

: (etwas) über eine Oberfläche bewegen

Warum tun die Betriebssysteme dies nicht standardmäßig? Aus mehreren Gründen:

  • Gewöhnliche Heimanwender benötigen eine solche Funktion nicht. Sie müssen lediglich eine Datei einfach aus einem Ordner entfernen oder bei externen Laufwerken sicherstellen, dass sie vollständig bereinigt wird ("langsames" Format für Laien). Sie müssen selten eine einzelne bestimmte Datei löschen.

  • Gewöhnliche Heimanwender haben eine solche Funktion eigentlich nicht wollen. Sie werden sehen, dass die Datei standardmäßig nicht nur nicht gelöscht, sondern auch nicht wirklich gelöscht wird. Stattdessen wird sie in den Papierkorb verschoben, da Heimanwender erwarten, dass ihr Betriebssystem sie im Falle einer falschen Manipulation speichern kann. Sie müssen häufig eine bestimmte Tastenkombination (Umschalt + Entf) verwenden, um eine Datei zu löschen, ohne den Papierkorb zu durchsuchen.

  • Schließlich ist eine solche Option möglicherweise nicht einfach oder gar nicht zu implementieren. Die technologische Entwicklung hat Ihren tatsächlichen Daten mehrere logische und physikalische Ebenen hinzugefügt:

    • Einige Betriebssysteme erstellen regelmäßig Snapshots des Dateisysteminhalts. In diesem Fall ist Ihre Datei möglicherweise in einem oder mehreren dieser Snapshots enthalten. In einem solchen Zustand kann es kompliziert werden, das ordnungsgemäße Löschen von Dateien sicherzustellen, ohne die Integrität der Snapshots zu gefährden.

    • Wie in anderen Antworten und Kommentaren erwähnt, gibt es zur Verlängerung der Lebensdauer des Speichergeräts eine Abstraktionsebene zwischen dem tatsächlichen Speicher und der Sichtweise des Betriebssystems. In diesem Fall kann das Betriebssystem zwar sein Bestes tun, um sicherzustellen, dass die Daten der Datei auf Dateisystemebene gelöscht werden, es kann jedoch nicht sichergestellt werden, dass sie auf Speicherebene effektiv gelöscht wurden.

Auf der einen Seite haben Sie das Betriebssystem, das in Bezug auf Dateien Gründe hat (zur Vereinfachung), sich aber nicht wirklich um den Bytespeicher kümmert, auf der anderen Seite haben Sie die Firmware des Speichergeräts, die in Bezug auf Bytes begründet, aber nichts über die Dateien weiß und wie das Dateisystem tatsächlich eingestellt ist.

Bedeutet dies also, dass alles verloren geht und wir auf eine unwahrscheinliche Zukunft warten müssen, um uns ein Dateisystem zu bringen, das nativ in der Firmware des Speichergeräts implementiert ist? Nein, aber was Sie tun sollten, hängt von Ihrem tatsächlichen Anliegen ab:

  • Wenn Sie Bedenken hinsichtlich der Daten auf Dateisystemebene haben, steht Ihnen Software von Drittanbietern zur Verfügung, mit der Sie Ihren Kontextmenüs eine neue Lösch-/Löschoption hinzufügen können. Sie müssen jedoch manuell sicherstellen, dass Kopien dieser Dateien in keinem Dateisystem-Snapshot und -Sicherungsprogramm vorhanden sind, da dies eine Einzelfallentscheidung erfordert, die das Betriebssystem nicht für Sie durchführen kann (Sie möchten den Radiergummi-Assistenten Ihres Betriebssystems nicht um Ihr Backup zu verschrauben oder um Ihnen zu helfen, oder?).

  • Wenn Sie Bedenken hinsichtlich der physisch auf Ihrem Speichergerät gespeicherten Daten haben, verwenden Sie die Dateisystemverschlüsselung. Dadurch wird sichergestellt, dass potenzielle "undichte" Daten aufgrund von Verschleißausgleich und schlechter Blockhandhabung nicht von Personen ausgenutzt werden können, die Ihr Speichergerät in die Hände bekommen.

75
WhiteWinterWolf

Aus Leistungsgründen. Das Löschen der Datei aus dem Index und das Deklarieren, dass die Zone, in der sich die Datei befand, jetzt frei ist und wiederverwendet werden kann, ist weitaus effizienter als das Löschen aller Daten in dieser Zone.

11
Benoit Esnard

Nicht jeder stimmt Ihrer Definition zu, was "Löschen" bedeuten soll.

Für 99,9% der Benutzer sind sie nicht besorgt darüber, dass jemand herumschnüffelt, um Daten zu erhalten. Sie wollen Platz für mehr Torrent-Teletubbies-Episoden. Für die meisten Menschen reicht es aus, den Speicherplatz für die Datei einfach nicht mehr reserviert zu haben.

Dann gibt es die Gruppe von Personen, zu denen Sie gehören und die möchten, dass die Datei gelöscht wird, damit sie nicht wiederhergestellt werden kann. Haben Sie jedoch die zwischengespeicherten Kopien der Datei, die sich möglicherweise an anderer Stelle auf Ihrer Festplatte befinden, richtig berücksichtigt? Es kann tatsächlich schwierig sein, sicherzustellen, dass etwas vollständig gelöscht wird. Für jemanden, der eine solche Funktion wünscht, haben Sie möglicherweise bereits die Sicherheitsfragen ausgewogen, aber glauben Sie, dass die 99,9% dies getan haben?

Betrachten Sie schließlich diejenigen, denen es wirklich wichtig ist, ihre Geheimnisse zu löschen. Der Standardprozess der Regierung besteht darin, die Festplatten in eine Mühle zu werfen. Warum? Wussten Sie, dass beim Löschen der Datei einige der magnetischen Eigenschaften der Festplatte Ihre Daten zugänglich machen? Der normale Festplattenkopf kann nicht darauf zugreifen, aber nehmen Sie den Plattenteller heraus und legen Sie ihn in einen teuren Magnetleser, damit er tatsächlich Daten abrufen kann.

Wenn die Regierung die Festplatte wiederverwenden möchte, ist der Standardprozess ein 7-facher Löschvorgang, bei dem Sie sieben Mal auf jeden Sektor der Festplatte schreiben. Sie benutzen normalerweise nur die Mühle, weil dieser Prozess so mechanisch intensiv ist, dass die meisten Scheiben die Begegnung nicht einmal überleben.

Was bedeutet "Löschen" überhaupt?

EDIT: Ich habe versucht, ein paar Punkte zu zeichnen und andere die Linien zeichnen zu lassen, aber es sieht so aus, als könnte es mir helfen, die Linie auch zu zeichnen. Sicherheit beinhaltet immer Kompromisse. Nur wenige Menschen verstehen die Sicherheit gut genug, um das Maß an Kompromissen richtig zu bestimmen. Für diejenigen, die können, können Sie dann Menschen in drei Kategorien einteilen. Es gibt eine Kategorie von Menschen, die sich weniger mit Sicherheit befassen und ein Produkt dafür hassen, mehr Sicherheit zu bieten, als sie zum Preis der Benutzerfreundlichkeit wollen. Es gibt eine Kategorie von Personen, die sich mehr mit Sicherheit befassen als Sie und mit dem Mangel an Sicherheit im Produkt frustriert sind. Schließlich gibt es eine Kategorie bei Ihnen, die mit dieser Balance zufrieden ist.

Wenn jeder seine eigene Definition von "sicher genug" hat, ist es schwieriger, die sicheren Löschdateien von Anfang an "richtig" zu machen, als es sich anhört.

7
Cort Ammon

Aus dem gleichen Grund wie echte Müllsammler zerkleinern sie nicht alles, bevor sie es in ihren LKW werfen.

Es gibt zwei Hauptgründe, warum Menschen Objekte oder Informationen loswerden können:

  1. Sie möchten verhindern, dass andere Personen (oder möglicherweise eine bestimmte Person oder Personen) sie verwenden.

  2. Sie glauben nicht, dass die Gegenstände für irgendjemanden einen ausreichenden Wert haben würden, um die Kosten für die Aufbewahrung oder die Suche nach jemandem zu rechtfertigen, für den sie nützlich sein könnten.

Diejenigen, die Dinge aus dem ersten Grund loswerden, sollten sie zerstören, um sie unbrauchbar zu machen. Für diejenigen, die Dinge aus dem zweiten Grund loswerden, ist es vorzuziehen, die verbleibenden Gesamtkosten für die betreffenden Gegenstände zu minimieren. Da Computer viele Informationen generieren, die nach relativ kurzer Zeit unbrauchbar werden, und weil - für die meisten Computer - viele der Informationen bei Veröffentlichung wahrscheinlich keinen Schaden anrichten, ist dies in vielen Fällen von geringem Nutzen Informationen absichtlich zerstören. Es reicht aus, sicherzustellen, dass jeder Platz, den die Informationen belegt hatten, bei Bedarf zur Wiederverwendung zur Verfügung steht.

6
supercat

Eigentlich vermasseln Sie zwei verschiedene Prozeduren: das Löschen und das sichere Löschen . Die erste ist nur eine Standard FS-abhängige Operation, eine bestimmte und standardisierte Eins. Das zweite - das sichere Löschen - hat viele Ansätze, Schutzstufen, Standards usw. Aufgrund dieser Tatsache ist es logisch korrekt, dass Sie, wenn Sie die zweite Kategorie von einem benötigen sind dafür verantwortlich, einen Mechanismus auszuwählen und zu aktivieren, der für Ihre ganz eigene Situation geeignet ist . Es gibt keine gemeinsame und standardisierte Implementierung für sicheres Löschen in jedem Fall/jeder Aufgabe/Umgebung.

4
Alexey Vesnin
Warum haben Betriebssysteme Dateien nicht von Anfang an sicher gelöscht?

Sie meinen vom Beginn des Löschens oder vom Beginn der Betriebssysteme? Frühe Betriebssysteme versuchten, sich auf technologische Fortschritte wie das Speichern von Dingen auf Festplatten anstatt auf Diskettenlaufwerke oder Lochkarten zu konzentrieren. Das Betriebssystem musste keine besonderen Maßnahmen ergreifen, um das Abrufen von Daten von Diskettenlaufwerken zu verhindern. (Tut mir leid, ich habe nur ein bisschen Spaß daran gehabt, die Zuverlässigkeit der Diskettenlaufwerke dort zu untersuchen.) Damals war die Fähigkeit zum "Speichern" eine große Sache. Die Pflege von Dateien, wie das "Löschen", ist möglicherweise eine vergrabene und selten verwendete Menüoption. "Sicheres Löschen" erscheint Leuten, die die Festplatte einfach wegwerfen oder zuerst brennen könnten, als Unsinn. Warum sollten Sie das laute Diskettenlaufwerk verwenden, das viel niedrigere Geschwindigkeiten hatte als wir es heute gewohnt sind, um eine halbe Minute oder länger zu warten, nur um Einsen mit Nullen zu überschreiben? An dem Tag, an dem niemand verstand, was ein "Doppelklick" ist, weil sie nicht einmal eine Maus hatten und deshalb nicht einmal einen einzigen Klick machten und sie dachten, dass "Kopieren und Einfügen" eine hochentwickelte Technologie sei, bekamen sie Leute den Zweck überhaupt zu verstehen, wäre eine ziemliche Herausforderung gewesen.

Als dann harte Rives kamen, machten die Betriebssysteme einfach das Unkomplizierte, nämlich denselben Computercode zu verwenden, der sich für Diskettenlaufwerke als zuverlässig erwiesen hat.

Und es IS ist ein wichtiges Thema, sonst hätte es seit etwa drei Jahrzehnten keine Artikel und Geschichten mehr darüber gegeben.

Tatsächlich ist dies möglicherweise eher eine Reflexion über die Ziele des Journalismus, Dinge zu schreiben, die für die Menschen interessant sein könnten, oder es kann das Ergebnis von Bildungsbemühungen sein. Viele Leute verstehen einfach nicht, dass das Löschen nicht dauerhaft ist, und es ist gut für die Leute, Dinge zu verstehen, also ist Bildung eine positive Sache. Dies bedeutet nicht, dass das Standardverhalten von Softare geändert werden sollte.

Wenn einige Leute der Meinung sind, dass dies wichtig ist und Teil des Betriebssystems sein sollte, warum ist es dann nicht Teil des Betriebssystems?

Weil manche Leute das Gefühl haben, dass es nicht wichtig ist. Obwohl das Löschen für einige Personen viel nützlicher sein kann (die auf jeden Fall kostenlos sind und gerne löschen (anstatt zu löschen), wenn sie dies wünschen), haben unterschiedliche Personen möglicherweise unterschiedliche Prioritäten. Zum einen lösche ich Inhalte, damit mir anstelle des verwendeten Speicherplatzes verfügbarer Speicherplatz zur Verfügung steht, und beschleunige Aktionen, die sich auf alle Dateien auswirken (z. B. das Kopieren des gesamten verwendeten Speicherplatzes auf eine Festplatte) um Dateinamen alter Dateien anzuzeigen und damit ich nicht versehentlich eine alte Datei öffne, wenn ich eine neue Datei möchte. Das Löschen ist eine effektive Methode, um unerwünschte Daten (wie alte Daten) vor Software zu verbergen, damit Software diese unerwünschten Daten nicht verwendet. Bevor ich anfing, Daten zuverlässiger zu sichern, schätzte ich die gelegentliche Möglichkeit, Wiederherstellungssoftware zu verwenden, die Daten "wiederherstellen" könnte. Wie andere gesagt haben, kann das Abwischen zusätzliche Verlangsamungen und zusätzlichen "Verschleiß" verursachen. Da sich meine Computer nicht in der Nähe von Personen befanden, von denen ich betroffen bin, können sie meine gelöschten Daten durchsuchen, um zu versuchen, etwas zu lernen, von dem ich gehofft hatte, dass es geheim ist. Das Löschen war für mich nie eine große Priorität. Vor diesem Hintergrund denke ich, dass das Löschen als Antwort auf Ihre letzte Aussage „Mach einfach das Richtige“ für meine Nutzungsszenarien weitaus häufiger das „Richtige“ war als das Löschen. Ich denke, der größte einfache Grund, der viele Ihrer Fragen beantwortet, ist, dass es möglicherweise nicht ganz so einfach ist, festzustellen, welches Verhalten für die meisten Szenarien das „Richtige“ ist, wie Sie es glauben.

2
TOOGAM

Und warum machen sie das immer noch nicht?

Die anderen Antworten haben geantwortet, warum es in der Vergangenheit nicht gemacht wurde (Leistung, Benutzererwartungen usw.), daher werde ich nur einen Hinweis hinzufügen, warum es jetzt noch nicht gemacht wird. Ein Problem besteht darin, dass das sichere Löschen nur als teilweise Sicherheitslösung betrachtet wird: Es wird eine Kopie der Datei gelöscht, aber die meisten modernen Anwendungen hinterlassen erhebliche Spuren - Verlaufspuffer (Rückgängig), Sicherungskopien usw. - aus denen Daten stammen können versammelt. Es gibt auch das Problem, dass auf Dateien zugegriffen wird, bevor sie gelöscht werden (z. B. wollten Sie diese Datei auf Ihrem Laufwerk sicher löschen, aber jemand hat das Laufwerk gestohlen, bevor Sie eine Chance hatten). Aus diesen Gründen haben moderne Betriebssysteme stattdessen eine vollständige Verschlüsselung für den Benutzerspeicher implementiert, wodurch ein sicheres Löschen unnötig wird. Bei verschlüsselten Benutzerdaten werden alle Spuren dieser Datei (und jeder anderen Datei) für einen Angreifer ausgeblendet, der nicht über den Entschlüsselungsschlüssel verfügt, obwohl das Laufwerk das Image einer "gelöschten" Datei beibehält. Chrome OS, Android und iOS verschlüsseln jetzt standardmäßig Benutzerdaten, sodass zumindest auf diesen Systemen nur wenige Dateien sicher gelöscht werden müssen.

2
bain

Andere Antworten sind gut und haben die Frage auf technischer Ebene vollständig abgedeckt. Ich denke jedoch, dass eine andere Antwort veranlasst wird, die das Problem anders betrachtet, da (IMHO) diese Frage nicht wirklich eine technische Frage ist (die Frage, warum etwas nicht anders gemacht wurde, ist eher eine geschäftliche als eine technische Entscheidung).

Die Frage fragt, warum das Betriebssystem die Daten nicht wirklich löscht. Der Hersteller des Betriebssystems kann es tun lassen, was er will. Es gibt sicherlich keinen Grund, warum jemand kein Betriebssystem erstellen kann, das die Daten löschen kann. Aber warum sollten sie? Versuchen Sie, die Frage umzudrehen, warum jemand ein Betriebssystem erstellen sollte, das Daten löscht, wenn es einfach ist, ein Dienstprogramm herunterzuladen, das dies für Sie erledigt. Außerdem ist es normalerweise die Philosophie, dass Betriebssysteme minimalistisch sein und nur Funktionen enthalten sollten, die für den Betrieb des Computers erforderlich sind.

Ich versuche nicht, mit meiner Antwort hart umzugehen. Ich sage, die Frage scheint aus der falschen Perspektive gestellt zu werden, und es fehlen vorläufige Erkenntnisse.

1
Celeritas