Datenlöschung auf USB-Sticks und anderen Flash-Medien

Ein Besucher des Blogs schreibt:

„Bei Festplatten sind die Angaben ja korrekt, bei USB-Sticks sieht das etwas anders aus: Hier verteilt meist der Controller die Schreibzugriffe auf unterschiedliche Speicherzellen. Natürlich ist ein einmaliges Überschreiben besser als nichts, aber das Restrisiko Daten zurück zu lassen ist technisch Bedingt größer, vor Allem, wenn nicht der Komplette Stick überschrieben wird.

Dieser Hinweis dürfte für Anwender von Flash-Medien interessant sein.

Bei Festplatten werden die Daten magnetisch gespeichert. Die Magnetisierung der jeweiligen Partikel bzw. Bereiche (in der Fachsprache „magnetische Domänen“ genannt) auf der Festplatte, die jeweils ein die kleinste speicherbare Einheit von einem Bit repräsentieren, hält unter normalen Umständen mehrere Jahre ihren Zustand. Die Daten gehen nicht verloren.

Bei Flash-Medien wie USB-Sticks und SSD-Festplatten werden die Informationen in sogenannten Speicherzellen abgelegt. Diese Speicherzellen bestehen aus besonderen MOSFET-Transistoren, die einen elektrisch isolierten Bereich beinhalten. Beim Beschreiben einer Flash-Zelle werden – vereinfacht ausgedrückt – Elektronen in der Zelle abgelegt und anschließend die Zelle auf Isolation geschaltet. Die Elektronen sind nun in der Zelle eingeschlossen und verteilen sich nur sehr langsam. Dieser Prozess dauert unter Normalbedingungen mehrere Jahre – somit sind Informationen in Flash-Speichern mehrere Jahre haltbar. Beim Lesevorgang wird geprüft, ob in der jeweiligen Zelle Elektronen vorhanden sind (eine Spannung) oder nicht. Das Ergebnis dieser Prüfung repräsentiert eine binäre 1 oder 0, so wie bei einer Festplatte eine magnetisierte Domäne für eine 1 und eine entmagnetisierte Domäne für eine 0 steht.

Flashspeicher haben den Nachteil, daß für das Beschreiben, sozusagen das Hineinquetschen von Elektronen in den isolierten Bereich der Zelle, kurzzeitig eine Überspannung angelegt werden muss. Die Flashzelle würde diese Überspannung auf Dauer nicht aushalten. Auch viele kurze Schreibvorgänge belasten die Zelle stark.

Aus diesem Grund sind Flash-Zellen nur für eine bestimmte Anzahl von Schreibzyklen ausgelegt, im Gegensatz zu Festplatten, die durch die Magnetisierung und Entmagnetisierung keine Abnutzung erfahren und in aller Regel nur wegen mechanischen Defekten (Motorschaden, „Head Crash“ etc.) Datenverluste erleiden.

Heutige Multilevel-Flashzellen sind meist zwischen 10.000 und 20.000 Mal beschreibbar. Dies mag dem Nutzer viel erscheinen. Man sollte sich allerdings vor Auge führen, daß Betriebssysteme oft Log-Dateien anlegen die regelmäßig und häufig beschrieben und aktualisiert werden müssen, oder das Betriebssystem bei jedem Zugriff auf eine Datei den Zeitstempel aktualisiert, wann zuletzt auf die Datei zugegriffen wurde. Dabei entsteht jeweils ein Schreibzugriff auf das Speichermedium, und 10.000 Zugriffe sind dadurch schnell erreicht. Auch Anwendungsprogramme führen regelmäßig Schreibzugriffe aktives Zutun des Nutzers durch. Beispielsweise legen Office-Programme alle 5 bis 10 Minuten Sicherungskopien der aktuell bearbeiteten Dokumente an, die sie jeweils mit der aktuellsten Version überschreiben.

