Candle at the Pool

Dieser Artikel ist sehr alt und bezieht sich auf magnetische Festplatten. Bei modernen SSDs ist es bereits völlig ausreichend, die gesamte Platte einmalig mit Nullen zu überschreiben. Weitere Löschdurchgänge sind unnötig und tragen nur zum Verschleiß der Speicherzellen bei. Moderne SSDs mit Hardwareverschlüsselung können außerdem per Secure Erase schnell und schonend gelöscht werden. Hier wird nur ein neuer Schlüssel generiert. Die Daten befinden sich weiter in verschlüsselter Form auf der SSD, sind ohne den alten Schlüssel aber wertlos geworden.

Tagebücher und private Fotos, persönliche E-Mails, Bankverbindungen und Kreditkartennummern, Passwörter... Oft sind wir uns gar nicht bewusst, was für persönliche und geheime Informationen unsere Festplatten gespeichert haben. Nehmen wir uns nur mal als Beispiel das Cookie, durch das wir uns nicht mehr im Onlineshop anzumelden brauchen, oder all die Passwörter, die der Passwort-Manager des Browsers bequemerweise für uns gespeichert hat.

So gibt es immer wieder Aufsehen erregende Berichte über Festplatten mit höchst vertraulichem Inhalt, welche in Online-Auktionshäusern verkauft wurden, ohne vorher ausreichend gelöscht worden zu sein. Ein anderes, etwas amüsanteres Beispiel stammt von dem Käufer eines gebrauchten Notebooks, welches sich als defekt herausstellte. Da der Verkäufer nicht bereit war, das Geld zurückzugeben, veröffentlichte der Betrogene aus Rache allerlei private und delikate Details, die er auf der Festplatte des Notebooks fand.

Was nicht hilft, ist eine Festplatte zu formatieren. Dabei werden nur die Organisationsstrukturen neu angelegt. Es ist mit relativ einfachen Mitteln möglich, die alten Daten wiederherzustellen. Auch eine Low-Level-Formatierung ist nicht gründlich genug, manche Festplattenmodelle ignorieren den Befehl sogar.

Wie löscht man also die ausgediente Festplatte, bevor man sie verkauft oder entsorgt? Dieses Fedorablog-Special beschäftigt sich mit dem Thema.

WARNUNG: Dieser Artikel beschäftigt sich damit, Daten effektiv zu vernichten. Mit nur einer Fehleingabe löscht du unwiderruflich Daten, die du nicht löschen wolltest. Du solltest deshalb peinlichst genau darauf achten, mit welchem Festplatten-Device du hantierst. Schau dir die Kommandozeilen immer noch einmal gründlich an, prüfe sie, dann prüfe sie noch einmal, bevor du die Eingabetaste drückst. Stelle sicher, dass ein aktuelles Backup deiner Daten auf den anderen Festplatten vorhanden ist.

Vorsorgen ist besser als heilen

Diese alte Weisheit gilt auch bei sensiblen Daten. Es ist besser, sie gar nicht erst im Klartext auf die Festplatte zu schreiben, als sie später mit hohem Aufwand wieder von der Platte entfernen zu müssen. Geheimsachen sollte man am besten nur verschlüsselt auf der Festplatte ablegen. Ohne den richtigen Schlüssel sind die Daten dann wertlos. Das bringt nicht nur mehr Sicherheit beim Verkauf einer gebrauchten Festplatte, sondern schützt auch sehr effektiv gegen böse Überraschungen nach einem Diebstahl, oder wenn man zum Beispiel sein Laptop am Flughafen vergessen hat (was wohl tatsächlich recht häufig vorkommt).

Formatieren hilft nicht, weil dadurch nur die Verwaltungsstrukturen neu angelegt werden. Was dagegen wirklich hilft, ist die Festplatte von vorne bis hinten mit Datenmustern zu überschreiben.

