Frage:
Warum haben Betriebssysteme Dateien nicht von Anfang an sicher gelöscht? Und warum machen sie das immer noch nicht?
user82913
2016-01-15 20:19:29 UTC
view on stackexchange narkive permalink

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?

ZUSATZ: Dies ist keine Technologiefrage, da es eindeutig möglich ist, Dinge sicher zu löschen, oder es würde keine Werkzeuge zur Verfügung stehen, um es zu tun. 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 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.

Kommentare sind nicht für eine ausführliche Diskussion gedacht. Diese Konversation wurde [in den Chat verschoben] (http://chat.stackexchange.com/rooms/34360/discussion-on-question-by-no-comprende-why-didnt-oses-securely-delete-files-rig) .
Weil es teuer ist und die meisten Leute sich nicht darum kümmern. Auch die meisten Informationen sind nicht geheim oder so.
Elf antworten:
SilverlightFox
2016-01-15 20:29:35 UTC
view on stackexchange narkive permalink

Aus folgenden Gründen:

  • Leistung - Es werden Ressourcen beansprucht, die Dateien zerstören. Stellen Sie sich eine Anwendung vor, die Hunderte oder Tausende von Dateien verwendet. Es wäre ein großer Vorgang, jedes Laufwerk sicher zu löschen.
  • Zusätzlicher Verschleiß der Laufwerke.
  • 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).