Um dem Nutzer ein möglichst langes Vergnügen mit seinem Flash-Speicher zu gewähren, bauen Hersteller von Flash-Medien eine Steuerelektronik in die Flash-Medien ein. Diese Steuerelektronik führt ein sogenanntes „Wear-Leveling“ (sinng. als „Abnutzungs-Ausgleich“ übersetzbar) durch. Dies bedeutet: Der Flash-Speicher führt über die gesamte Lebensdauer des Mediums Buch, welche Zellen wie oft beschrieben wurden. Werden neue Daten auf das Medium geschrieben, sorgt das „Wear-Leveling“ dafür, dass alle Zellen möglichst gleich oft beschrieben wurden. Somit wird verhindert, dass bestimmte Zellen sehr häufig beschrieben werden und das Medium frühzeitig ausfällt. Was dem Benutzer und dem Betriebssystem als zusammenhängender Speicherbereich auf dem Flash-Medium erscheint, kann in Wirklichkeit auf zahlreiche Zellen auf unterschiedlichen Bereichen im Speichermedium verteilt sein. Die Wear-Leveling-Elektronik bedient sich einer Übersetzungstabelle, die den nach Aussen abgebildeten durchgängigen Speicherbereich beliebig umorganisieren kann, ohne daß das Betriebssystem Kenntnis davon hat. Beim Wear-Leveling kann passieren, daß das Speichermedium bereits bestehende Zellen kopiert. Angenommen alle Zellen auf einem Speichermedium haben im Schnitt bereits 1000 Schreibzugriffe erfahren. Nun wird auf Zelle X besonders häufig geschrieben, und diese Zelle hat bereits 2000 Schreibzugriffe hinter sich. Das Speichermedium kann nun den Inhalt von Zelle X auf Zelle Y kopieren, die erst 500 Schreibzugriffe hinter sich hat. Das Betriebssystem bekommt davon nichts mit, da das Speichermedium auch den internen Verweis in der Übersetzungstabelle entsprechend von Zelle X auf Zelle Y änderte. Löscht der Nutzer nun den Inhalt von Zelle Y, kann es passieren, daß der alte Inhalt weiterhin auf Zelle X fortbesteht und durch forensische Datensicherung ausgelesen werden kann – obwohl der Inhalt der Datei überschrieben wurde! Das Speichermedium markiert Zelle X als „Tote Zelle“ und löscht diese Zelle nach einer bestimmten Zeit.

Zusätzlich haben Flash-Speicher mit NAND-Speicherchips (diese Typen sind mit Abstand am Verbreitetsten) die Eigenschaft, die Speicherblöcke nicht direkt überschreiben zu können. Meist sind NAND-Speicherzellen in Gruppen von 4 Kilobyte (also 4096 * 8 Transistoren) zusammengefasst. In einem solchen Speicherblock können einzelne Zellen nicht gesondert geändert werden. Vielmehr muss der gesamte Block überschrieben werden. Dies wiederum geht nur, wenn der Block zuvor vollständig gelöscht wurde (also alle Elektronenspeicher entladen wurden). Dieser Prozess würde lange dauern und Schreibprozesse stark verzögern. Deswegen unterstützen viele Flash-Speichermedien und moderne Betriebssysteme einen speziellen ATA-Befehl namens TRIM. Beim Löschen von Dateien teilt das Betriebssystem dem Speichermedium mit, welche Zellen nicht mehr benötigt werden. Das Flash-Speichermedium kümmert sich nun automatisch darum, die jeweiligen Zellen zu löschen, während der PC läuft und das Speichermedium ansonsten untätig ist.

