seeseekey.net - Invictus Deus Ex Machina

Mit Hilfe des Befehls dd ist es unter Linux und vielen anderen unixoiden Systemen möglich, eine Festplatte mit Nullen zu überschreiben. Ist die Festplatte dabei z.B. als sda im System registriert, so funktioniert das Überschreiben mit folgendem Befehl:

dd if=/dev/zero of=/dev/sda

Je nach Festplattengröße kann der Vorgang dabei durchaus einige Stunden in Anspruch nehmen.

9 Kommentare

  1. AnonymerFeigling

    Und für welches Szenario wäre das geeignet? Sowohl für normale Formatierung als auch zuverlässige Datenlöschung gibt es spezielle Werkzeuge.

    Antworten

    • Bei heutigen Datendichten ist das für sichere Löschung der Festplatte (sofern HDD, nicht SSD) mehr als ausreichend.

      Antworten

  2. Du würdest den Befehl für eine SSD nicht empfehlen?

    Antworten

    • Das Problem bei einer SSD ist das selbst wenn man sie „komplett“ überschreibt ist das nicht genug. Hintergrund ist dass die SSD im Durchschnitt etwa 10 Prozent ihrer Gesamtkapazität in der Hinterhand hält, an diese 10 % kommt man nicht heran, da sie vom Controller verwaltet werden.

      Antworten

  3. Für HDDs reicht das einmalige überschreiben mit Nullen. In diesem Fall machen shred oder wipe ansich auch nichts anderes als dieser Befehl.

    SSDs sollten dagegen mit Zufallszahlen überschrieben werden und das auch mehrfach. Insgesamt ist die Faktenlage bei diesen Datenträgern aber noch etwas mager um zukunftssicher sagen zu können, wie viele Durchgänge beim Überschreiben wirklich „sicher“ löschen.

    In beiden Fällen gilt, dass man Datenträger immer besser vollständig überschreibt, also nicht nur einzelne Partitionen oder gar Dateien/Ordner.

    Antworten

    • Eine SSD mehrfach zu überschreiben wird wegen dem wear leveling recht wenig bringen.

      Ich würde, gerade bei SSD (aber auch bei HDD), daher auf ATA Secure Erase zurückgreifen. Hierbei wird auch der Bereich für Sector Reallocation überschrieben.

      Antworten

  4. 1.) Um den Prozess deutlich zu beschleunigen sollte eine blocksize angegeben werden, also
    dd if=/dev/zero of=/dev/sda bs=1M

    2.) Eine weitere Beschleunigung bei dd (in diesem Falle hier eher theoritsch, praktischer wenn lesen/schreiben auf unterschiedlichen devices ist) erreicht man durch Trennen der in/out-Prozesse per Pipe, also zB
    dd if=/dev/sda1 bs=1M | of=/ziel/pfad bs=1M

    3.) Für Zufallszahlen statt Nullen geht als Quelle if=/dev/random

    4.) Warum dd und keine speziellen Werkzeuge? Gegenfrage: warum Spezialtools wenn dd in jedem Linuxsystem sowieso rumliegt :)? Viele Leute benutzen dd regelmäßig, um zB Liveisos auf Sticks zu bringen, den MBR in ein Image wegzusichern, 1:1 Kopien ihrer Paritione zu ziehen etc., dann ist das Nullen eines Devices nur eine weitere Anwendung eines vertrauten Tools.

    5.) Um dann doch noch ein „spezielles“ Werkzeug was ebenfalls jeder schon hat als Alternative zu erwähnen, es geht auch
    cat /dev/zero > /dev/sda

    Antworten

    • Naja, „spezielle“ Werkzeuge mal hin oder her, aber cat, dd ebenso wie shred sind alle aus coreutils. Im Endeffekt führt uns jede Feststellung bei der Frage nach dem Warum wieder zu dem Ergebnis, dass unter Linux viele Wege zum gleichen Ziel führen. Bleibt dann am Ende wieder eine Geschmacksfrage mit Würzung nach konkretem Anwendungsfall =)

      Antworten

  5. Vorsicht! dd bricht beim ersten Schreibfehler ab!

    Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.