Speichermedium auf Fehler überprüfen und mit Zufallswerten füllen

Achtung: Diese Befehle ZERSTÖREN absichtlich die Daten auf den betreffenden Geräten!

Um Speichermedien für die Verwendung als verschlüsselte Geräte vorzubereiten, ist es dringend empfohlen, diese auf Fehler zu überprüfen und mit Zufallswerten zu befüllen.

Zur Überprüfung wird hier badblocks verwendet. Die Zufallswerte werden aus /dev/urandom geholt.

Anmerkung zur Sicherheit der Überschreibungsvorgänge

Ein “sicher” vorbereitetes Medium zeichnet sich unter anderem durch den Schwierigkeit aus, Rückschlüsse auf Eigenschaften gespeicherter Daten zu ziehen.

Die hier beschriebenen Methoden dienen in erster Linie dazu, das Ausmaß verschlüsselter Datenbereiche zu verschleiern.

Zufallswerte in freien Speicherbereichen erschweren es, am verschlüsselten Medium entsprechende Muster zu erkennen. Je höher die Entropie generierter Werte, desto “zufälliger” sind sie.

badblocks – Integrität des Geräts überprüfen

Bei Verwendung des Schalters -w in Kombination mit -t random beschreibt badblocks das Medium während der Überprüfung mit Pseudo-Zufallswerten.

Je nach Risiko kann dies unzureichend und ein Beschreiben mit Zufallswerten aus /dev/urandom sinnvoll sein.

DISK=
sudo badblocks -c 10240 -s -w -t random -v ${DISK}

badblocks(8)

-c
Anzahl zeitgleich getesteter Blöcke
-w
Jeden Block mittels Schreibzugriff (!) testen
-t
Art des geschriebenen Testmusters festlegen
-v
Umfangreiche Ausgabe

Pro 100 GiB Speichervolumen dauerte dieser Vorgang bei den Festplatten aus dem Jahr 2010 rund eine Stunde.

urandom – Gerät mit Zufallswerten befüllen

Die Gerätedatei /dev/urandom arbeitet mit besonders hoher Entropie und ist somit eine der sichersten und langsamsten Methoden, Medien für eine Verschlüsselung vorzubereiten.

Wird /dev/random an Stelle von /dev/urandom genutzt, kann der Ablauf auf Kosten der Sicherheit beschleunigt werden.

DISK=
sudo dd if=/dev/urandom of=${DISK}

Manpages: dd(1), urandom(4)

Da dieser Vorgang bei großen Platten mehrere Tage dauert, sollte eine beständige Stromversorgung per Batterie (Laptop) oder USV sichergestellt sein.

Fortschritt überprüfen [optional]

Im Beitrag Übertragenes Datenvolumen von dd ausgeben ist erklärt, wie der Fortschritt von dd regelmäßig ausgegeben werden kann.