Wenn eine Datei gelöscht wird, verbleibt ihr Inhalt möglicherweise im Dateisystem, es sei denn, sie wird ausdrücklich mit etwas anderem überschrieben. Mit dem wipe
Befehl können Dateien sicher gelöscht werden, es scheint jedoch nicht möglich zu sein, freien Speicherplatz zu löschen, der nicht von Dateien verwendet wird.
Was soll ich verwenden, um dies zu erreichen?
Antworten:
Warnung: Moderne Festplatten- / SSD-Hardware und moderne Dateisysteme können Daten an Stellen entfernen, an denen Sie sie nicht löschen können. Daher verbleiben bei diesem Vorgang möglicherweise immer noch Daten auf der Festplatte. Die einzig sichere Art, Daten zu löschen, ist der Befehl ATA Secure Erase (falls korrekt implementiert) oder physische Zerstörung. Siehe auch Wie kann ich alle Informationen auf einer Festplatte zuverlässig löschen?
Sie können eine Reihe von Tools verwenden, die als sicheres Löschen bezeichnet werden.
Dies hat vier Werkzeuge:
srm
- Löschen Sie eine vorhandene Dateismem
sicher. - Löschen Sie Spuren einer Datei sicher vom RAM.sfill
- Löschen Sie den gesamten als leer markierten Speicherplatz auf Ihrer Festplatte.sswap
- Löschen Sie alle Daten von Ihrem Swap-Speicherplatz.Aus der Manpage von
srm
quelle
cat /dev/zero >nosuchfile; rm nosuchfile
.Der schnellste Weg, wenn Sie nur einen einzigen Durchgang benötigen und einfach alles durch Nullen ersetzen möchten, ist:
(Führen Sie den Befehl aus einem Verzeichnis des Dateisystems aus, das Sie löschen möchten.)
(Der
sync
Befehl ist eine Paranoia-Maßnahme, die sicherstellt, dass alle Daten auf die Festplatte geschrieben werden. Ein intelligenter Cache-Manager kann möglicherweise das Schreiben für ausstehende Blöcke abbrechen, wenn die Verknüpfung der Datei aufgehoben wird )Während dieses Vorgangs gibt es eine Zeit, in der überhaupt kein freier Speicherplatz auf dem Dateisystem verfügbar ist. Dies kann mehrere zehn Sekunden dauern, wenn die resultierende Datei groß und fragmentiert ist. Das Löschen dauert daher eine Weile. So reduzieren Sie die Zeit, in der der freie Speicherplatz vollständig Null ist:
Dies sollte ausreichen, um jemanden daran zu hindern, die alten Dateiinhalte ohne eine teure forensische Operation zu lesen. Für eine etwas sicherer, aber langsamer, Variante ersetzen
/dev/zero
mit/dev/urandom
. Für mehr Paranoia führen Sie mehrere Schritte mit aus/dev/urandom
. Wenn Sie jedoch so viel Aufwand benötigen, ist dasshred
Dienstprogramm aus dem coreutils-Paket der richtige Weg:Beachten Sie, dass die kleine Datei oben vor dem Erstellen der größeren Datei geschreddert wird. Sie kann also entfernt werden, sobald die größere Datei vollständig ist, anstatt darauf warten zu müssen, dass sie geschreddert wird, und das Dateisystem für die benötigte Zeit keinen freien Speicherplatz mehr hat. Der Shred - Prozess mit nimmt eine lange Zeit über eine große Datei und es sei denn , Sie versuchen , etwas von der NSA zu verbergen nicht wirklich IMO erforderlich.
Alle oben genannten Funktionen sollten auf jedem Dateisystem funktionieren.
Dateigrößenbeschränkungen:
Wie DanMoulding in einem Kommentar unten ausführt, kann dies bei einigen Dateisystemen zu Problemen mit der Dateigrößenbeschränkung führen.
Für FAT32 wäre es auf jeden Fall ein Problem aufgrund der Dateibegrenzung 2GiB: Die meisten Bände sind größer als dies in diesen Tagen (8TiB ist die Volume - Größe Limit IIRC). Sie können dies umgehen, indem Sie die große
cat /dev/zero
Ausgabe weiterleitensplit
, um mehrere kleinere Dateien zu generieren und die Shred- und Löschstufen entsprechend anzupassen.Mit ext2 / 3/4 ist dies weniger problematisch: Mit dem Standard- / Standard-4K-Block beträgt die Dateigrößenbeschränkung 2 TB, sodass Sie ein großes Volumen haben müssen , damit dies ein Problem darstellt (die maximale Volumengröße unter diesen Bedingungen) ist 16TiB).
Mit dem (noch experimentellen) BTRFS sind sowohl die maximale Datei- als auch die Volume-Größe massive 16EiB.
Unter NTFS ist die maximale Dateilänge in einigen Fällen sogar größer als die maximale Datenträgerlänge.
Ausgangspunkte für weitere Informationen:
http://en.wikipedia.org/wiki/Ext3#Size_limits
http://en.wikipedia.org/wiki/Btrfs
http://en.wikipedia.org/wiki/Ntfs#Scalability
Virtuelle Geräte
Wie in den Kommentaren kürzlich erwähnt, gibt es zusätzliche Überlegungen für virtuelle Geräte:
Für dünn zugewiesen virtuellen Laufwerke andere Methoden wie diejenigen , die von
zerofree
schneller sein wird (obwohl im Gegensatz zucat
unddd
dies ist kein Standard - Tool , das Sie in so ziemlich jedem Unix-a-like OS auf sein verlassen können).Beachten Sie, dass durch das Nullsetzen eines Blocks auf einem virtuellen Gerät mit geringer Dichte der Block auf dem zugrunde liegenden physischen Gerät möglicherweise nicht gelöscht wird. Ich würde sogar sagen, dass dies unwahrscheinlich ist - der Manager für virtuelle Datenträger macht den Block einfach als nicht mehr verwendet so kann es später etwas anderes zugeordnet werden.
Selbst bei virtuellen Geräten mit fester Größe haben Sie möglicherweise keine Kontrolle darüber, wo sich das Gerät physisch befindet, sodass es jederzeit um seinen aktuellen Speicherort oder auf einen neuen Satz physischer Datenträger verschoben werden kann. Sie können höchstens den aktuellen Speicherort löschen Alle vorherigen Orte, an denen sich der Block möglicherweise in der Vergangenheit befunden hat.
Bei den oben genannten Problemen auf virtuellen Geräten: Wenn Sie die Hosts nicht kontrollieren und anschließend den nicht zugewiesenen Speicherplatz der Festplatten in der VM sicher löschen oder das virtuelle Gerät verschieben können, haben Sie nach dem keine Möglichkeit, dies zu ändern Tatsache. Die einzige Möglichkeit besteht darin, von Anfang an die vollständige Festplattenverschlüsselung zu verwendenes wird also überhaupt nichts unverschlüsselt auf das physische Medium geschrieben. Natürlich kann es weiterhin erforderlich sein, den freien Speicherplatz in der VM zu löschen. Beachten Sie auch, dass FDE spärliche virtuelle Geräte weniger nützlich machen kann, da die Virtualisierungsebene nicht wirklich erkennen kann, welche Blöcke nicht verwendet werden. Wenn die Dateisystemebene des Betriebssystems Trim-Befehle an das virtuelle Gerät sendet (als wäre es eine SSD) und der virtuelle Controller diese interpretiert, kann dies möglicherweise behoben werden, aber ich kenne keine Umstände, unter denen dies tatsächlich geschieht, und keine umfassenderen Die Diskussion darüber ist an anderer Stelle angesagt (wir sind bereits kurz davor, uns mit der ursprünglichen Frage zu befassen. Wenn dies Ihr Interesse geweckt hat, sind möglicherweise einige Experimentier- und / oder Folgefragen angebracht).
quelle
secure-delete
Werkzeugen durchgeführt werden: Bei Verwendung vonsfill -llz
wird der gesamte Vorgang auf einen Durchgang reduziert, in dem nur Nullen geschrieben werden.cat
unddd
sind auf so ziemlich jedem Unix-a-like OS verfügbar , da sie Standard - Tools in Betracht gezogen werden , wozerofree
wahrscheinlich nicht , wenn es ausdrücklich hinzugefügt wurde.zerofree
würde sicherlich natürlich arbeiten, das „gesamtes Dateisystem vorübergehend voll“ , was in der man - Seite erwähnt in (fast , aber nicht ganz von dem small.file jiggery pokery in meinen Beispielen gemildert) ist ein echtes Anliegen Wenn Sie dies auf einem derzeit aktiven System tun undzerofree
in der Tat schneller wären, ist es optimiert für: sparsam zugewiesene virtuelle Blockgeräte. Aus Sicherheitsgründen können Sie sich jedoch nicht darauf verlassen, dass ein virtuelles Gerät gelöscht wird. In diesem Fall ist die einzig wahre Antwort die vollständige Geräteverschlüsselung von Anfang an.WARNUNG
Ich war schockiert, wie viele Dateien photorec von meiner Festplatte abrufen konnte, selbst nach dem Löschen.
Ob es sicherer ist, den "freien Raum" nur einmal mit 0x00 oder 38-mal mit unterschiedlichen kabbalistischen Standards zu füllen, ist eher eine akademische Diskussion. Der Autor des wegweisenden Schredderpapiers von 1996 schrieb sich einen Epilog, in dem er sagte, dies sei veraltet und für moderne Hardware nicht mehr erforderlich. Es gibt keinen dokumentierten Fall, in dem Daten physisch durch Nullen ersetzt und anschließend wiederhergestellt werden.
Die wahre fragile Verbindung in dieser Prozedur ist das Dateisystem . Einige Dateisysteme reservieren Speicherplatz für spezielle Zwecke, und er wird nicht als "freier Speicherplatz" zur Verfügung gestellt. Aber Ihre Daten können dort sein . Dazu gehören Fotos, persönliche Klartext-E-Mails usw. Ich habe gerade reservierten + Speicherplatz + ext4 gegoogelt und festgestellt, dass 5% meiner
home
Partition reserviert waren. Ich denke, das ist der Ort, an dem ichphotorec
so viel von meinen Sachen gefunden habe. Fazit: Die Zerkleinerungsmethode ist nicht die wichtigste, auch bei der Mehrfachdurchlaufmethode bleiben die Daten erhalten .Sie können es versuchen,
# tune2fs -m 0 /dev/sdn0
bevor Sie es montieren. (Wenn dies nach dem Neustart die Root-Partition ist, stellen Sie sicher, dass sie ausgeführt wird-m 5
oder-m 1
nachdem Sie die Bereitstellung aufgehoben haben.)Trotzdem bleibt auf die eine oder andere Weise möglicherweise noch etwas Platz übrig.
Die einzig wirklich sichere Möglichkeit besteht darin, die gesamte Partition zu löschen, ein Dateisystem erneut zu erstellen und Ihre Dateien dann aus einer Sicherungskopie wiederherzustellen.
Schneller Weg (empfohlen)
Führen Sie aus einem Verzeichnis auf dem Dateisystem, das Sie löschen möchten:
Hinweise: Der Zweck der kleinen Datei besteht darin, die Zeit zu verkürzen, in der der freie Speicherplatz vollständig Null ist. Mit der Synchronisierung soll sichergestellt werden, dass die Daten tatsächlich geschrieben werden.
Dies sollte für die meisten Menschen gut genug sein.
Langsamer Weg (paranoid)
Es gibt keinen dokumentierten Fall, in dem Daten nach der obigen Bereinigung wiederhergestellt wurden. Es wäre teuer und ressourcenschonend, wenn es überhaupt möglich wäre.
Wenn Sie jedoch Grund zur Annahme haben, dass Geheimagenturen eine Menge Ressourcen für die Wiederherstellung Ihrer Dateien aufwenden würden, sollte dies ausreichen:
Es dauert viel länger.
Warnung. Wenn Sie den paranoiden Weg gewählt haben, möchten Sie danach immer noch das schnelle Löschen durchführen, und das ist keine Paranoia. Das Vorhandensein rein zufälliger Daten ist einfach und kostengünstig zu erkennen und lässt den Verdacht aufkommen, dass es sich tatsächlich um verschlüsselte Daten handelt. Sie können unter Folter sterben, wenn Sie den Entschlüsselungsschlüssel nicht preisgeben.
Sehr langsamer Weg (verrückt paranoid)
Sogar der Autor des wegweisenden Schredderpapiers von 1996 schrieb in einem Epilog, dass dies für moderne Hardware überholt und unnötig sei.
Aber wenn Sie noch viel Freizeit haben und es Ihnen nichts ausmacht, Ihre Festplatte mit viel Überschreiben zu verschwenden, geht es los:
Hinweis: Dies entspricht im Wesentlichen der Verwendung des Tools zum sicheren Löschen.
Vor der Bearbeitung war dieser Beitrag eine Neufassung von David Spilletts. Der Befehl "cat" gibt eine Fehlermeldung aus, aber ich kann keine Kommentare zu den Posts anderer Leute schreiben.
quelle
cat
wird erwartet, dass der Befehl am Ende seiner Ausführung in meinen Beispielen den Fehler "Kein Leerzeichen übrig" ausgibt. Sie können dies verbergen, indem Sie stderr an umleiten,/dev/null
wenn es ein Problem ist. Ich benutze normalerweisepv
eher alscat
oderdd
für solche Dinge, um die nützliche Fortschrittsanzeige zu erhalten....raises the suspicion that it is actually encrypted data. You may die under torture for not revealing the decryption key.
Genau das habe ich mir gedacht. Ich denke, das heißt, ich bin paranoid ...dd
Ausführung als Root mehr Zugriff auf das Dateisystem gewährt alsdd
ohne Root? Ich möchte glauben, dass dies wahr ist, kann aber im Moment keinen Grund dafür sehen.Zumindest in Ubuntu gibt es kein kostenloses Dienstprogramm:
http://manpages.ubuntu.com/manpages/natty/man8/zerofree.8.html
Überprüfen Sie auch diesen Link zu null: Halten Sie die Bilder des Dateisystems sparsam - er stammt von seinem Autor - Ron Yorston (9. August 2012)
quelle
So geht's mit einer GUI.
Der Fortschritt von BleachBit über dd (was sonst sehr schön ist) ist, wenn die Festplatte voll ist, BleachBit kleine Dateien erstellt, um die Inodes (die Metadaten wie Dateinamen usw. enthalten) zu löschen.
quelle
Ich
dd
reserviere eine oder mehrere große Dateien, um den freien Speicherplatz zu füllen, und verwende dann ein Dienstprogramm zum sicheren Löschen.So ordnen Sie Dateien mit dd zu:
Dadurch wird eine Datei mit dem Namen
delete_me
100 MB erstellt. (Hierbs
ist die "Blockgröße" auf 1 KB festgelegt undcount
die Anzahl der zuzuweisenden Blöcke.)Verwenden Sie dann Ihr bevorzugtes Dienstprogramm zum sicheren Löschen (das ich bereits verwendet habe
shred
) für die so erstellten Dateien.Beachten Sie jedoch Folgendes: Zwischenspeichern bedeutet , dass Sie möglicherweise nicht alles erhalten , auch wenn Sie die gesamte Festplatte sichern!
Dieser Link empfiehlt das
scrub
Löschen von freiem Speicherplatz. Habe es nicht ausprobiert.quelle
scrub
einmal versucht und es hat das gesamte Dateisystem beschädigt. Glücklicherweise hatte ich das gute Gefühl, zuerst mit einem Testdateisystem zu experimentieren, NICHT mit meinen realen Daten.Wischen Sie ein Laufwerk mit Höchstgeschwindigkeit ab.
Heutzutage werden Sie bei typischen Anweisungen zum Verschlüsseln eines Laufwerks aufgefordert, zuerst das Laufwerk zu wischen.
Der folgende Befehl füllt Ihr Laufwerk mit AES-Chiffretext.
Verwenden Sie eine Live-CD, wenn Sie Ihr Hauptstartlaufwerk löschen müssen.
Öffnen Sie ein Terminal und erhöhen Sie Ihre Berechtigungen:
Lassen Sie uns alle Laufwerke im System auflisten, um die Sicherheit zu gewährleisten:
HINWEIS: Ersetzen Sie
/dev/sd{x}
das Gerät durch das Gerät, das Sie löschen möchten.ACHTUNG: Dies ist nichts für Amateure! Sie könnten Ihr System unbootbar machen !!!
Ich bin fassungslos, wie schnell das ist.
quelle
Wahrscheinlich haben Sie das GNU-Paket coreutils bereits auf Ihrem System installiert. Es liefert den Befehl shred .
quelle
Sie können Ihren freien Speicherplatz mithilfe eines sicheren Löschpakets löschen.
In diesem Paket finden Sie ein
sfill
Tool, mit dem Daten, die sich auf verfügbarem Speicherplatz auf Datenträgern befinden, auf sichere Weise gelöscht werden können und das von Dieben, Strafverfolgungsbehörden oder anderen Bedrohungen nicht wiederhergestellt werden kann.Um das Paket zum sicheren Löschen unter Linux (Ubuntu) zu installieren, installieren Sie es mit dem folgenden Befehl:
Führen Sie dann den folgenden Befehl aus , um Ihre Daten ohne freien Speicherplatz zu löschen :
Wobei / YOUR_MOUNTPOINT / OR_DIRECTORY Ihr Mountpunkt (
df -h
,mount
) oder Verzeichnis ist, um den freien Speicherplatz zu löschen .Lesen Sie das Handbuch unter http://manpages.ubuntu.com/manpages/hardy/man1/sfill.1.html
quelle
benutze dd und setze den freien Speicherplatz auf Null. es ist ein mythos, dass daten mehrmals überschrieben werden müssen (fragen sie einfach peter guntmann) und zufällige daten, im gegensatz zu 1 und 0 implizieren unnatürliche aktivitäten. Das Endergebnis ist ein sauberes Laufwerk, das deutlich weniger Zeit zum Schreiben benötigt. Außerdem können sichere Löschprogramme nicht garantieren, dass sie sogar die reale Datei auf modernen Dateisystemen (Journaled) überschreiben. Tun Sie sich selbst einen Gefallen und holen Sie sich Fotorec, scannen Sie Ihr Laufwerk, um das Durcheinander zu sehen, wischen Sie es mit Einsen und optional mit Nullen ab, damit es unberührt aussieht. Wenn Photorec immer noch etwas findet, denken Sie daran, dass es alles scannt, was verfügbar ist. Führen Sie dies erneut sorgfältig mit dem Root-Benutzer durch.
Denken Sie daran, dass cia / fbi / nsa keine ausgefallene Maschine hat, die den aktuellen Status Ihrer Magnetmedien-Bits lesen kann. Das war alles nur eine Zeitung, die vor langer Zeit geschrieben wurde. ein "Was-wäre-wenn". Sie müssen nur 1 Mal wischen.
quelle
Einfacher ist es, Peeling zu verwenden :
Dadurch wird ein
dump
Ordner am aktuellen Speicherort erstellt und eine Datei erstellt, bis der Datenträger voll ist. Mit der-p
Option (nnsa|dod|bsi|old|fastold|gutmann
) können Sie ein Muster auswählen .Es ist nicht einfach, Scrub zu installieren ( siehe dazu die Ubuntu-Foren ), aber sobald die Installation abgeschlossen ist, haben Sie ein wirklich EINFACHES und effizientes Tool in der Hand.
quelle
scrub
einmal versucht und es hat das gesamte Dateisystem beschädigt. Glücklicherweise hatte ich das gute Gefühl, zuerst mit einem Testdateisystem zu experimentieren, NICHT mit meinen realen Daten.scrub -X dump_dir
und es scheint gut funktioniert zu haben. BTW, 14.04 Installation auf Ubuntu ist sehr einfach:apt-get install scrub
.Hier ist das Skript "sdelete.sh", das ich verwende. Siehe Kommentare für Details.
quelle
Ich habe eine einfache Lösung gefunden, die unter Linux und MacOS funktioniert. Bewegen Sie sich in den Stammordner Ihrer Festplatte und starten Sie diesen Befehl:
Dabei ist // DISKSPACE // die Größe Ihrer Festplatte in GB.
quelle
Ich benutze manchmal diesen bash Einzeiler:
Wenn angezeigt wird, dass die Festplatte voll ist, drücken Sie einfach Ctrl+ Cund entfernen Sie die erstellten
zero.*
Dateien.Es funktioniert auf jedem System, unabhängig von der Dateigrößenbeschränkung.
Ignorieren Sie alle
cat: write error: File too large
Fehler.quelle
Dies ist keine Antwort! Nur ein Kommentar für diejenigen, die es benutzen wollen
pv
... also stört euch nicht an der Abstimmung.Unter Linux Mint 17.3 können Sie
pv
( Pipe-Ansicht ) verwenden, um den Fortschritt des Schreibens abzurufen. Zum Beispiel:Der Vorteil hierbei ist, dass Sie einen Fortschrittsbalken, eine ETA und eine kontinuierlich aktualisierte Datenrate erhalten. Der Nachteil ist, dass dies in einer Zeile geschrieben wird und wenn der Datenträger voll ist (und einen Fehler zurückgibt), er verschwindet. Dies ist darauf zurückzuführen, dass die vollständige Größe nur annähernd der Größe entspricht, da das Betriebssystem wahrscheinlich die Festplatte verwendet, während dieser sehr lange Vorgang ausgeführt wird, insbesondere auf dem Betriebssystem-Volume.
Auf einem sehr alten HD, erhalte ich eine Datenrate über 13 MB / s mit
/dev/urandom
und etwa 70 MB / s bei Verwendung/dev/zero
. Dies würde sich wahrscheinlich weiter verbessern, wenn Sie ein rohesdd
oder verwendencat
und nichtpv
.quelle
Sobald die Datei aus dem Datensatz des Dateisystems entfernt wurde, sind die auf der Festplatte verbleibenden Daten eine sinnlose Folge von Einsen und Nullen. Wenn Sie diese sinnlose Sequenz durch eine andere sinnlose Sequenz ersetzen möchten, kann ich einige kommerzielle Produkte zum sicheren Löschen von Laufwerken empfehlen, wie z. B. arconis.
quelle