Ist es möglich, gelöschte Flash-Speicher zu lesen?

Bei Festplatten ändert ein „Schnellformatieren“ nichts an den eigentlichen Daten auf der Festplatte – es löscht lediglich die FAT (Dateizuordnungstabelle), die dem Benutzer dann als „leere Festplatte“ angezeigt wird. Daher ist es ziemlich einfach, die FAT zu ignorieren und diese Daten zu lesen. Obwohl es schwierig ist, bestimmte Daten zu lesen , da es keine Hinweise darauf gibt, wo eine bestimmte Datei beginnt und endet. Einige Formatierungsbefehle speichern sogar eine Sicherungskopie der FAT-Tabelle, und die Wiederherstellung dieser Sicherungskopie manifestiert sich als die „Unformat“-Funktion.

Ein Langformat einer Festplatte setzt die meisten Daten zurück, was die Möglichkeit des Lesens dieser Daten scheinbar ausschließt - mit Ausnahme einer Eigenschaft, die magnetischen Speichermedien eigen ist: Hysterese . Wenn ein Bit auf einer Festplatte gesetzt oder gelöscht wird, ist der Vorgang nicht 100,00 % genau, da das Medium eine Hysterese aufweist. Es verbleibt also eine kleine Menge Restmagnetismus von der vorherigen Operation, und bestimmte Softwaretools können verwendet werden, um Bereiche der Festplatte (mehrmals) zu scannen, um diesen Bruchteil eines Prozents der latenten Magnetisierung zu lesen und diese überschriebenen Daten "wiederzugewinnen".

Aber wie ergeht es den heutigen nichtflüchtigen Festkörperspeichern? USB-Sticks, SSDs, NAND-Flash? Die einzige relevante Information, die ich über ihre Sicherheit und Anfälligkeit finden konnte, ist in diesem Wikipedia-Artikel, in dem es heißt:

Darüber hinaus können gelöschte Dateien auf SSDs auf unbestimmte Zeit verbleiben, bevor sie durch neue Daten überschrieben werden; Lösch- oder Shred-Techniken oder Software, die auf Magnetfestplattenlaufwerken gut funktionieren, haben keine Auswirkungen auf SSDs, wodurch die Sicherheit und die forensische Untersuchung beeinträchtigt werden.

Warte was? Dies scheinen zwei völlig unterschiedliche Aussagen zu sein - die erste impliziert, dass lange Formate niemals ausgeführt werden und Flash daher immer anfällig für die Schwachstelle meines ersten Absatzes ist. Das kann nicht sein, richtig? Da ich einen USB-Stick oder eine SSD "langformatieren" kann oder einen uC anweisen kann, jeden Block eines NAND-Flash zu überschreiben. Und da beim Wear-Leveling Blöcke etwas zufällig platziert werden, würde ich davon ausgehen, dass die Blöcke, die überschrieben werden, ebenfalls eher zufällig sind. Vielleicht würde also nicht die gesamte Datei rechtzeitig überschrieben, aber einige davon scheinen sehr wahrscheinlich.

Es sagt auch, erasure or shred techniques do not work on Flashwas ich kaum glauben kann. Solange jede Zuordnungseinheit überschrieben würde, wären alle Daten vollständig nicht wiederherstellbar, richtig?

Wie dies auf EE.SX zutrifft: Stellen Sie sich einen NAND-Flash mit mehreren Krypto-Schlüsselpaaren darauf vor. Wenn das Gehäuse geöffnet wird, wird das Gerät gelöscht, sodass niemand an die Schlüssel "kommen" kann. Aber reicht ein "Löschen" aus?

Sind nichtflüchtige Flash-Speicher jedoch für jede Art von Datenwiederherstellungstechnik anfällig? Gibt es eine elektrische Feldhysterese , die zur Wiederherstellung überschriebener Daten genutzt werden kann?

