Privacy-Handbuch: Daten löschen
Dieser Abschnitt ist noch im Entstehen und noch nicht offizieller Bestandteil des Buchs. Gib den Autoren Zeit, den Inhalt anzupassen!
Neben der sicheren Aufbewahrung von Daten steht man gelegentlich auch vor dem Problem, Dateien gründlich vom Datenträger zu putzen. Es gibt verschiedene Varianten, Datein vom Datenträger zu entfernen. Über die Arbeit der einzelnen Varianten sollte Klarheit bestehen, anderenfalls erlebt man evtl. eine böse Überraschung.
Dateien in den Papierkorb werfen
BearbeitenUnter Windows wird diese Variante als Datei(en) löschen bezeichnet, was etwas irreführend ist. Die Dateien werden in ein spezielles Verzeichnis verschoben. Sie können jederzeit wiederhergestellt werden.
Auch beim Löschen der Dateien in dem speziellen Müll-Verzeichnis werden keine Inhalte beseitigt. Lediglich die von den Dateien belegten Bereiche auf dem Datenträger werden als “frei” gekennzeichnet. Falls sie nicht zufällig überschrieben werden, kann ein mittelmäßig begabter Benutzer sie wiederherstellen. Forensische Toolkits wie Sleuthkit oder Programme wie freeundelete bieten Werkzeuge, die den gesamten, als frei gekennzeichneten Bereich, eines Datenträgers nach Mustern durchsuchen können und Dateien aus den Fragmenten wieder zusammensetzen.
Dateien sicher löschen (Festplatten)
BearbeitenUm sensible Daten sicher vom Datenträger zu putzen, ist es nötig, sie vor dem Löschen zu überschreiben. Es gibt diverse Tools, die einzelne Dateien oder ganze Verzeichnisse shreddern können.
Das GpgSX für Windows bietet als Erweiterung für den Explorer die Möglichkeit, Dateien und Verzeichnisse mit einem Mausklick sicher zu löschen: “Wipe...”
Für WINDOWS gibt es AxCrypt (http://www.axantum.com/AxCrypt). Das kleine Tool zur Verschlüsselung und Löschung von Dateien integriert sich in den Dateimanager und stellt zusätzliche Menüpunkte für das sichere Löschen von Dateien bzw. Verzeichnissen bereit.
Unter Linux kann KGPG einen Reißwolf auf dem Desktop installieren. Dateien können per Drag-and-Drop aus dem Dateimanager auf das Symbol gezogen werden, um sie zu shreddern.
Für Liebhaber der Kommandozeile gibt es shred und wipe für Linux. Einzelne Dateien kann man mit shred löschen:
> shred -u dateiname
Für Verzeichnisse kann man wipe nutzen. Das folgende Kommando überschreibt rekursiv (Option -r) alle Dateien in allen Unterverzeichnissen 4x (Option -q) und löscht anschließend das gesamte Verzeichnis.
> wipe -rcf verzeichnis
Standardmäßig ohne die Option -q überschreibt wipe die Daten 34x. Das dauert bei großen Dateien sehr lange und bringt keine zusätzliche Sicherheit.
Btrfs soll das kommende neue Dateisystem für Linux werden und wird bereits bei einigen Server-Distributionen eingesetzt. Bei diesem Dateisystem funktionieren shred und wipe NICHT. Btrfs arbeitet nach dem Prinzip Copy on Write. Beim Überschreiben einer Datei werden die Daten zuerst als Kopie in einen neuen Bereich auf der Festplatte geschrieben, danach werden die Metadaten auf den neuen Bereich gesetzt. Ein gezieltes Überschreiben einzelner Dateien auf der Festplatte ist bei Btrfs nicht mehr möglich.
Auch bei diesen Varianten bleiben möglicherweise Spuren im Dateisystem zurück. Aktuelle Betriebssysteme verwenden ein Journaling Filesystem. Daten werden nicht nur in die Datei geschrieben, sondern auch in das Journal. Es gibt kein Tool für sicheres Löschen von Dateien, welches direkten Zugriff auf das Journal hat. Die Dateien selbst werden aber sicher gelöscht.
Dateireste nachträglich beseitigen
BearbeitenMit Bleachbit [1] kann man die Festplatte nachträglich von Dateiresten säubern. Das Programm gibt es für Windows und Linux. Linuxer können es auch aus den Repositories installieren.
Nach der Installation ist Bleachbit als Adminstrator bzw. root zu starten und nur die Option Free disk space zu aktivieren (Bild [abb:bleachbit]). Außerdem ist in den Einstellungen ein schreibbares Verzeichnis auf jedem Datenträger zu wählen, der gesäubert werden soll. Anschließend startet man die Säuberung mit einem Klick auf den Button Clean.
[htb]
[[Image:../screenshots/bleachebit-files.png|image]] [abb:bleachbit]
Die Säuberung einer größeren Festplatte dauert einige Zeit. Dabei werden nur die als frei gekennzeichneten Bereiche überschrieben, das Dateisystem bleibt intakt.
Dateien sicher löschen (SSDs)
BearbeitenAlle oben genannten Tools für Festplatten funktionieren nicht mit Flash basierten Solid State Drives (SSD-Festplatten und USB-Sticks)! Um die Speicherzellen zu schonen, sorgt die interne Steuerelektronik dafür, dass für jeden Schreibvorgang andere Zellen genutzt werden. Ein systematischen Überschreiben einzelner Dateien ist nicht möglich. Die Auswertung der Raw-Daten der Flash Chips ermöglicht eine Rekonstruktion mit forensischen Mitteln. Mehr Informationen liefert die Publikation Erasing Data from Flash Drives [2].
Für SSDs ist die Trim Funktion zu aktivieren. Dabei werden den Speicherzellen eines Blocks beim Löschen der Datei auf den Ursprungszustand zurück gesetzt. Zusätzliche Maßnahmen zum sicheren Löschen sind dann nicht mehr nötig. Die meisten aktuellen Betriebssystem aktivieren Trim nicht(!) standardmäßig. Folgende Schritte sind nötig, um Trim nach der Installation für SSDs zu aktivieren:
- Windows 7 und neuer
kann TRIM aktivieren. Starten sie das Programm cmd als Administrator, um ein Terminal zu öffnen. Im Terminal kann man mit folgendem Kommando den Status der Trim Funktion abfragen:
> fsutil behavior query disabledeletenotify
Wenn ein Wert = 0 ausgegeben wird, ist Trim aktiviert. Wird ein Wert = 1 ausgegeben, aktivieren sie die Trim Funktion mit folgendem Kommando:
> fsutil behavior set disabledeletenotify 0
- Linux
unterstützt seit Kernel 2.6.33 die TRIM Funktions für SSDs. Das Dateisystem auf der SSD ist mit der Option discard zu mounten, um TRIM zu aktivieren.
Für fest eingebaute Datenträger können die Optionen in der Datei /etc/fstab modifiziert und die Option discard eingefügt werden:
UUID=[NUMS-LETTERS] / ext4 discard,errors=remount-ro 0 1
Die mount-Optionen für USB-Sticks können mit usbmount angepasst werden. Nach der Installations des Paketes usbmount und pmount kann man in /etc/usbmount/usbmount.conf die Mount-Optionen anpassen. Folgende Einstellungen funktionieren bei mir unter Ubuntu precise:
MOUNTOPTIONS="discard,noexec,nodev,noatime,nodiratime" FS_MOUNTOPTIONS="-fstype=vfat,gid=floppy,dmask=0007,fmask=0117"
Alle Nutzer, die unter Windows mit vFAT formatierte USB-Sticks einsetzen wollen, müssen zur Gruppe floppy gehören (was standardmäßig unter Ubuntu der Fall ist). Die vFAT formatierten Sticks müssen als root ausgehängt werden (mit pumount), bevor man den Stick abzieht. Anderenfalls kann es zu Datenverlusten kommen.
Hinweise: Debian squeeze verwendet noch einen Kernel 2.6.32. und kann mit der Option discard nichts anfangen.
Ich werde für mich persönlich weiterhin die vollständige Verschlüsselung der USB-Sticks den Spielereien mit TRIM vorziehen. Damit werden nicht nur gelöschte Dateien geschützt sondern auch die noch vorhandenen Daten. Das Auslesen der RAW-Daten der Speicherzellen durch Forensiker ist dann ebenfalls wenig erfolgreich.
Gesamten Datenträger säubern (Festplatten)
BearbeitenBevor ein Laptop oder Computer entsorgt oder weitergegeben wird, sollte man die Festplatte gründlich putzen. Am einfachsten erledigt man diesen Job mit Darik’s Boot and Nuke (DBAN) [3] Live-CD. Nach dem Download ist das ISO-Image auf eine CD zu brennen und der Computer mit dieser CD zu booten. Es werden automatisch alle gefundenen Festplatten gelöscht - fertig.
Eine beliebige Linux Live-CD tut es auch (wenn man bereits eine Live-CD nutzt). Nach dem Booten des Live Systems öffnet man ein Terminal (Konsole) und überschreibt die gesamte Festplatte. Bei einem Aufruf wird der Datenträger 4x überschrieben, es dauert einige Zeit.
Für die erste IDE-Festplatte:
# wipe -kq /dev/hda
Für SATA- und SCSI-Festplatte:
# wipe -kq /dev/sda
Wenn die Live-CD das Tool wipe nicht enthält, kann man alternativ dd (disk doubler) nutzen. Um die erste IDE-Festplatte einmal mit NULL und dann noch einmal mit Zufallszahlen zu überschreiben, kann man folgende Kommandos nutzen:
# dd if=/dev/zero of=/dev/hda # dd if=/dev/urandom of=/dev/hda
Mit einfachen Mitteln ist es bereits nach dem Überschreiben mit Nullen nicht mehr möglich, die Daten wiederherzustellen. Wer sich vor Forensik-Experten wie denen bei Geheimdiensten schützen will, sollte die Daten lieber mehrfach mit Zufallszahlen überschreiben. Dabei gilt zu beachten, dass
/dev/urandom
nur Zufallszahlen von schlechter Qualität liefert.
Gesamten Datenträger säubern (SSDs)
BearbeitenDas komplette Löschen einer SSD-Platte 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. Unter Linux kann man das Tool hdparm nutzen, um diese Funktion aufzurufen.
Als erstes ist zu prüfen, ob SECURE-ERASE unterstützt wird:
$ sudo hdparm -I /dev/X
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/X > sudo hdparm --user-master u --security-erase GEHEIM /dev/X
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. Unter Linux auf der Kommandozeile wieder mit:
$ dd if=/dev/zero of=/dev/sdc1
Dabei ist zu beachten, dass beim sogenannten 'Secure Erase' die Informationen nicht tatsächlich vom Datenträger gelöscht werden. Stattdessen markiert die Firmware der SSD die Sektoren als leer, so dass sie nicht mehr gelesen werden können, bis sie beschrieben werden. Möglicherweise lässt die Firmware der SSD das Lesen jedoch trotzdem unter bestimmten Bedingungen zu (die z.B. von Geheimdiensten ausgenutzt werden könnten).