SSD "Secure Erase" durchführen

Normalerweise verwende ich für diesen Löschvorgang einen Windows-Computer mit der Software  Parted Magic, welches für den moderaten Kaufpreis von US $15 beim Programmierer erhältlich ist. Parted Magic basiert auf einer Linux-Distribution und enthält, wie der Name vermuten läßt, verschiedene Partitionierungstools und natürlich auch ein Werkzeug zur Ausführung des "Secure Erase" zum sicheren Löschen einer SSD-Festplatte.

Das Betriebssystem wird auf einem USB-Stick installiert. Startet man den Computer von diesem Datenträger, erhält man normalerweise einen Schreibtisch mit vielen Partitionierungs-Tools.

Nach dem Update meines Computers auf eine neue Hauptplatine mit X570-Chipsatz von AMD verweigert Parted Magic allerdings den Dienst - der Bildschirm bleibt nach dem Start leider schwarz. Es hilft da weder der "Blank screen workaround", noch das Ausschalten der 3D-Funktionen der Grafikkarte.

Ganz klar: Ein Workaround muss her!

Linux kommt zur Rettung

Linux Mint ist eines der beliebtesten Linux-Betriebssysteme und enthält alle Werkzeuge, um über die Kommandozeile einen Secure Erase-Befehl an die SSD zu senden. Es handelt sich bei Linux Mint um eine vollständige Linux-Distribution mit voller Unterstützung moderner Platinen und Grafikkarten. Zur Vorbereitung müssen Sie  Linux Mint herunterladen und auf einem USB-Stick mit mindestens 8 GB Speicher installieren. Dazu empfehle ich das Dienstprogramm  Yumi (Download vom Heise Verlag)

Nun muß die SSD an den SATA- (2,5") oder M.2-Anschluss (NVMe) angeschlossen werden. Versuchen Sie nicht, die Platte mit einem USB-Adapter anzuschließen. Dies wird nicht funktionieren - im schlimmsten Fall wird die SSD dadurch zerstört ("bricked"). Es ist sinnvoll, alle anderen Laufwerke abzutrennen. Erstens läuft man dann nicht Gefahr, versehentlich eine wichtige Festplatte zu löschen, zweitens weiß man dann ganz genau, wo das Laufwerk ist: ATA-SSDs sind unter /dev/sda und NVE-SSDs unter /dev/nvme0 erreichbar. Die folgenden Beispiele verwenden das Laufwerk /dev/sda. Wenn Sie sich nicht sicher sind, können Sie mit dem Befehl fdisk -l eine Übersicht Ihrer Festplatten erhalten.

Booten Sie von dem vorbereiteten USB-Stick. Nachdem der Bootvorgang abgeschlossen ist, öffnen Sie ein Terminal. Dort holen Sie sich mit dem folgenden Befehl Root-Rechte.

sudo -i

Mit dem folgenden Befehl können Sie die SSD-Festplatte nochmals überprüfen:

hdparm -I /dev/sda

Vergleichen Sie sicherheitshalber die Herstellerangabe mit den Daten Ihrer SSD. Sie finden unter Anderem eine dem folgenden Beispiel ähnliche Angabe:

Security:
    supported
    not	enabled
    not	locked
       	frozen
    not	expired: security count
    supported: enhanced erase
    4min for SECURITY ERASE UNIT. 4min for ENHANCED SECURITY ERASE UNIT.

Frozen!

Im Normalfall friert das BIOS Ihres PC die Sicherheitsfunktionen Ihrer Festplatte ein. Grund: In der Vergangenheit gab es Trojaner, die Festplatten mit einem Kennwort in Sekundenschnelle verschlüsselten und das Kennwort nur gegen Zahlung eines Lösegelds freigaben. Sind die Sicherheitsfunktionen eingefroren, ist dies nicht möglich - aber auch kein "Secure Erase"!

Es reicht normalerweise, den Rechner in den Schlafzustand zu versetzen und nach einigen Sekunden wieder aufzuwecken. Einige Nutzer schwören darauf, das Stromkabel des SATA-Laufwerks kurz abzuziehen. Da dies aber aus Sicht der Elektrik keine Idee ist die mir behagt, schlage ich den Schlafzustand vor. Geben Sie im Terminal folgenden Befehl ein:

sudo systemctl suspend

Nach 5 Sekunden reaktivieren Sie den Computer mit einem kurzen Druck auf den Einschalter. Prüfen Sie die Festplatte mit hdparm -I /dev/sda erneut. Nun sollte die Aussage sinngemäß lauten:

Security:
    supported
    not	enabled
    not	locked
    not frozen
    not	expired: security count
    supported: enhanced erase
    4min for SECURITY ERASE UNIT. 4min for ENHANCED SECURITY ERASE UNIT.

Sicherheit einschalten

Beim "Secure Erase" handelt es sich um eine Sicherheitsfunktion der Firmware Ihrer Festplatte. Um diese zu nutzen, müssen Sie diese Funktion einschalten. Dies geschieht dadurch, dass Sie ein Kennwort vergeben. Keine Bange, das Kennwort wird durch den "Secure Erase"-Vorgang wieder entfernt.

hdparm --user-master u --security-set-pass test /dev/sda

setzt das Kennwort "test" und aktiviert die Sicherheit. Nun können wir löschen! Die Ausgabe des Befehls hdparm -I /dev/sda sollte nun folgendes enthalten:

Security:
   Master password revision code = 65534
       supported
       enabled

Der eigentliche Löschvorgang

time hdparm --user-master u --security-erase test /dev/sda

Die Ausgabe sieht in etwa so aus:

 /dev/sda:
Issuing SECURITY_ERASE command, password="test", user=user
0.000u 0.000s 1:53.32 0.0%      0+0k 0+0io 0pf+0w

Was nun passiert

Der Vorgang ist in wenigen Minuten abgeschlossen. Alle auf der SSD enthaltenen Blöcke werden verworfen ("discarded") und die Speicherbereiche freigegeben. Der Laufwerkscontroller kümmert sich nun darum, die freigegebenen Blöcke zu leeren und für neue Daten vorzubereiten.

Der Befehl hdparm -I /dev/sda muß nun die Information ausgeben:

Security:
    supported
    not	enabled

Fahren Sie den Computer ordnungsgemäß herunter, um die internen Aufräumarbeiten Ihrer SSD nicht zu behindern. Sie können die SSD nun beruhigt weitergeben.

Vergessen Sie aber nicht, dass Sie die SSD vor dem Gebrauch partitionieren und die Partitionen formatieren müssen.

tl;dr

  1. SSD an SATA/M.2 anschließen
  2. Linux Mint von USB-Stick booten, Terminal öffnen
  3. sudo -i
  4. hdparm -I /dev/sda
  5. Wenn eingefroren: sudo systemctl suspend, nach 5 Sekunden wieder aufwecken
  6. hdparm --user-master u --security-set-pass test /dev/sda
  7. time hdparm --user-master u --security-erase test /dev/sda