Ich wünschte, es wäre möglich, die überschriebenen Daten wiederherzustellen. Es würde bedeuten, dass wir einen unendlichen Speicherplatz haben.
@EugenSch. Nicht unendlich, nur die Möglichkeit, (mit erheblichem Risiko/Kosten und Komplexität) das 2-fache oder mehr der angegebenen/'normalen' Kapazität zu speichern/abzurufen.
Eigentlich ist die Geschichte für eingebettete Geräte anders (da Sie das Thema kurz ansprechen). Wenn Sie Ihre Finger in der Quelle des Betriebssystems haben (ob es sich tatsächlich um Ihr eigenes Mikro-Betriebssystem im Bare-Metal-Stil oder ein tatsächliches Betriebssystem handelt), können Sie eine beliebige Anzahl sicherer Löschungen auf jeder Technologie implementieren, sofern Sie dies wünschen. Natürlich ist die einfachste sofortige Zerstörbarkeit ein absichtlich unterbrechbarer DRAM-Strompfad oder ein HV-löschbarer EEPROM-Chip. Ich wette, die gibt es auch noch.
Die Technik, Bits von Magnetfestplatten wiederherzustellen, ist eine Fehlinterpretation eines einzigen uralten Berichts. Hier ist einer von vielen, der mehr darüber geschrieben hat, warum es nicht funktioniert: digital-forensics.sans.org/blog/2009/01/15/…
Für das Problem mit den Kryptoschlüsseln ist wahrscheinlich ein kleiner RAM mit geringem Stromverbrauch, der von einer Batterie gespeist wird, die bessere Wahl. Öffnen Sie das Gehäuse und es kann in Mikrosekunden überschrieben werden, um es zu löschen. Eine Knopfzelle könnte den Speicher für 10 Jahre versorgen. Sie möchten nicht einfach die Stromversorgung unterbrechen, da ein Gefrierspray den Speicher schnell für viele Minuten stabil macht.
@pipe Ich würde hinzufügen, dass die Hysterese-basierte Wiederherstellung herkömmlicher Festplattendaten vor langer Zeit häufiger gehört wurde. Heute mit unseren Platten in TB-Größe, die mehrere Bits stapeln, stelle ich mir das viel schwieriger, wenn nicht gar unmöglich vor.

Antworten (1)

Das Problem beim sicheren Löschen besteht darin, dass das Gerät eine Übersetzungsschicht enthält. Auf einer Festplatte wird beim Schreiben in Zylinder X Sektor Y immer derselbe Bereich überschrieben. Auf einer SSD verwaltet die Gerätefirmware eine Liste leerer Blöcke und schreibt in den nächsten verfügbaren, wobei eine Tabelle verwaltet wird, die logische Adressen tatsächlichen Flash-Blöcken zuordnet. Normalerweise ist etwas mehr Flash als die angegebene Kapazität als Reserve vorhanden, sodass ein vollständiger Schreibvorgang möglicherweise nicht jeden Block berührt. Das Löschen von Blöcken ist langsam, daher werden sie nicht sofort gelöscht und möglicherweise nicht gelöscht, bis der Platz knapp ist.

Die Laufwerksfirmware kann hierfür drei mögliche Lösungen bieten. Einer ist TRIM: Teilen Sie dem Laufwerk mit, welche Blöcke keine Dateisystemdaten enthalten, und lassen Sie es diese präventiv löschen. Einer ist ein spezifischer "sicherer Löschbefehl", der eigentlich alle Blöcke löschen sollte (aber sehr lange dauert). Und eine ist die transparente Verschlüsselung auf Blockebene, bei der die Aufforderung an das Laufwerk, den Schlüssel zu verwerfen, sofort alle Daten verliert. Sie sind jedoch Geisel dafür, wie gut dies implementiert wurde, und es können Fehler auftreten.

Mir sind keine Techniken zum Wiederherstellen von Daten aus Flash-Zellen bekannt, die tatsächlich gelöscht wurden. (Tatsächlich können Bits spontan verloren gehen, daher ist eine Fehlerkorrektur eingebaut).

ECC und Redundanz können sich auf hochzuverlässigen SSDs etwas ausdehnen, wo ein forensisches Team, das direkt auf den eigentlichen Flash zugreift, möglicherweise genügend Zellen wiederherstellen kann, indem es Makro-ECC-ähnliche Techniken verwendet, um Daten zu lesen, die als verloren geglaubt wurden. Bei ausreichendem Know-how. (sehr seltene Chance, würde ich sagen, dass all diese Chancen zusammen ausrollen)
Im Allgemeinen verwenden Sie Elektronentunneln zum "Löschen", was bedeutet, dass Sie den Knoten positiv machen. Sie haben Leseverstärker, um den Pegel der Bits zu lesen. Wenn Sie sie also analog betrachten, können Sie den letzten Zustand sehen. Natürlich gibt es einige Vorbehalte, dass Sie Zugriff auf die Debug-Anweisungen benötigen. Ich habe die Injektion heißer Elektronen für ein Papier modelliert, also hatte ich die speziellen Befehle von einem Anbieter, aber wenn ich etwas Großes wiederherstellen möchte, würde es Jahre dauern. Ich konnte nur etwa 1000 einzelne Tore pro Sekunde lesen. :/