Daten sicher löschen
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.
Dateien sind meistens nach dem einfachen Löschen mittels rm von der Festplatte mit speziellen Tools wiederherstellbar, da sie nicht physikalisch gelöscht, sondern nur mit einer Löschmarkierung versehen werden. Sie werden möglicherweise später überschrieben, wenn neue Dateien angelegt werden.
Bestimmt hat jeder von Zeit zu Zeit ein paar Dateien, die nicht für fremde Augen vorgesehen sind. Wenn man eine gebrauchte Festplatte verkaufen möchte, sollte man diese ebenfalls gründlich löschen, damit der eigene Lebenslauf, Bankdaten und Sonstiges nicht in falsche Hände geraten. Als Vorsorge sollte besser eine Verschlüsselung der einzelnen Daten oder gar der ganzen Partition erfolgen, da hier die Problematik nicht besteht, sofern man einen ausreichend langen Schlüssel verwendet.
In diesem Artikel werden Programme aufgelistet, die Dateien und freien Speicher mehrfach überschreiben und löschen, damit sie nicht mehr wiederhergestellt werden können. Bitte folgenden Hinweis lesen.
Hinweis:
Sowohl das Dateisystem ext3/4 wie auch reiserfs erstellen immer ein Meta-Journal, welches Meta-Daten (unter anderem die Namen von Dateien) beinhalten kann. Diese von den Dateisystemen angelegten Journale können von Programmen nicht einfach überschrieben und gelöscht werden, wenn man nur Dateien überschreibt (beim Überschreiben einer ganzen Device-Datei besteht dieses Problem nicht). Sie können Aufschluss über frühere auf der Festplatte vorhandene Dateien geben. Manche Dateisysteme und Journal-Modi speichern sogar ganze Dateien im Journal, welche dann auch aus dem Journal wieder rekonstruiert werden können, obwohl sie auf der Festplatte vollständig gelöscht und sogar mit wipe überschrieben wurden.
Noch schlechter sieht die Situation aus, wenn man keine "klassischen" (Magnet-)Festplatte verwendet, sondern einen Solid-State-Speicher, wie Flashlaufwerke oder USB-Sticks, deren Verhalten sehr fabrikat- und herstellerabhängig ist. Grundsätzlich ist es bei diesen Speichern nicht möglich, gezielt Blöcke auf dem Speicher zu überschreiben. Weder wipe noch shred funktionieren mit diesen Platten, wenn man nur einzelne Dateien sicher entfernen möchte. Man sollte bei diesen vorsorgen und anstatt wichtige Dateien zu überschreiben, von Anfang an die entsprechenden Daten nur in verschlüsselter Form ablegen. Entweder indem man die Dateien einzeln mit GnuPG verschlüsselt, bevor man sie auf einen solchen Speicher ablegt oder indem man die einzelnen Partitionen auf dem Speicher an sich verschlüsselt.
Zusammenfassung: wipe und shred funktionieren perfekt zum Löschen einzelner Dateien auf herkömmlichen (Magnet-)Festplatten und einem Dateisystem, welches kein Journal anlegt (z.B. bei ext2- oder fat-Dateisystemen). Wenn man nicht nur einzelne Dateien, sondern eine ganze Partition über die Device-Datei überschreibt, besteht die Problematik mit dem Journaling überhaupt nicht, denn in diesem Fall wird auch das komplette Journal unwiderruflich zerstört.
Letzteres lässt sich auch ungefähr auf Solid-State-Speicher übertragen: hier jedoch nur, wenn man die komplette Festplatte (nicht nur die Partition!) bzw. das ganze Laufwerk mehrfach überschreibt. Auch dann sollten wipe und shred jeden Block auf der Festplatte mindestens einmal überschrieben haben. Wie oft es nötig ist, bei Solid-State-Speichern diese Laufwerke zu überschreiben, damit forensische Mittel Daten nicht mehr herstellen können, ist nicht sicher.
Achtung!
Die Vollverschlüsselung des Systems ist dem Überschreiben des freien Speichers im Nachhinein vorzuziehen.
Dateien mit Pseudozufallszahlen überschreiben¶
shred - ist bereits bei Ubuntu vorinstalliert. Es überschreibt Dateien oder Device-Dateien (z.B. Partitionen) und löscht sie danach, wenn gewünscht. Shred arbeitet dabei nach der Gutmann-Methode. Im Gegensatz zu wipe kann shred keine Ordner löschen.
wipe - ist ein Kommandozeilenprogramm zum sicheren Löschen und Überschreiben von Dateien, Ordnern und Device-Dateien (z.B. Partitionen). Wipe kann auch Ordner löschen und bietet mehr Einstellungsmöglichkeiten.
Freien Speicher mit Pseudozufallszahlen überschreiben¶
Viele Nutzer benutzen im alltäglichen Gebrauch ausschließlich rm. Möchte man nach "normalem" Umgang mit einem (unverschlüsselten) Speichermedium, z.B. einer externen Festplatte, sicherstellen, dass auf diesem Speichermedium keine Dateien wiederhergestellt werden können, kann der freie Festplattenspeicher überschrieben werden.
Installation¶
Das für Methode 3 verwendete sfill findet sich im Paket secure-delete in den offiziellen Paketquellen
secure-delete (universe)
Befehl zum Installieren der Pakete:
sudo apt-get install secure-delete
Oder mit apturl installieren, Link: apt://secure-delete
Durchführung¶
Achtung!
Statt wie unten beschrieben können statt Nullen (/dev/zero) auch Pseudozufallszahlen verwendet werden. Dazu ersetzt man in den Befehlen /dev/zero durch /dev/urandom (oder /dev/random - ggf. langsamer, falls die Entropieschwelle unterschritten wird). Das einfache Überschreiben mit Nullen ermöglicht bereits einen hohen Sicherheitsgrad bei HDDs; siehe dazu Sicheres Löschen: Einmal überschreiben genügt 🇩🇪. Sollte der vorgeschlagene einfache Überschreibdurchgang als nicht ausreichend betrachtet werden, kann der gesamte Vorgang wiederholt werden. Bei SSDs wird das Überschreiben mit Pseudozufallszahlen statt mit Nullen empfohlen; siehe dazu Diskussion zu diesem Artikel. Alle Befehlen sollten als Superuser ausgeführt werden, da sonst kleine Teile des Speichers nicht überschrieben werden. Andere Schreib- und Speichervorgänge auf der mit den folgenden Methoden bearbeiteten Partition sollten vermieden werden, da es möglicherweise zu Datenverlust kommen kann. Metadaten werden nicht gelöscht.
Methode 1¶
Folgender Befehl füllt den freien Speicher mit einer Datei (Name: muelldatei) aus Nullen, die im aktuellen Verzeichnis des benutzten Terminals angelegt wird. Nach vollständigem Füllen des Speichers sollte eine entsprechende Fehlermeldung ("Auf dem Gerät ist kein Speicherplatz mehr verfügbar") erscheinen und die Datei kann gelöscht werden. Bei dieser Methode wird eine geringe Menge des Speichers nicht überschrieben.
sudo cat /dev/zero >muelldatei
Methode 2¶
Wie Methode 1, aber mit Hilfe von dd:
sudo dd if=/dev/zero of=muelldatei
Diese Methode ist in der Regel langsamer als Methode 1.
Methode 3 - sfill¶
Das Programm sfill implementiert die Gutmann-Methode. Diese Methode dauert sehr lange und schadet der Festplatte durch die hohe Anzahl von Überschreibdurchgängen. Der zusätzliche Sicherheitsgewinn gegenüber einfachem Überschreiben sorgt weiterhin für Diskussionen. Da ein Verzeichnis angegeben werden muss, erzeugt man vorher z.B. das /Muellverzeichnis.
sudo sfill /Muellverzeichnis
Über die Optionen des Programms lässt sich die Anzahl der Überschreibdurchgänge verringern. Zum Beispiel ermöglicht folgender Befehl nur einen Überschreibdurchgang (mit Pseudozufallszahlen):
sudo sfill -l -lv /Muellverzeichnis
Danach kann das entsprechende Verzeichnis wieder gelöscht werden.
Methode 4 - Skript¶
Skripte/Gerät mit Pseudozufallszahlen überschreiben - Skript, um Partitionen einmal mit Pseudozufallszahlen zu überschreiben
Festplatten sicher löschen¶
Zum sicheren Löschen von ganzen Festplatten empfiehlt sich das systemeigene dd
. Eine Beschreibung findet man im dazugehörigen Artikel unter dem Abschnitt Festplatte sicher löschen.
Links¶
Sicheres Löschen - Einmal überschreiben genügt 🇩🇪 - Heise Security 01/2009
Kurztipp: Sicheres Löschen von Festplatten 🇩🇪 - Pro-Linux.de 06/2003
Putzfimmel - Daten sicher löschen 🇩🇪 - LinuxUser 01/2006
The Truth About – How To Securely Erase a Solid State Drive 🇬🇧
Beitrag bei Stackexchange 🇬🇧 über den Sinn und Unsinn von mehrfachem Überschreiben