Diese beiden Besonderheiten von Flash-Medien haben aus forensischer Sicht Vor- und Nachteile. Einerseits ist das TRIM-Kommando von Vorteil, wenn es vom Speichermedium und dem Betriebssystem unterstützt wird. Während das explizite Überschreiben von Daten bei herkömmlichen Festplatten nur auf Befehl des Benutzers stattfindet, zeitintensiv ist und die Festplatte währenddessen keine anderen Aufträge verarbeiten kann, kümmern sich Flash-Speichermedien durch den TRIM-Befehl von alleine um das Löschen der Daten – sogar dann, wenn der Benutzer die Datei lediglich normal gelöscht und nicht explizit überschrieben hat. Die Daten in einem mit dem TRIM-Befehl überschriebenen Speicherblock lassen sich nach heutigem Stand der Technik nicht wiederherstellen. In einem Fachmagazin wurde in Bezug auf den ATA-TRIM-Befehl bei SSD-Festplatten ein Artikel mit dem treffenden Titel „Der Anfang vom Ende der gängigen Methoden in der digitalen forensischen Datenwiederherstellung?“ veröffentlicht: Für Computerforensiker bedeutet der ATA-TRIM-Befehl weniger Arbeit. Bestenfalls sind auf der Festplatte lediglich jene Daten vorhanden, die ohnehin sichtbar sind. Ein Versuch der Wiederherstellung gelöschter Daten wird bei korrekt ausgeführtem ATA-TRIM keine weiteren Daten hervorbringen, da alle gelöschten Daten nicht nur auf dem Dateisystem entfernt, sondern auf dem Datenträger wirklich physisch gelöscht sind.

Einen sehr großen Nachteil hingegen hat aus forensischer Sicht das Wear-Leveling. Wie der zitierte Kommentator anmerkte, kann sogar das Überschreiben einer Datei unter Umständen nicht verhindern, daß sie Teile oder sogar die gesamte Datei im Originalzustand noch auf „toten Zellen“ des Speichermediums befindet, die vom Speichermedium noch nicht zurückgesetzt wurden. Selbst ein Reinigen des Speichermediums mit Löschprogrammen, die bei magnetischen Festplatten einwandfrei funktionieren, führt nicht garantiert zum Erfolg.

Konkrete Zahlen oder Überreste in Prozentangaben können unmöglich angegeben werden. Jeder Hersteller verwendet unterschiedliche Steuerelektronik, die sich von Modell zu Modell und dort teilweise von Charge zu Charge unterscheidet. Ausgegangen werden sollte – bei einem vollständigen Überschreiben eines USB-Sticks – von Überresten der Originaldaten von mindestens fünf Prozent der Gesamtspeicherkapazität. Dies mag sich wenig anhören – bei einem USB-Stick mit 2 Gigabyte Speicherkapazität sind fünf Prozent allerdings 100 Megabyte erhaltene Originaldaten, die als Textdaten dem Textumfang der Bücher einer kleinen Bibliothek entsprechen.

An dieser Stelle muß erwähnt werden, daß bei USB-Sticks im Gegensatz zu SSD-Festplatten nur der Nachteil zum Tragen kommt. Wegen des geringen Preises befindet sich in USB-Sticks meist eine sehr einfache Steuerelektronik, die zwar Zellen kopieren kann, jedoch den TRIM-Befehl nicht unterstützt. Anwender sollten dabei stehts vom Worst-Case ausgehen.

In der Praxis scheint es, als habe der Nutzer zwei Alternativen. Entweder zerstört der Anwender regelmäßig alte USB-Sticks und tauscht sie durch neue Speicher aus, oder verzichtet auf USB-Speichermedien und nutzt nur Festplatten oder solche SSD-Festplatten, die den TRIM-Befehl verstehen, zusammen mit einem Betriebssystem das ebenfalls ATA-TRIM unterstützt (Windows ab Version 7, Linux ab Kernel-Version 2.6.33 im Zusammenhang mit den Dateisystemen ext4 und brtfs).

Insgesamt sind Flash-Medien durch ihre zusätzliche Abstraktionsebene (Übersetzungstabellen für das Wear-Leveling etc.) intransparenter und unberechenbarer aus Sicht des Anwenders als herkömmliche magnetische Festplatten.

Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: