Beim Versuch, SSDs sicher zu löschen, treten verschiedene Probleme auf:
- SSDs nutzen sich nach einer begrenzten Anzahl von Löschzyklen ab
- SSDs verfügen über einen Controller, der LBAs (logische Blockadressen, die vom System für den Zugriff auf die Festplatte verwendet werden) den NVRAM-Zellen (den eigentlichen Flash-Speicherzellen) dynamisch zuordnet, um den Verschleiß auszugleichen. Dies bedeutet, dass die Festplatte angewiesen wird, die zuvor gespeicherten Blöcke zu überschreiben Datei kann dazu führen, dass andere Ersatzblöcke überschrieben werden.
- SSDs verfügen über einen beachtlichen Prozentsatz der Reservekapazität, der zum Ausgleich absterbender Speicherzellen und zur Verringerung des Verschleißes verwendet wird. Sie sind für das System nicht sichtbar und können alte Datenfragmente enthalten.
Welche Möglichkeiten haben wir in Ubuntu, um SSDs sicher zu löschen?
Ich habe gehört, dass einige neuere SSDs in der Lage sein sollten, sich selbst sicher zu löschen, aber wie finde ich heraus, ob meine SSD dazu in der Lage ist und wie würde ich sie auslösen?
Es sollte auch einen ATA-Befehl zum sicheren Löschen geben. Wie finde ich heraus, ob dies unterstützt wird, und wie kann ich das auslösen?
Gibt es auch Möglichkeiten, nur eine bestimmte Datei oder nur unbenutzten Speicherplatz sicher zu löschen?
Ich denke, ein Backup aller Partitionen zu erstellen, die gesamte Festplatte sicher zu löschen und dann das Backup wiederherzustellen, wäre möglich, klingt aber zu kompliziert und würde zu lange dauern, um praktisch zu sein. Gibt es noch andere Alternativen? Wenn nicht, mit welchen Tools kann ich Partitionen sichern, ohne auch bereits gelöschte Dateien zu sichern?
Natürlich mögen shred
oder wipe
sind die Standardwerkzeuge hier für die oben beschriebenen Punkte nicht verwendbar. Sie überschreiben einfach eine Datei (indem sie ihre Dateisystem-Cluster überschreiben, die an LBAs gebunden sind, die aufgrund des Wear Leveling Controllers nicht ständig auf dieselben Flash-Zellen zeigen).
quelle
Antworten:
Derzeit gibt es keine Möglichkeit, Dateien auf der SSD sicher zu löschen, ohne den Inhalt des gesamten Laufwerks zu löschen oder auf die Firmware der SSD zuzugreifen.
Es ist unmöglich zu wissen, wo die SSD vorherige Kopien eines logischen Blocks speichern kann.
Erschwerend kommt hinzu, dass aufgrund von Journaling- und Copy-on-Write-Mechanismen des Dateisystems möglicherweise nicht bekannt ist, in welchen logischen Blöcken eine vorherige Kopie einer bestimmten Datei enthalten sein kann.
Der einzige Weg, um zu verhindern, dass gelöschte Dateien an Personen mit direktem Zugriff auf das Laufwerk gelangen, besteht darin, sie zu verschlüsseln und den Verschlüsselungsschlüssel vor neugierigen Blicken zu schützen.
Nachtrag:
Ich habe einige Nachforschungen angestellt und festgestellt, dass Sie alle zuvor gelöschten Dateien irgendwie löschen können, wenn Sie alle nicht belegten Bereiche eines Dateisystems kennenlernen, was in der Regel mit einigen Dateisystem-Tools (z. B. für die ext * -Familie) möglich und möglich ist ) und dann verwerfen (z.
blkdiscard(8)
B. wie in dieser Antwort auf die verknüpfte Frage beschrieben ), wodurch die Blöcke für die Garbage Collection zurückgegeben werden, bis sie erneut verwendet und dabei überschrieben werden.Dies ist sicher für alle, die nicht direkt auf die Flash-Zellen zugreifen können, also für alle, die
quelle
Der einfachste Weg, um festzustellen, ob Ihr Laufwerk das sichere Löschen unterstützt, ist die Frage: In den folgenden Beispielen habe ich / dev / sdX verwendet . Sie müssen es sorgfältig ändern, um es an das Gerät anzupassen, mit dem Sie arbeiten:
Quellen:
https://ata.wiki.kernel.org/index.php/ATA_Secure_Erase
/superuser/1161531/how-to-unfreeze-drive-in-linux
Auf meiner SSD führt dies zu:
Wenn das sichere Löschen von Ihrem Gerät unterstützt wird, erfolgt das Auslösen in zwei oder drei Schritten.
sudo hdparm -I /dev/sdX
:Entsperren Sie es, indem Sie Ihr System anhalten und fortsetzen. Ich tat dies mit dem Befehl
sudo systemctl suspend
, den Zeiger zu bewegen, bis das System wieder aufgenommen wurde.Sie müssen ein Kennwort festlegen, um das sichere Löschen zu verwenden. In diesem Fall verwende ich foobar als Kennwort. Sie können jedes nicht leere Kennwort als temporäres Kennwort verwenden.
sudo hdparm --user-master u --security-set-pass foobar /dev/sdX
Mit dem eingestellten Passwort können Sie nun das Laufwerk sicher löschen:
sudo hdparm --user-master u --security-erase foobar /dev/sdX
Wenn Ihr Laufwerk dies unterstützt und Sie dies wünschen, können Sie stattdessen die erweiterte Sicherheitslöschung verwenden:
sudo hdparm --user-master u --security-erase-enhanced foobar /dev/sdX
quelle