Die für Festplatten emfpohlenen Tools funktionieren nicht mit Flash basierten Solid State Disks (SSDs). Um die Speicherzellen zu schonen, sorgt die interne Steuerelektronik dafür, dass für jeden Schreibvorgang andere Zellen genutzt werden. Ein systematisches Überschreiben einzelner Dateien ist nicht möglich. Erasing Data from Flash Drives (PDF).
Für SSDs ist die TRIM Funktion zu aktivieren. Dabei werden den Speicherzellen eines Blocks einige Zeit nach dem Löschen der Datei auf den Ursprungszustand zurück gesetzt. Weitere Maßnahmen zum sicheren Löschen sind nicht nötig.
- Windows: aktiviert TRIM standardmäßig, wenn bei der Installation eine SSD Festplatte gefunden wurde. Mit fogendem Befehl kann man prüfen, ob TRIM aktiv ist:
> fsutil behavior query disabledeletenotify
Wenn ein Wert = 0 ausgegeben wird, ist Trim aktiviert. Wird ein Wert = 1 ausgegeben (weil man eine SSD nachträglich eingebaut hat oder den AHCI Mode im BIOS erst nachträglich aktiviert), aktivieren sie die Trim Funktion mit dem Kommando:
> fsutil behavior set disabledeletenotify 0
Mit fsutil wird das Trimmen lediglich aktiviert. Ob es wirklich funktioniert, kann man mit dem kleinen Tool trimcheck prüfen. Das Tool ist in einem Verzeichnis auf dem Datenträger abzulegen, den man testen möchte, und als Administrator zu starten.
- Linuxer haben für das Trimmen der Datenträger drei Möglichkeiten:
Standardmäßig verwenden in dem meisten Linux Distributionen "Batched TRIM" (empfohlen). Einmal pro Woche werden alle eingebauten SSDs gesäubert.
Mit folgendem Kommando kann man prüfen, ob die Säuberung aktiv ist:
> sudo systemctl status fstrim.timer
fstrim.timer - discard unsed blocks once a week
Loaded: loaded
Active: active (waiting)
...
Aktivierung/Deaktivierung der wöchtentliche Säuberung erfolgt mit:
> sudo systemctl enable/disable fstrim.timer
- Alternativ kann man "Online TRIM" verwenden, um ungenutzte Blöcke unmittelbar nach dem Löschen der Dateien zu säubern. Für unverschlüsselte Datenträger wird es in "/etc/fstab" aktiviert, indem man die Mountoption "discard" hinzufügt:
UUID=[NUMSLETTER] / ext4 discard,noatime,errors=remount-ro 0 1
Bei LUKS verschlüsselten Datenträgern ist "Online TRIM" in "/etc/crypttab" zu aktivieren, indem man die Mountoption "discard" hinzufügt:
sda2_crypt /dev/sda2 none luks,discard
Nach dem Ändern der Mountoptionen in "/etc/fstab" oder "/etc/crypttab" ist es eine gute Idee, die initramfs Images neu zu bauen:
> sudo update-initramfs -u -k all
- Außerdem kann man das Trimmen eines SSD Datenträgers per Hand starten:
> sudo fstrim <Mountpoint>
Linux Distributionen ohne systemd enthalten in der Regel ein Cron-Script, das wöchentlich den fstrim Befehl für alle internen Datenträger aufruft.
Hinweis: damit TRIM funktioniert, muss im BIOS der
"SATA AHCI Modus" aktiviert sein.
Gesamten Datenträger säubern
Das komplette Löschen einer SSD oder eines USB-Sticks funktioniert am besten, wenn der Datenträger den ATA-Befehl "SECURE-ERASE" unterstützt. Diese Funktion muss allerdings durch den Datenträger bereitgestellt werden. Linuxer können das Tool "hdparm" nutzen.
Als erstes ist zu prüfen, ob "SECURE-ERASE" unterstützt wird:
> sudo hdparm -I /dev/sdX
Das Ergebnis muss einen Abschnitt "Security" enthalten und muss auf
"not frozen" stehen. Falls die Ausgabe
"frozen" liefert, wird "SECURE-ERASE" im Bios des Rechners blockiert.
Security:
Master password revision code = 64060
supported
not enabled
not locked
not frozen
expired: security count
supported: enhanced erase
Dann kann man ein Passwort setzen und den Datenträger vollständig löschen:
> sudo hdparm --user-master u --security-set-pass GEHEIM /dev/sdX
> sudo hdparm --user-master u --security-erase GEHEIM /dev/sdX
Falls der Datenträger "SECURE-ERASE" nicht unterstützt, bleibt nur das einfache Überschreiben des Datenträgers. Dabei werden aber nicht alle Speicherzellen garantiert gelöscht:
> dd if=/dev/zero of=/dev/sdc