+1 Ich möchte hinzufügen, dass die mangelnde Besorgnis der meisten Benutzer darüber, ob ihre Dateien sicher gelöscht werden oder nicht, ebenfalls ein wahrscheinlicher Faktor ist. Wenn 95% der Benutzer nach einem universellen sicheren Löschen verlangen, ist dies eher eine Funktion, und die von Ihnen erwähnten Probleme werden auf die eine oder andere Weise verwaltet (möglicherweise nur aufgrund unterschiedlicher Benutzererwartungen).
Diese Performance-Sache - lange vor den SSDs, wenn Betriebssysteme "am Anfang" stehen - denken Sie nur an die herausragende Leistung, Material von diesem [Neun-Spur-Band] sicher zu löschen (https://en.wikipedia.org/wiki/9_track_tape) ). Oder für diese 140k Disketten. Möchten Sie eine Diskette sicher löschen? Verschieben Sie das Material, das Sie nicht löschen möchten, auf eine andere Diskette und zerstören Sie das Original. Einfacher als das Hinzufügen weiterer Routinen zu Applesoft DOS 3.3.
Außerdem: Wenn Sie etwas sicher löschen möchten, müssen Sie es auch aus all Ihren Backups löschen. (Sie haben Backups, richtig?) Das sichere Löschen ist standardmäßig eine reine Zeitverschwendung, da Benutzer nur dann darauf achten, Dinge aus ihren Backups zu löschen, wenn sie tatsächlich benötigt werden.
@MichaelT Guter Punkt. Sie können das immer noch tun - speichern Sie Ihre Sachen einfach auf einem USB-Stick.
@PeterCordes Wenn Sie ein Backup wünschen, können Sie sogar zwei USB-Laufwerke haben.
Die betroffenen Benutzer möchten wahrscheinlich auch, dass ihre Dateien zu Beginn verschlüsselt werden. Dies ist in den meisten Fällen eine viel bessere Alternative und * ist * das Merkmal einiger Betriebssysteme.
Das sichere Löschen hat keine Auswirkungen auf die Leistung, wenn der Speicher verschlüsselt ist. Sie löschen nur sicher den Schlüssel, bei dem es sich um eine O (1) -Operation anstelle von O (n) handelt.
@R .. * Iff * Der Teil des Speichers, der sicher gelöscht werden soll, hat einen separaten Schlüssel.
@MichaelKjörling: In der Tat erfordert dieses Design ein Dateisystem mit Schlüsseln pro Datei, die im Inode oder einem gleichwertigen Format für die Datei gespeichert sind.
Es gibt auch funktionierende Lösungen für das sichere Löschen / Verwürfeln von Laufwerken außerhalb der Echtzeit, wenn Benutzer ihre Laufwerke entfernen. Ich würde mir vorstellen, dass sie 80% der Anwendungsfälle für das sichere Löschen abdecken. Für die anderen 20% (Diebstahl, Beschlagnahme durch die Regierung usw.) gibt es eine Festplattenverschlüsselung.
Das sichere Löschen eines Diskettenstapels mit einem tragbaren Entmagnetisierer dauerte Sekunden.
In den Tagen von DOS (vor dem Aufkommen von Papierkörben und dergleichen) war die Tatsache, dass das Löschen nicht dauerhaft war, definitiv ein Merkmal. Der Befehl "Wiederherstellen" hat meinen Arsch mehr als einmal gerettet.
@R - In diesem Fall besteht der Leistungsaufwand in der Verschlüsselung des gesamten Speichers (der Disk-Swap-Dateien enthalten müsste, wenn die Leistung sehr wichtig ist). Und das lässt immer noch die Möglichkeit, den Schlüssel wiederherzustellen und die Daten darauf basierend zu extrahieren (ein vollständiges Löschen, um vor speziellen Wiederherstellungsmethoden sicher zu sein, würde ein wiederholtes Schreiben in den Speicher erfordern, der den Schlüssel enthält - und ein einmaliges Überschreiben auf einem magnetischen Speicher könnte immer noch lesbar bleiben Aufzeichnung).
@James_pic Undelete ist im Vergleich zu King: Novell Netware ein Kinderspiel. Sie hatten keinen "Papierkorb" - das Laufwerk ** war ** der Papierkorb. Wenn eine Datei gelöscht wurde, wurde sie einfach als gelöscht markiert und der Speicherplatz als Teil des freien Speicherplatzes auf dem Laufwerk gezählt. Dateien verschwanden eigentlich nur, als sie die älteste gelöschte Datei auf dem Laufwerk waren und das Betriebssystem den Speicherplatz benötigte. Mehr Aufbewahrung als im Papierkorb, und Sie hatten nicht das Problem, dass die Dateien im Papierkorb Speicherplatz beanspruchen.
Ich denke, es (sicheres Löschen) sollte zumindest als Option bereitgestellt werden, es muss nicht einmal Standard sein.
Jared Smith
2016-01-15 22:14:29 UTC
view on stackexchange narkive permalink

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 das Löschen nicht tatsächlich 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 Endbenutzer, die ein anderes Konzept zum Löschen haben (wie selbst) sind auf dem Bild. Sie (und Sie) haben Erwartungen, die nicht unangemessen sind (was auch immer in diesem Thread gesagt wird).

Aber Löschen bedeutet (für einen Computer) niemals, was Sie denken sollte: Es gibt sowohl technische (in anderen Antworten ausführlich 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 kein Computerexperte mehr sein, um einen Computer zu besitzen / zu betreiben, genauso wie Sie kein Mechaniker mehr sein müssen, um ein Auto zu besitzen / zu betreiben. Der Preis, den Sie zahlen, ist, dass diese Abstraktionen undicht 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.

+1 Computer waren ursprünglich nicht für Laien gedacht.
+1, weil es letztendlich darauf ankommt, "wie es in der Vergangenheit gemacht wurde und in der Vergangenheit hatten sie unterschiedliche Prioritäten".
@Insane kein Abwärtswähler; Wenn ich jedoch Einwände gegen irgendetwas erheben würde, würde ich ignorieren, dass sicheres Löschen nicht mit einer Funktion kompatibel ist, die normale Benutzer viel häufiger benötigen (und auf die in anderen Antworten hingewiesen wird): In der Lage zu sein, versehentlich gelöschtes Objekt wiederherzustellen.
@DanNeely Ich ignoriere es nicht, die anderen Antworten betrafen bereits diesen Rasen (sowie die Leistungsüberlegungen, die ihn unpraktisch machen). Ich konzentriere mich nur auf den Teil, den sonst niemand getan hat: Diese Metaphern, die wir beim Rechnen verwenden, sind fehlerhaft und möglicherweise verwirrend. Das "Löschen" einer digitalen Datei ist nicht dasselbe wie das "Löschen" einer echten Papierdatei, da die Terminologie eine Dissonanz aufweist: Die beiden Fälle sind nicht ausreichend analog. Das ist nicht unbedingt eine Kritik (wir müssen diese Dinge * etwas * nennen), sondern nur eine Beobachtung.
Und der sichere Löschvorgang, den viele Tools ausführen, funktioniert auf SSDs und anderen Flash-basierten Geräten nicht. Die in die Geräte eingebetteten Mikrocontroller entscheiden, wo die Daten geschrieben werden, um die Auslastung / den Verschleiß der Speicherzellen auszugleichen und die Lebensdauer des Geräts zu verlängern. Ein sicheres Löschen (z. B. "Shred") würde die Datei (en) also nicht wirklich zerstören.
Das Entfernen eines Zeigers auf etwas kann eine konstante Zeitoperation sein. Das Nullstellen gelöschter Daten liegt in der Größenordnung der Datenlänge. Aus diesem Grund erzwingen viele Sprachen auch nicht das Nullstellen der zugewiesenen Daten. Es ist faul, es nicht zu tun, aber es ist kein kleiner oder sogar konstanter Leistungsfaktor.
@Rob Nun, fairerweise könnte ein Betriebssystem, das zum sicheren Löschen von Objekten entwickelt wurde, das sichere Löschen für einen späteren Zeitpunkt verschieben und im Hintergrund ausführen, anstatt alle Ihre E / A sofort zu verbrauchen, als ob Sie sich entschieden hätten, eine große Datei zu kopieren.
Sicherheit war in der Vergangenheit ein derart nachträglicher Gedanke, dass alte Windows-Betriebssysteme (oder zumindest MS-DOS) den Speicherplatz im Dateisystemsektor zufällig mit ** Inhalten aus dem Speicher ** füllen würden, anstatt ihn auf Null zu setzen oder eine andere Konstante zu schreiben.Die Tatsache, dass niemand aufstand und sagte "das klingt nicht nach einer sicheren Idee", zeigt nur, wie sehr eine nachträgliche Sicherheit wirklich war.
Virtual Anomaly
2016-01-15 21:12:24 UTC
view on stackexchange narkive permalink

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, bis sie schreiben können, 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.

+1, aber die Idee, dass ein normaler Benutzer die Verschleißgrenze einer SSD * erreichen * kann, ist veraltet. Siehe [diesen Artikel] (https://techreport.com/review/27909/the-ssd-endurance-experiment-theyre-all-dead). Diese 250-GB-SSDs wurden immer noch mit 1 * Petabyte * (4000-fache Kapazität des Laufwerks) transportiert.
Dies ist ein guter Punkt. Wenn jedoch Dateien jedes Mal sicher gelöscht wurden (mit 1 oder mehr Schreibvorgängen über den gesamten Speicherort), besteht zumindest eine höhere Wahrscheinlichkeit eines Festplattenausfalls.
Richtig, aber wie @Cruncher sagte, war die Vorstellung, dass SSDs früher ausfallen als HDDs, wahr, wird aber schnell zu einem Missverständnis.
Ich habe 2013 eine Maschine mit 256 GB SSD OS-Drive bekommen und ein Jahr später zeigte sie S.M.A.R.T. Warnungen, dass es sterben würde. Ich habe einen Ersatz bekommen und ein Jahr später neue SMART-Warnungen über 3% verbleibende Laufwerkslebensdauer und ich habe * einen weiteren * Ersatz bekommen. Vielleicht mein Verhalten, die SSD auf 95% Kapazität zu halten und jeden Tag mehr als 20 GB Programme im RAM zu halten, auf einem ständig aktiven Webserver zu laufen und gegen meine Dateisynchronisierungssoftware zu kämpfen, die dabei abstürzt Tausende von Dateien konnten nicht synchronisiert werden. Es ist nicht unmöglich, die Verschleißgrenze moderner SSDs zu erreichen.
Über die Frage, ob das Laufwerk abgenutzt sein würde ... Muss das Betriebssystem den Dateiinhalt nicht auf Null setzen, bevor eine neue Datei über der alten erstellt wird? Ich sehe nicht, wie sich "Wipe on Delete" in Bezug auf Verschleiß wirklich von "Wipe on Create" unterscheidet. Es scheint eine ** Leistungsoptimierung ** zu sein, um das Löschen schnell zu machen und den Inhalt im Hintergrund zu löschen, aber es scheint, als könnte das Betriebssystem diese Hintergrundaufgabe zweckmäßigerweise ausführen, anstatt sie zu verzögern.
@CarlWalsh nein, das Betriebssystem muss vor dem Erstellen einer neuen Datei nichts auf Null setzen. Jeder Block der neuen Datei kann (und wird) einfach über einen derzeit nicht verwendeten Block geschrieben werden, unabhängig davon, ob er "frisch" ist oder zuvor Teil einer anderen Datei war.
@CarlWalsh No; Das Betriebssystem und / oder Dateisystem mit Copy-on-Write muss nur die ** Illusion ** vermitteln, dass ein frisch zugewiesener Block einen bestimmten Wert hat. Ähnlich wie `calloc ()` erst dann Speicher zuweisen und löschen muss, wenn es tatsächlich verwendet wird, könnte ein Dateisystem so tun, als wäre der Inhalt Null, bis Sie darauf schreiben.
@MikeOunsworth Der einzige Grund, der der Fall ist, ist die Verschleißnivellierung. Wenn Daten sofort sicher gelöscht werden müssten, würde dies Schreibvorgänge um ein Vielfaches vervielfachen und die Verschleißnivellierung unwirksam machen.
@CarlWalsh: Günstige Flash-Chips sind in große Blöcke mit 1024 oder mehr Seiten unterteilt (was das Betriebssystem als Sektoren betrachtet). Es gibt keine Möglichkeit, eine nicht leere Seite zu ändern, außer indem der gesamte Block gelöscht wird, auf dem sie enthalten ist. Daher muss ein Laufwerk, das den Befehl "Sektorschreiben" des Betriebssystems empfängt, eine leere Seite finden, die neuen Daten dort schreiben und einen Index aktualisieren, um anzugeben, wo die neuen Daten gefunden werden können. Wenn leere Seiten knapp werden, findet das Laufwerk einen Block mit möglichst vielen toten (abgelösten) Seiten, kopiert die Live-Seiten von diesem Block an eine andere Stelle und ...
... den Block löschen, sobald alles an einen anderen Ort verschoben wurde. Wenn ein Block 992 Live-Seiten und 32 tote Seiten hat, müssen zum Löschen dieser 32 toten Seiten 992 Live-Seiten an eine andere Stelle kopiert werden. Es gibt möglicherweise keinen Grund, dies zu tun, bis der Antrieb zu 95% voll ist, es sei denn, das System beschließt, den Block zum Zwecke der Verschleißnivellierung wiederzuverwenden.
WhiteWinterWolf
2016-01-15 21:53:02 UTC
view on stackexchange narkive permalink

Sie haben anscheinend ein Wortlautproblem mit dem Begriff delete und eine falsche Erwartung, was die Funktionalität bewirken soll.

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

löschen : Entfernen (z. B. Wörter, Bilder oder Computerdateien) aus einem Dokument, einer Aufzeichnung oder 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 Speicherplatz 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 eine Computerplatte; auch: um aufgenommenes Material von (einem Band oder einer Diskette) zu entfernen

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

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

Diese 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 Diese Subtilität macht den Unterschied aus.

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

wischen : Reinigen oder Trocknen (etwas) mit einem Handtuch, Ihre Hand usw.

: Entfernen (etwas) durch Reiben

: Bewegen (etwas) über eine Oberfläche

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

  • Gewöhnliche Heimanwender benötigen eine solche Funktion nicht. Sie müssen lediglich eine Datei 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 möchten diese Funktion tatsächlich nicht . 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 verwenden (Umschalt + Entf-Option), um eine Datei zu löschen, ohne den Papierkorb zu durchsuchen.

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

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

    • Wie in anderen Antworten und Kommentaren erwähnt, gibt es 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 (zur Vereinfachung) Gründe hat, sich aber nicht wirklich um den Byte-Speicher kümmert, auf der anderen Seite haben Sie die Firmware des Speichergeräts welche Gründe in Bezug auf Bytes, aber nichts über die Dateien wissen und wie das Dateisystem tatsächlich eingestellt ist.

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

  • Wenn es um die Daten auf Dateisystemebene geht, steht Ihnen Software von Drittanbietern zur Verfügung Fügen Sie Ihren Kontextmenüs eine neue Lösch- / Löschoption hinzu. 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

  • Wenn Sie Bedenken hinsichtlich der physisch auf Ihrem Speichergerät gespeicherten Daten haben, verwenden Sie die Dateisystemverschlüsselung, um Ihr Backup zu verbessern oder um Ihnen zu helfen. 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.

Dies ist die richtige Antwort.
Unter UNIX gibt es beispielsweise keine Funktion "Löschen", "Löschen" oder "Entfernen", sondern nur "Verknüpfung aufheben".
@tudor: In der Tat sprechen Sie einen wichtigen Punkt an. Während "Verknüpfung aufheben" eine klar und nicht mehrdeutig definierte Funktion auf Dateisystemebene ist, überschreibt eine Lösch- / Löschfunktion tatsächlich den Dateiinhalt, da es physisch keine Möglichkeit gibt, die Daten einfach von der Festplatte zu "löschen": it kann nur überschrieben werden. Hier kommen verschiedene Überschreibungsansätze, die zufällige Daten verwenden, bestimmte Muster verwenden, einen oder eine bestimmte Anzahl von Durchgängen verwenden usw., wobei jeder seine Vor- und Nachteile hat. Aus diesem Grund muss der Benutzer eine Software von Drittanbietern auswählen, die seinen eigenen Anforderungen entspricht.
Benoit Esnard
2016-01-15 20:22:30 UTC
view on stackexchange narkive permalink

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.

Für SSDs ist das umgekehrt.
@JDługosz: Nicht wirklich. Flash-basierte Laufwerke müssen alle Informationen in einem Block physisch löschen, bevor sie den gesamten Speicherplatz wiederverwenden können. Wenn jedoch jemand eine Datei löschen möchte, die 64 der 1024 Sektoren in einem Block verwendet, werden die 64 Sektoren als ungültig markiert Seien Sie viel schneller als das Kopieren der 960 Sektoren, deren Inhalt noch an anderer Stelle benötigt wird, und das Löschen des Blocks, der diese 64 Sektoren enthielt.
Ich meine den Befehl `trim`. Blöcke werden auf einer sehr primitiven Ebene als unbenutzt markiert, anstatt nur abzuhängen, bis sie wiederverwendet werden. Anstatt effizienter zu sein, nichts zu tun (nicht klar), ist es effizienter, nicht verwendete Blöcke nicht erneut zu kopieren.
@JDługosz: Angesichts der unglücklichen Entscheidung der IMHO, dass alle USB-Laufwerke einen sektorbasierten Zugriff anstelle von NFS verwenden, ist ein Betrieb auf mittlerer Ebene, bei dem der Markierungssektor veraltet ist, effizienter, als ihn entweder physisch zu löschen oder nur zu löschen Das übergeordnete System betrachtet es als unbenutzt, ohne dem Laufwerk davon zu erzählen.
Dies ist auch ein Problem mit SATA / SAS. Nicht USB, sondern das Ändern der Speicherschicht von dem, mit dem die Befehlsstruktur entworfen wurde, und historisch mehr Intelligenz im Host und weniger im Gerät.
Cort Ammon
2016-01-16 23:14:55 UTC
view on stackexchange narkive permalink

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 Torret-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 die Datei löschen möchten, 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 abgewogen, 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. Sie können dann tatsächlich Daten abrufen.

Wenn die Regierung die Festplatte wiederverwenden möchte Laufwerk, der Standardprozess ist ein 7-faches Löschen, bei dem Sie 7 Mal in jeden Sektor der Festplatte schreiben. Normalerweise verwenden sie nur die Mühle, da dieser Prozess so mechanisch intensiv ist, dass die meisten Festplatten die Begegnung nicht einmal überleben.

Was bedeutet "Löschen" überhaupt?

BEARBEITEN: Ich habe versucht, ein paar Punkte zu zeichnen und andere die Linien zeichnen zu lassen, aber es sieht so aus, als würde 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 diesem Gleichgewicht 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 klingt.

Ich kann auf dieser Q & A-Seite nicht abstimmen, aber ... "99,9%" (Quelle?) ", Weil dieser Prozess so mechanisch intensiv ist ... überlebe nicht einmal die Begegnung" (Quelle?) "Einige der Magneten Eigenschaften ... Daten abziehen. " (Es gibt tatsächlich ein Forschungspapier, das entlarvte, dass ein einmaliges Löschen nicht genügend Informationen löschen würde, um eine Wiederherstellung unmöglich zu machen. Der Link hier ist jedoch nicht vorhanden.)
@sumurai8 Ich wäre überrascht, wenn einer von tausend Benutzern sich der Nuancen der Dateispeicherung genug bewusst wäre, um bereit zu sein, seine Betriebssystem-Caches zu überwachen, um Sicherheit durch solch ein sicheres Löschen zu erhalten. Für diejenigen, die nicht ständig wissen, was ihr Betriebssystem für sie tut, wäre ein solches Merkmal Schlangenöl. Ich würde dieses Papier gerne sehen. Die Regierung ist eindeutig weniger vertrauenswürdig als Sie, obwohl es immer schön ist, neue harte Beweise zu sehen. Vielleicht galten die Regierungsregeln für ältere, schlampigere Festplatten, und neue zeigen weniger Wirkung
@CortAmmon-Regierungen sind normalerweise sowieso in keiner Hinsicht mit "sicher genug" zufrieden. Dies gilt nicht nur für die Sicherheit, sondern in größerem Maße für die Sicherheit (z. B. "tägliche sichere Dosen" bestimmter Substanzen, deren Werte um ein Vielfaches niedriger sind als die tatsächlich schädlichen).
Ist das das Papier, auf das Sie sich beziehen? Der aktualisierte Epilog von Guttman selbst https://www.cs.auckland.ac.nz/~pgut001/pubs/secure_del.html#Epilogue
supercat
2016-01-21 23:10:02 UTC
view on stackexchange narkive permalink

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 sie von jemand anderem (oder vielleicht einer bestimmten Person oder Personen) verwendet werden.

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

  3. ol>

    Diejenigen, die Dinge für die Der erste Grund sollte sie zerstören, um sie unbrauchbar zu machen. Für diejenigen, die Dinge aus dem zweiten Grund loswerden, ist es jedoch 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.

Alexey Vesnin
2016-01-17 03:53:10 UTC
view on stackexchange narkive permalink

Tatsächlich bringen Sie zwei verschiedene Verfahren durcheinander: das Löschen und das sichere Löschen . Die erste ist nur eine standardmäßige FS-abhängige Operation, eine bestimmte und standardisierte . Das zweite - das sichere Löschen - hat viele Ansätze, unerlas-Schutzgrade, 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 in Ihrer ganz eigenen Situation geeignet ist. Es gibt keine gemeinsame und standardisierte Implementierung für sicheres Löschen in jedem Fall / jeder Aufgabe / Umgebung.

TOOGAM
2016-01-20 01:20:37 UTC
view on stackexchange narkive permalink

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

Sie meinen vom Beginn des Löschens oder vom Beginn des Betriebssystems an? 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 Es wäre eine ziemliche Herausforderung gewesen, den Zweck überhaupt zu verstehen.

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

Und es ist ein wichtiges Thema, oder es hätte 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 die Menschen vielleicht interessant finden, oder es kann das Ergebnis von Bildungsbemühungen sein. Viele Leute verstehen einfach nicht, dass das Löschen eher nicht permanent 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 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 frei 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 zu sehen und damit ich nicht versehentlich eine alte Datei öffne, wenn ich eine neue Datei möchte. Das Löschen ist eine effektive Möglichkeit, 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 das Erkennen, welches Verhalten für die meisten Szenarien das „Richtige“ ist, möglicherweise nicht ganz so einfach ist, wie Sie es anerkennen.

Festplatten kamen zwar nach Disketten für Mikrocomputer, aber nicht für Großrechner und Minicomputer: Die Festplatte stand an erster Stelle (1956); die Diskette später (~ 1970).
Ich erinnere mich, dass ich in der High School 8-Zoll-Disketten auf dem PDP-11 verwendet habe. Ich wünschte, ich hätte einen behalten. Ich habe hier irgendwo ein paar Karten ... Es scheint interessant zu sein, dass Computer, die ursprünglich hauptsächlich für Regierung und Militär entwickelt wurden, nicht mehr Sicherheit enthielten. Ich denke, sie hatten physische Sicherheit (Komponenten, die zu schwer waren, um in einem verschlossenen Raum in einem verschlossenen Gebäude auf einem sicheren Campus, der von Stacheldraht umgeben und von bewaffneten Wachen geschützt ist, wegzugehen ...), also machten sie sich darüber keine Sorgen. Aber warum wurde es bei PCs und Sicherheitsfragen in den letzten drei Jahrzehnten nicht berücksichtigt? Na ja, das macht keinen Sinn.
bain
2016-01-20 03:34:17 UTC
view on stackexchange narkive permalink

Und warum machen sie das immer noch nicht?

Die anderen Antworten haben geantwortet, warum es in der Vergangenheit nicht gemacht wurde (Leistung, Benutzererwartungen usw.), also ich Ich füge nur einen Hinweis hinzu, warum es jetzt noch nicht fertig ist. Ein Problem besteht darin, dass das sichere Löschen nur als teilweise Sicherheitslösung betrachtet wird: Es löscht eine Kopie der Datei, 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 sind alle Spuren dieser Datei (und jeder anderen Datei) für einen Angreifer verborgen, 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.

Selbst wenn die Schlüssel dann im Klartext gespeichert werden, es sei denn, der Benutzer hat einen Schlüssel zum Verschlüsseln angegeben (anstatt die Festplattenverschlüsselung zu füllen), scheint dies eine bessere Lösung zu sein. Sie können dann einfach die ~ 256 Bit überschreiben, in denen der Schlüssel und gespeichert sind den Zugriff auf die Datei verlieren. OpenBSD tut dies für den Swap Space, aber normale Dateisystemimplementierungen sind nicht besonders häufig ...
@GertvandenBerg: Angesichts der unterschiedlichen Schreib- und Löschblockgrößen von Flash-Medien ist es schwierig, die Dateiverschlüsselungsschlüssel pro Datei beizubehalten und deren zuverlässige Zerstörung sicherzustellen. Es wäre viel einfacher, wenn Flash-Chips ein Mittel zum Nullstellen einer bereits geschriebenen Seite anbieten und dokumentieren würden, aber viele von ihnen erlauben aufgrund ihrer Fehlerkorrektur-Codelogik nur das Schreiben auf vollständig leere Seiten und machen keine Ausnahme für schreibt, was eine Seite vollständig auf Null setzen würde.
Vielen Dank, dass Sie sich mit der wichtigen Hälfte meiner Frage befasst haben.
@supercat: Es wird schwierig, wenn zu viele Abstraktionsebenen vorhanden sind ... Wenn die Liste der Schlüssel ebenfalls von einem vom Benutzer bereitgestellten Schlüssel verschlüsselt wird, wodurch eine vollständige Festplattenverschlüsselung erreicht wird, wird es viel schwieriger, die Schlüsseldaten zu lesen, wenn sie nicht zerstört werden, aber weniger bequem zu bedienen.Auch ohne dies ist die Wahrscheinlichkeit, dass gelöschte Daten wiederhergestellt werden, immer noch viel geringer als derzeit, wo kein Versuch unternommen wird, die Daten zu zerstören.
Celeritas
2016-01-22 13:26:35 UTC
view on stackexchange narkive permalink

Andere Antworten sind gut und haben die Frage auf technischer Ebene vollständig behandelt. 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äftsentscheidung als eine technische).

Bei der Frage wird gefragt, 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. Was ich sage, ist die Frage scheint aus der falschen Perspektive gefragt zu werden und es fehlen vorläufige Erkenntnisse.

OSes minimalistisch? Vor 25 Jahren habe ich eine Reihe von DOS-TSRs geschrieben, um Modems über ein Novell-Netzwerk gemeinsam zu nutzen. Zu dieser Zeit veröffentlichte Microsoft seine eigenen Netzwerkfunktionen und konnte schließlich Modems und Drucker für seine Netzwerkmethode freigeben. Microsoft hat die meisten Produkte von Drittanbietern, die früher Dinge wie Sichern, Wiederherstellen usw. ausgeführt haben, langsam übernommen. Es ist alles andere als minimalistisch, und da Windows 90% der PCs ausmacht, sind dies wahrscheinlich 90% der Computer da draußen, das ist wirklich das, worauf ich mich beziehe.
@nocomprende es ist tatsächlich ein weiteres Problem mit der gestellten Frage, es spricht, als ob alle Betriebssysteme gleich sind, was sie nicht sind. Windows ist eines der am meisten aufgeblähten Betriebssysteme.


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...