Die erste Schwierigkeit ist, den Pfad der zu löschenden Festplatte herauszufinden. In der Regel findet man die Festplatte unter /dev/sd*. In den folgenden Beispielen gehe ich davon aus, dass die zu löschende Festplatte unter /dev/sdb angesprochen wird.

Ob es sich auch wirklich um die richtige Festplatte handelt, kann man herausfinden, indem man eine Partition mounted und nachschaut, oder beispielsweise mit smartctl -A /dev/sdb prüft, ob es sich um das erwartete Modell handelt.

Bevor es dann mit dem Löschen losgehen kann, müssen alle Partitionen der Platte mit umount bzw. swapoff ausgehängt werden.

Einmal ist (fast) keinmal

Durch einmaliges Überschreiben mit Nullen werden bereits alle Informationen so weit gelöscht, dass ein Restaurieren der Daten mit Rettungsprogrammen nicht mehr möglich ist. Dies erfolgt mit Linux-Bordmitteln ganz einfach mit:

dd if=/dev/zero of=/dev/sdb bs=65536

Das Kommando braucht je nach Festplattengröße sehr lange Zeit, durchaus im Stundenbereich. Das ist normal. Danach enthält die Festplatte nur noch Nullen. Man kann das mit folgendem Kommando überprüfen:

strings /dev/sdb

Das Kommando durchsucht die ganze Festplatte nach Textmustern (was wieder einige Zeit beansprucht). Es darf keine einzige Zeile ausgeben.

Es ist nun mit den normalen Programmen zur Datenrettung nicht mehr möglich, irgendwelche Daten von der Platte zu restaurieren. Allerdings bleibt ein gewisser Restmagnetismus auf der Oberfläche der Magnetplatte erhalten. Professionelle Datenrettungsdienste haben durchaus noch die Möglichkeit, einen Teil der Daten wiederherzustellen, indem sie die Festplatte öffnen und mit Spezialgeräten die Magnetoberfläche abtasten. Die Methode ist also nur hinreichend sicher, wenn auf der Festplatte keine schutzwürdigen Daten vorhanden waren.

Update: Dass Datenrettungsdienste diese Möglichkeit haben, gehört bei “modernen” Festplatten (Baujahr ab 2003) wegen der hohen Datendichte wohl in das Land der Mythen. Ein einmaliges Überschreiben mit Nullen reicht aus technischer Sicht demnach bereits aus. Zum Erfüllen datenschutzrechtlicher Vorgaben könnten trotzdem weitere Durchgänge erforderlich sein.

Mit dem Zufall zum Ziel

Deutlich sicherer, aber auch deutlich zeitaufwändiger ist es, die Festplatte mehrfach mit Zufallszahlen zu überschreiben. Dadurch werden die Magnetpartikel auf der Oberfläche mit relativ hoher Wahrscheinlichkeit mindestens einmal in den jeweils anderen Zustand versetzt. Auch das ist mit Linux-Bordmitteln möglich:

dd if=/dev/urandom of=/dev/sdb bs=65536

Das US-Verteidigungsministerium empfiehlt, die Festplatte zweimal mit Nullen und einmal mit Zufallszahlen zu überschreiben, um es den Datenrettungsdiensten schon schwerer zu machen. Noch besser ist es, die Festplatte sieben mal zu überschreiben, wovon drei mal Zufallszahlen verwendet werden.

Ein wenig erleichtert das Kommando shred diese Aufgabe, zum Beispiel durch folgende Zeile:

shred -n6 -z /dev/sdb

Es überschreibt die Festplatte sechs mal mit Zufallszahlen (-n6) und anschließend noch einmal mit Nullen (-z). Und man kann es unbeobachtet laufen lassen, bis es fertig ist.

Mit diesem Verfahren ist die Platte schon ziemlich sicher gelöscht. Sie kann jetzt ruhigen Gewissens entsorgt oder verkauft werden, selbst wenn persönliche Daten vorher darauf vorhanden waren. Eine Datenrettung ist durch Speziallabors zwar immer noch theoretisch möglich, allerdings ist das so teuer und mit so geringen Erfolgsaussichten, dass niemand es mehr aus purer Neugierde machen wird, sondern nur, wenn die vermeintlich noch vorzufindenden Daten einen entsprechend hohen Gegenwert haben.

