Speichern und Löschen von Daten auf Festplatten

Eine Festplatte ist wie ein Buch

Man muss sich dazu eine Festplatte einfach wie ein Buch vorstellen (ein richtiges, kein Kindle). Das Inhaltsverzeichnis ist die Dateiverwaltungstabelle (FAT und MFT bei NTFS), das auf die einzelnen Kapitel des Buches verweist (die Dateien). Löscht oder formatiert man nun eine Festplatte, dann “reißt” Windows einfach dieses Inhaltsverzeichnis heraus, lässt aber die Kapitel weiter auf der Festplatte liegen. Genau wie man als Mensch das Inhaltsverzeichnis dann mit Durchblättern und Aufschreiben der Seitenzahlen der Kapitel rekonstruieren könnte, so macht dies auch eine Datenrettungssoftware wie O&O DiskRecovery. Es geht die gesamte Festplatte durch, findet die Dateien und kann sie entsprechend wiederherstellen.

Wie werden Daten gespeichert?

Bevor man Daten endgültig löschen kann, muss man zunächst wissen, wo sich diese Daten überhaupt befinden, denn oft ist es nicht nur die eigentliche Datei, die gelöscht werden muss. Beim Kopieren, Verschieben und Komprimieren von Dateien bleibt die ursprüngliche Version der Datei erhalten. Mit Vorsicht sind auch sogenannte Versionierungssysteme zu genießen, bei denen explizit alte Versionen von Dateien gespeichert werden, um sie später zum Beispiel für Vergleiche und Wiederherstellungen zu nutzen. Insbesondere ist an dieser Stelle auf das Windows-Server-Betriebssystem mit seinen Schattenkopien hinzuweisen. Diese sollen den Benutzer vor dem versehentlichen Ändern oder Löschen von Dateien auf dem Server bewahren. Deshalb werden Änderungen an den Dateien in speziellen Speicherbereichen der Festplatte aufbewahrt, um so alte Versionen wiederherstellen zu können. Insofern ist das Löschen dieser (Schatten-)Dateien notwendig, um die Daten vollständig zu vernichten.

Aber auch Windows selbst erstellt Kopien der Daten: Temporäre Dateien enthalten Zwischenversionen der eigentlichen Datei und in der Auslagerungsdatei werden Speicherbereiche, die nicht mehr in den Hauptspeicher passen, aufbewahrt, um später wieder in den Hauptspeicher geladen zu werden. Temporäre Dateien werden zwar in der Regel beim Beenden des zugehörigen Programms gelöscht, aber auch hier ist das Löschen wieder nur das Freigeben des Speicherplatzes auf der Festplatte, so dass sich auch diese Daten rekonstruieren lassen.

Versteckte Datenspeicher

Daten verbergen sich aber auch noch an einigen anderen Stellen, auf die man als Benutzer normalerweise keinen Zugriff hat. Eines dieser Probleme stellen die sogenannten Cluster Tips dar. Jede Festplatte wird beim Formatieren in Zuordnungseinheiten (Blöcke) unterteilt. Sie sind die kleinsten Einheiten einer Festplatte, die von dem Betriebssystem verwendet werden können. Bei den heutigen Größen von Festplatten im Terabyte-Bereich sind Zuordnungseinheiten mit einer Größe von 64 KByte keine Seltenheit mehr. Für das Betriebssystem bedeutet dies, dass, selbst wenn eine Datei nur 12 KByte groß ist, sie dennoch einen Speicherbereich von 64 KByte belegt. Der Rest dieses Blocks bleibt ungenutzt.

Normalerweise ist dies nicht problematisch, aber Speicherbereiche werden ja auch wieder freigegeben und mit anderen Daten überschrieben. Stellen wir uns nun vor, eine Datei hätte die Größe von 62 KByte und belegt damit einen Block. Diese Datei wird nun gelöscht, die Daten bleiben also erhalten, nur der Verzeichniseintrag verschwindet. In diesen Block wird nun eine neue Datei geschrieben. Ist diese Datei beispielsweise nur 10 KByte groß, werden auch nur die ersten 10 KByte des Blocks überschrieben, der Rest der alten Datei von immerhin 52 KByte bleibt erhalten. Dieses Beispiel lässt sich natürlich auf jede beliebige Datei übertragen, denn auch größere Dateien werden in Blöcke aufgeteilt, so dass der letzte Block in der Regel nicht vollständig belegt wird. Diese Datenfragmente werden als Cluster Tips bezeichnet. Das Problem hierbei ist, dass man an diese Fragmente nicht mehr herankommt, da der Block ja als zu einer existierenden Datei gehörig markiert ist. Nur mit Hilfe spezieller Löschprogramme können diese Bereiche gelöscht werden. Dieses Verfahren wird als Wiping (Verwischen) bezeichnet.

