Was würde passieren, wenn ich benutze
sudo dd if=/dev/zero of=/dev/sda
von einer Ubuntu-Installation aus /dev/sda
?
Ich habe es in einer VM versucht und es scheint , dass die Festplatte korrekt gelöscht wurde. Wird dies jedes Mal der Fall sein? Ist dies eine sichere Möglichkeit, eine Ubuntu-Installation und alle Daten zu "löschen"?
Meine Frage ist etwas inspiriert von:
partitioning
uninstall
dd
secure-erase
JonasCz - Monica wieder einsetzen
quelle
quelle
Antworten:
Tatsächlich ist das Dateisystem noch gemountet, und einige Schreibvorgänge sind gepuffert, was bedeutet, dass sie sich noch im RAM befinden und darauf warten, auf die Festplatte geschrieben zu werden. Nehmen wir an
dd
, alles wird korrekt überschrieben, und direkt dahinter werden die Puffer geleert und einige potenziell sensible Daten werden auf die Festplatte zurückgeschrieben. Nein, dies ist keine sichere Methode zum Löschen einer Festplatte.Sie können dieses Problem vermeiden, indem Sie zuerst das Root-Dateisystem und alle anderen Dateisysteme, die sich auf der Festplatte befinden, im schreibgeschützten Modus erneut bereitstellen (oder die Bereitstellung vollständig aufheben, dies jedoch mit dem Root-Dateisystem nicht möglich ist) Es sollten überhaupt mehr Schreibvorgänge auf den Dateisystemen zulässig sein (daher müssen keine Puffer geleert werden), damit Ihr Befehl jetzt sicher ist, auch wenn es im Falle einer Panik immer noch eine schlechte Idee ist, da dies lange dauert.
Wenn Sie eine Art Paniklöschfunktion haben möchten, empfehle ich, Ihre Festplatte mit LUKS zu verschlüsseln (das Ubuntu-Installationsprogramm kann das) und dann meiner Antwort auf Security Stack Exchange zu folgen . Dies beinhaltet das Abwischen des Cryptheaders, der nur 2 MB groß ist und dessen Überschreiben weniger als eine Sekunde dauert. Starten Sie dann das System neu, und die Festplattenverschlüsselungsschlüssel werden aus dem Speicher entfernt. Sie können nicht wiederhergestellt werden, da auch der Cryptheader selbst nicht mehr vorhanden ist.
quelle
Ich habe eine VM mit einer etwas fortgeschritteneren Verwendung von
dd
geliehenen und leicht modifizierten von den Arch Wiki-Seiten geopfert .Installieren Sie zuerst eine schöne Fortschrittsanzeige:
Führen Sie dann den
dd
Befehl 'erweitert' ausDadurch bleibt die Festplatte mit AES-Chiffretext gefüllt. Ein vollständiges und sicheres Löschen der Festplatte? Wahrscheinlich besser als Ihr eigenes
dd
Beispiel, aber nichts ist völlig sicher oder garantiert ...Und du schuldest mir eine VM :)
Verweise:
quelle
dd
undpv
bitte mit Nullen (if = / dev / zero) füllen würde ?pv
(Pipe Viewer), alsodd if=/dev/zero | pv | dd of=/dev/sdX
Kurze Antwort: Es wird ungefähr das tun, was Sie wollen, und dann wird nichts funktionieren. Wenn
dd
Sie auf einer Ebene unterhalb des Dateisystems arbeiten, sind die dort geltenden Einschränkungen nicht mehr relevant (dies bedeutet nicht, dass der Kernel Sie nicht daran hindern konnte - dies ist jedoch nicht der Fall). Einige Inhalte aus dem Dateisystem befinden sich bereits im Speicher, z. B. der Kernel und dasdd
Programm selbst, andere befinden sich im Cache. Es besteht die Möglichkeit, dass im Mehrbenutzermodus des Systems einige Dateien während desdd
Vorgangs zurückgeschrieben werden, sofern sie sich tatsächlich geändert haben. Wenn Sie unter Speicherdruck stehen, werden möglicherweise auch einige Seiten von dort ausgelagert (Sie sollten verschlüsselt und daher nach dem Neustart unbrauchbar sein).Die meisten Befehle, die Sie danach ausgeben
reboot
würden - einschließlich -, befinden sich nicht im Cache und funktionieren daher nicht. Wenn Sie sich also im Einzelbenutzermodus befinden, funktioniert dies sehr gut. Wenn Sie sich im Mehrbenutzermodus befinden, werden die meisten Daten gelöscht. Idealerweise sollten Sie es von einem anderen Medium aus starten (vielleicht sogar auf der initrd anhalten), damit Sie sicher sein können, woher alle Schreibvorgänge kommen.Wenn Sie ein sicheres Löschen wünschen, reicht dies nicht aus, da noch einige Spuren der Originaldaten vorhanden sind, wenn Sie sie nur auf Null setzen. Normalerweise würden Sie bis zu drei Random Writes wollen, die aus dem Kopieren bedeuten würde
/dev/urandom
statt/dev/zero
- viel langsamer , aber sicherer. Einige schlagen möglicherweise vor, dass Sie/dev/random
das Gerät für "reine" Zufallsdaten verwenden - kein Pseudozufalls -, aber zu diesem Zweck ist die Wahrscheinlichkeit, dass jemand den PRNG-Startwert knackt und die Daten erfolgreich maskiert, im Wesentlichen vernachlässigbar.Wenn Sie wirklich paranoid sind, müssen Sie das Speichergerät in einen Ofen werfen, damit es entmagnetisiert / entladen wird.
quelle
Es wird wie in Ihrer VM die Festplatte löschen und Ihr System unbrauchbar machen.
Wenn Sie jedoch an eine Art "Paniklöschung" denken, ist dies
dd
möglicherweise nicht schnell genug, und ich bin mir nicht sicher, ob es in diesem Fall schnellere Befehle oder Programme gibt, die dies bereitstellen.quelle
Es sollte funktionieren, der laufende Prozess wird in Ram gehalten und benötigt die Festplatte nicht. Ich würde sowieso ein Live-System verwenden, das von CD oder USB läuft. Es gibt sogar dban, ein spezialisiertes Live-Linux zum Löschen von Festplatten.
Das Überschreiben Ihrer Festplatte mit Nullen ist sicher, aber wenn Sie paranoid genug sind oder gesetzliche Regeln haben, können Sie mit zufälligen Daten mehrmals überschreiben.
Seien Sie vorsichtig, wenn Sie ssd verwenden. Das Überschreiben garantiert nicht das Löschen aller Daten aufgrund von Verschleißausgleich.
Wenn Sie die vollständige Festplattenverschlüsselung (luks) verwenden, müssen Sie nicht die vollständige Festplatte löschen. Das Löschen des luks-Headers reicht aus.
quelle