Für Paranoide...

Aber auch das ist noch nicht das Ende der Möglichkeiten. Das Verfahren nach Gutmann berücksichtigt die verschiedenen Möglichkeiten, wie Festplatten Daten auf der Magnetschicht ablegen können. Gerade bei sehr alten Festplattenmodellen mit geringer Datendichte ist das nicht unwichtig.

Das Verfahren erfordert ganze 35 Durchläufe, wobei neben Zufallszahlen auch spezielle Bitmuster auf die Festplatte geschrieben werden. Das Ergebnis dürfte – wenn überhaupt – nur noch durch extrem hohen technischen Aufwand wieder restaurierbar sein.

Das BSI empfiehlt für diesen Zweck das Programm Wipe. Leider steht es in keinem aktuellen Fedora-Repository zur Verfügung, sondern nur für ältere Fedora-Versionen bei Dag Wieërs.

Um mit Wipe die Festplatte zu löschen, kann man folgendes Kommando absetzen:

wipe -D /dev/sdb

Der gesamte Löschvorgang kann gut und gerne ein paar Tage dauern. Das -D verhindert, dass anschließend auch die Device-Node /dev/sdb gelöscht wird.

Defekte Festplatten

Ein Problem sind defekte Festplatten.

Moderne Festplatten sind in der Lage, defekte Sektoren automatisch durch Reservesektoren auszutauschen. Die Daten auf dem defekten Sektor werden dann vom Überschreibevorgang nicht erfasst und sind von einem Rettungsdienst möglicherweise immer noch lesbar. Wie viele defekte Sektoren die Festplatte mittlerweile ersetzt hat, kann durch den S.M.A.R.T.-Status ermittelt werden. Ist auch nur ein Sektor defekt, sollte die Platte im Zweifelsfall nicht nur gelöscht, sondern auch physikalisch vernichtet werden.

Vollständig defekte Festplatten (zum Beispiel nach einem Headcrash) können nicht mehr gelöscht werden. Hier sind Datenrettungsdienste fast immer in der Lage, große Mengen an Daten noch auszulesen. Bei defekten Festplatten wird man also um eine Vernichtung nicht herumkommen, um vertrauliche Daten unwiederbringlich zu löschen.

Die Vernichtung

Man sollte davon absehen, eine Festplatte selbst zu zerstören. Manche Magnetplatten sind aus dünnem Glas und zersplittern leicht, es besteht Verletzungsgefahr! War der Zerstörungsversuch unzureichend, können die Daten außerdem von Dritten problemlos wiederhergestellt werden. Das Beschädigen oder Entfernen der Steuerplatine schützt beispielsweise nur vor einem flüchtigen neugierigen Blick auf die Daten, mehr aber auch nicht.

Besser ist es, die Festplatte an einen zertifizierten Datenvernichter zu übergeben. Er wird die Magnetplatten in feine Partikel schreddern oder über die Curie-Temperatur erhitzen, so dass jegliche magnetische Eigenschaften irreversibel verloren gehen. Nur dadurch ist wirklich hundertprozentiger Schutz gewährleistet.

Derart geheime Daten sollten aber sowieso grundsätzlich verschlüsselt auf der Festplatte gespeichert werden.

Apropos Entsorgung

Man sollte nicht nur Festplatten löschen, die verkauft oder am Ende der Mietzeit zurückgegeben werden, sondern auch, wenn sie entsorgt werden sollen. Festplatten sind Elektroschrott und dürfen in Deutschland nicht in den Restmüll geworfen werden! Es gibt dafür kommunale Sammelstellen, welche privaten Elektroschrott kostenlos annehmen und dem Recycling zuführen.