Daten „zwischen den Zeilen“

Das Speichern der Daten auf einer Festplatte erfolgt durch die Magnetisierung kleinster Eisenpartikel, die entsprechend
ihrer Ausrichtung den Wert 0 oder 1 liefern. Diese Partikel sind auf der Oberfläche der Platten aufgetragen und werden in Spuren unterteilt, so dass der Kopf der Festplatte die Daten lesen und schreiben kann. Daten werden aber nicht nur in der Hauptspur der Festplatte, sondern auch in deren Ränder geschrieben, d. h. diese Nebenspuren enthalten ebenfalls die Daten. Normalerweise ist dies nicht problematisch, da die Festplatte beim Lesen dieses „Rauschen“
heraus filtert. Für den potentiellen Angreifer sind diese Nebenspuren jedoch geeignet, die Daten wiederherzustellen.
Früher wurden hierzu einfache Verfahren wie eine minimale Dejustierung der Festplattenköpfe verwendet. Heutzutage
sind diese Nebenspuren aufgrund der höheren Speicherdichte schwieriger zu erreichen. Dafür sind ein erheblicher technischer und finanzieller Aufwand und sehr detailliertes Wissen notwendig, so dass vermutlich nur sehr gut ausgestattete Datenrettungsunternehmen oder staatliche Organisationen dazu in der Lage sind.

Löschen von Daten

Löschen ist nicht gleich Löschen. So löscht beispielsweise das Verschieben von Dateien in den Windows-Papierkorb und dessen anschließende Leerung die Daten nicht wirklich von der Festplatte. Vielmehr wird nur der Verzeichniseintrag entfernt, die eigentlichen Daten bleiben weiterhin auf der Festplatte und können somit rekonstruiert werden. Auch das Formatieren von Partitionen und selbst eine Low-Level-Formatierung auf BIOS-Ebene sind keine sichere Löschung, da die Daten – wenn auch mit mehr Aufwand – immer noch rekonstruiert werden können.

Ein- oder zweimaliges Überschreiben kann durch einen Fehlerfilter ausgeglichen werden und frühere Daten können wieder zum Vorschein gebracht werden. Dabei bedient man sich des physikalischen Effekts, dass die Nullen und Einsen auf der Festplatte durch analoge Signale dargestellt werden. Diese entsprechen aber nie vollständig einer 0 oder 1, sondern werden durch Verrauschen zu 0,05 beziehungsweise 1,05. Die Hardware gleicht diese Fehler durch Toleranzgrenzen aus, so dass eine 1 als 0,95 oder auch als 1,05 gespeichert sein kann. Aus diesen Schwankungen kann man mittels einer Mikroanalyse des analogen Datensignals und der Differenz zum zugehörigen Digitalsignal Rückschlüsse auf die vorherigen Datenwerte ziehen. Wird nämlich eine 0 durch eine 0 überschrieben, ergibt dies eine andere Feldstärke als wenn eine 0 durch eine 1 überschrieben wird. Dieses Verfahren ist zwar technisch aufwändig und auch nicht ganz billig, es zeigt aber, dass das bloße Überschreiben der Daten sie nicht auslöscht. Deshalb verwenden die gebräuchlichen Löschverfahren auch immer eine Kombination aus einem Datenwert und dessen Komplement, um das geschilderte Differenzverfahren unbrauchbar zu machen.

Fragen zu diesem Thema gerne hier im Blog oder bei Facebook oder Twitter!

[sig_olaf_de]

Olaf Kehrer is Managing Director of O&O Software GmbH and is responsible for product development. His focus is centered on developing new concepts for the system tools sector as well as in expanding and adapting existing product lines. Olaf Kehrer was one of the founders of O&O Software GmbH in 1997 and has played a primary role in developing O&O products. Even today, he stands at the very center of their further development and remains dedicated to the goal of creating the best possible products for O&O customers. He has also published white papers on the subject of "Data Data Everywhere". These papers analyzed the handling of obsolete and discarded hard disks and their undeleted data. Olaf Kehrer studied at the Technical University Berlin and has a diploma in Computer Science.