Es hat keinen Sinn, mehrere Durchgänge durchzuführen. Einmal reicht.
Das Befüllen eines zu verschlüsselnden Laufwerks mit zufälligen Daten hat hauptsächlich zwei Verwendungszwecke:
- alte, unverschlüsselte Daten loswerden
- machen Sie freien Speicherplatz von verschlüsselten Daten nicht unterscheidbar
Wenn Sie verschlüsseln, soll normalerweise niemand Ihre Daten sehen. Wenn Sie also alte, unverschlüsselte Daten auf diesem Laufwerk haben, möchten Sie diese wahrscheinlich auch entfernen. Eine SSD erledigt dies möglicherweise einfacher und schneller blkdiscard
. In der Tat Linuxmkfs
schneidet alle Daten ab, ohne Sie um Bestätigung zu bitten, was jede Art von Datenwiederherstellung unmöglich macht. Es gibt zu viel TRIM in Linux.
Freier Speicherplatz ist eine Art Grauzone. Wenn Sie auf einer brandneuen Festplatte keine zufälligen Daten vorab eingeben, sind Sektoren, in die noch nie geschrieben wurde, Nullen. Wenn Sie auf einer SSD Discard / TRIM zulassen, ist der freie Speicherplatz ebenfalls Null.
Dies hat zwar keinerlei Auswirkungen auf Ihre Daten (sie sind immer noch verschlüsselt), zeigt jedoch an, über wie viel freien Speicherplatz / tatsächliche Daten Sie verfügen und wo sich dieser freie Speicherplatz / diese freien Daten befinden. Beispielsweise hexdump -C
sieht eine verschlüsselte, zugeschnittene SSD folgendermaßen aus:
# hexdump -C /dev/ssd | grep -C 2 '^\*'
...
--
b3eabff0 dc c9 c7 89 16 ca d3 4f a3 27 d6 df a0 10 c3 4f |.......O.'.....O|
b3eac000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
b3f70000 5a 99 44 b5 9c 6b 1e 9c 81 cf 9a 43 b6 23 e9 0f |Z.D..k.....C.#..|
b3f70010 2c e6 9a 5d 59 9b 46 5f 21 3f 4d 5f 44 5b 0a 6b |,..]Y.F_!?M_D[.k|
--
b3f70ff0 5f 63 8d e8 c4 10 fd b1 a6 17 b5 7d 4a 57 09 68 |_c.........}JW.h|
b3f71000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
b3f72000 5d 1c 09 dd c9 6b 57 18 db 67 e1 35 81 57 45 8e |]....kW..g.5.WE.|
b3f72010 0f a8 be 39 ae e5 5f cf cf e3 8b a7 c1 25 1a a3 |...9.._......%..|
--
...
Daran kann man erkennen, dass ich freie Speicherplatzsegmente an der Adresse habe 0xb3eac000 .. 0xb3f70000
, b3f71000 .. b3f72000
... und das Gegenteil davon sind natürlich Datensegmente wie 0xb3f70000 .. b3f71000
.
Was kannst du damit machen? Naja nichts(*).
(*) möchte ich sagen. Aber die Leute werden kreativ . Freie Speicherplatzmuster können verwendet werden, um den Typ des von Ihnen verwendeten Dateisystems abzuleiten (aufgrund dessen, wie / wo Metadaten gespeichert werden - wenn freier Speicherplatz vorhanden ist, in dem ext4
eine seiner Metadatensicherungen gespeichert werden soll, ist dies höchstwahrscheinlich nicht der Fall ext4
usw.). Manchmal wird sogar angezeigt, welche Distribution Sie verwenden (wenn Ihr Linux-Installationsprogramm das Dateisystem deterministisch ausfüllt, werden Dateien möglicherweise immer an denselben physischen Adressen gespeichert). Zu diesem Zeitpunkt weiß möglicherweise jemand, wo sich eine bestimmte Systemdatei befindet, und kann sie auf irgendeine Weise ändern / beschädigen. (Installer sollten die Art und Weise, in der sie Dateisysteme füllen, zufällig auswählen, um dies zu verhindern.)
Solche Überlegungen sind jedoch sehr theoretisch und mit einem sehr geringen Risiko verbunden, verglichen damit, wie anfällig die meisten verschlüsselten Installationen aus anderen Gründen sind. Bei den meisten Standardinstallationen ist es wahrscheinlicher / einfacher, nur die initramfs zu manipulieren, einen Keylogger zu installieren oder das ausgeführte System auszunutzen, als unkomplizierten Zugriff auf verschlüsselte Daten zu erhalten und diese zu analysieren und auf diese Weise etwas zu erreichen.
Sie sollten sich zuerst Gedanken über diese machen, bevor Sie sich Gedanken über die Freigabe von freiem Speicherplatz machen.
Bei SSD ist es völlig normal, TRIM zu aktivieren und so jederzeit freien Speicherplatz freizugeben. Dies gilt auch für Verschlüsselungslösungen, die auf einer Dateischicht und nicht auf einer Blockschicht arbeiten.
Mit HDD führen Sie die zufällige Löschung hauptsächlich auch auf einer neuen Festplatte durch, weil dies möglich ist, und es gibt keinen Grund, dies nicht zu tun, da dies keine Kosten (abgesehen von einer erstmaligen Einrichtung) und keine Nachteile mit sich bringt.
badblocks
wie bei der Überprüfung auf fehlerhafte Sektoren: Schreiben und Überprüfen von 0en, 1en, 01en, 10en. Für die Ganzplattenverschlüsselung ist es üblich, aus den Gründen von frostschultz (+1) eine verschlüsselte Nullfüllung (um verschlüsselte Daten überall zu schreiben) zu empfehlen, aber all dies vor der Verschlüsselung zu tun, ist ungewöhnlich, nachdem die Verschlüsselung dann ausgeführt wurdebadblocks
oder mkfs's ausgeführt-cc
würde das gleiche, und identifizieren Sie fehlerhafte Blöcke. Vielleicht ist jemand bei Kali ein bisschen paranoid, wenn es darum geht, dass Flash-Speicher (USB, SSD) nicht immer denselben Sektor am selben Ort schreiben und Sektoren zu / von Sicherungen