Der steinige Weg oder die lange Geschichte eines Datenwiederherstellungsversuchs

Im Jahr 2019 erhielt unser Labor ein nicht ganz gewöhnliches Speichermedium: die QUANTUM FIREBALL Plus KA mit 9,1 GB. Laut dem Besitzer fiel der Speicher schon 2004 aufgrund eines defekten Netzteils aus, das die Festplatte und andere PC-Komponenten mit sich riss. Es folgten zahlreiche Besuche in verschiedenen Servicezentren, um das Laufwerk zu reparieren und die Daten wiederherzustellen, die jedoch erfolglos blieben. Manchmal wurde eine kostengünstige Lösung versprochen, doch die Probleme blieben ungelöst; an anderen Orten waren die Preise zu hoch, wodurch der Kunde sich gegen eine Datenwiederherstellung entschied. Letztendlich durchlief die Festplatte viele Servicezentren. Sie ging dabei mehrfach verloren, aber zum Glück hatte der Besitzer im Voraus dafür gesorgt, die Informationen von den verschiedenen Aufklebern auf dem Laufwerk zu notieren, was ihm half, genau seine Festplatte aus einigen der Servicezentren zurückzubekommen. Diese viele Hängepartien blieben nicht ohne Folgen: Auf der Originalplatine des Controllers sind zahlreiche Lötstellen zu sehen, und es ist auch optisch ein Mangel an SMD-Elementen zu spüren (um vorwegzunehmen, es ist das kleinste Problem dieses Laufwerks).

Der steinige Weg oder die lange Geschichte eines Datenwiederherstellungsversuchs
Abb. 1 HDD Quantum Fireball Plus KA 9,1 GB

Zuerst musste ich mich mit der Suche im Spenderarchiv nach einem solch alten Zwillingsbruder dieses Laufwerks mit einer funktionierenden Controller-Platine auseinandersetzen. Nachdem dieser Quest abgeschlossen war, konnten umfassende Diagnoseschritte durchgeführt werden. Wir überprüfen die Wicklungen des Motors auf Kurzschlüsse und stellen sicher, dass es keine gibt, bevor wir die Platine vom Spenderlaufwerk auf das Patientenlaufwerk installieren. Dann legen wir die Stromversorgung an und hören das normale Geräusch des Drehens der Welle, bestehen den Kalibrierungstest mit dem Laden der Firmware, und nach ein paar Sekunden meldet das Laufwerk über die Register, dass es bereit ist, auf Befehle über die Schnittstelle zu reagieren.

Der steinige Weg oder die lange Geschichte eines Datenwiederherstellungsversuchs
Abb. 2 DRD DSC-Indikatoren bedeuten Bereitschaft zur Annahme von Befehlen.

Wir reservieren alle Kopien der Firmware-Module. Wir führen eine Integritätsprüfung der Firmware-Module durch. Bei der Auslesung der Module gibt es keine Probleme, aber die Analyse der Berichte zeigt einige Auffälligkeiten.

Der steinige Weg oder die lange Geschichte eines Datenwiederherstellungsversuchs
Abb. 3. Zonentabelle.

Wir achten auf die Zoneneinteilungstabelle und bemerken, dass die Anzahl der Zylinder 13845 beträgt.

Der steinige Weg oder die lange Geschichte eines Datenwiederherstellungsversuchs
Abb. 4 P-Liste (Primärliste – Liste der während des Produktionszyklus festgestellten Mängel).

Wir weisen auf die zu geringe Anzahl von Mängeln und deren Lokalisierung hin. Wir überprüfen das Modul zum Verstecken von Fabrikfehlern (60h) und stellen fest, dass es leer ist und keinen einzigen Eintrag enthält. Daher können wir annehmen, dass in einem der vorherigen Servicezentren möglicherweise Manipulationen im Dienstbereich des Speichers vorgenommen wurden. Vielleicht wurde versehentlich oder absichtlich ein fremdes Modul aufgezeichnet oder die Mängelliste im Original gelöscht. Um diese Annahme zu überprüfen, erstellen wir eine Aufgabe im Data Extractor mit aktivierten Optionen "sektorweise Kopie erstellen" und "virtuellen Übersetzer erstellen".

Der steinige Weg oder die lange Geschichte eines Datenwiederherstellungsversuchs
Abb. 5 Aufgabendetails.

Nachdem wir die Aufgabe erstellt haben, überprüfen wir die Einträge in der Partitionstabelle im Nullsektor (LBA 0).

Der steinige Weg oder die lange Geschichte eines Datenwiederherstellungsversuchs
Abb. 6 Haupt-Boot-Eintrag und Partitionstabelle.

An der Offset 0x1BE befindet sich der einzige Eintrag (16 Bytes). Der Dateisystemtyp der Partition ist NTFS, Offset bis zum Anfang 0x3F (63) Sektor, Größenumfang der Partition 0x011309A3 (18.024.867) Sektoren.
Im Sektor-Editor öffnen wir LBA 63.

Der steinige Weg oder die lange Geschichte eines Datenwiederherstellungsversuchs
Abb. 7 Bootsektor NTFS.

Auf Grundlage der Informationen im NTFS-Sektor des Volumes lässt sich Folgendes sagen: Die Sektorgröße, die im Volume angenommen wird, beträgt 512 Bytes (an Offset 0x0B ist das Wort 0x0200 gespeichert), die Anzahl der Sektoren pro Cluster ist 8 (an Offset 0x0D ist das Byte 0x08 gespeichert), die Clustergröße beträgt 512×8=4096 Bytes, der erste MFT-Eintrag befindet sich an Offset 6.291.519 Sektoren vom Anfang der Festplatte (an Offset 0x30 ist das quadrierte Wort 0x00 00 00 00 00 0C 00 00 (786.432) die Cluster-Nr. des ersten MFT). Die Sektor-Nummer wird nach folgender Formel berechnet: Cluster-Nummer * Anzahl der Sektoren im Cluster + Offset zum Anfang der Partition 786.432 * 8 + 63 = 6.291.519).
Wir wechseln zu Sektor 6.291.519.

Der steinige Weg oder die lange Geschichte eines Datenwiederherstellungsversuchs
Abb. 8

Die Daten in diesem Sektor ähneln jedoch überhaupt nicht einem MFT-Eintrag. Dies deutet zwar auf eine mögliche fehlerhafte Übersetzung aufgrund einer inkorrekten Defektliste hin, beweist diesen Fakt jedoch nicht. Zur weiteren Überprüfung führen wir eine Disklesung über 10.000 Sektoren in beide Richtungen relativ zu Sektor 6.291.519 durch. Anschließend führen wir eine Suche nach regulären Ausdrücken im Gelesenen durch.

Der steinige Weg oder die lange Geschichte eines Datenwiederherstellungsversuchs
Abb. 9 Erster MFT-Eintrag

Im Sektor 6 291 551 finden wir den ersten MFT-Eintrag. Seine Position weicht um 32 Sektoren von der berechneten ab, gefolgt von einer Gruppe von 16 Einträgen (von 0 bis 15). Wir tragen die Position des Sektors 6 291 519 mit einer Verschiebung von 32 Sektoren in die Verschiebungstabelle ein.

Der steinige Weg oder die lange Geschichte eines Datenwiederherstellungsversuchs
Abb. 10

Die Position des Eintrags Nr. 16 sollte sich bei der Verschiebung 12 551 431 befinden, allerdings finden wir dort Nullen anstelle eines MFT-Eintrags. Wir führen eine ähnliche Suche in der Umgebung durch.

Der steinige Weg oder die lange Geschichte eines Datenwiederherstellungsversuchs
Abb. 11 MFT-Eintrag 0x00000011 (17)

Es wird ein großer MFT-Ausschnitt gefunden, der mit dem Eintrag Nr. 17 beginnt und 53 646 Einträge umfasst, mit einer Verschiebung von 17 Sektoren. Für die Position 12 155 431 tragen wir die Verschiebung +17 Sektoren in die Verschiebungstabelle ein.
Nachdem wir die Positionen der MFT-Ausschnitte im Raum bestimmt haben, können wir schließen, dass es sich nicht um einen zufälligen Fehler handelt, sondern um Eintragungen von MFT-Ausschnitten mit inkorrekten Verschiebungen. Die Version mit dem fehlerhaften Übersetzer kann als bestätigt angesehen werden.
Für die weitere Lokalisierung der Versatzpunkte setzen wir den maximal möglichen Versatz. Dazu bestimmen wir, wie stark der Endmarker des NTFS-Partitions verschoben ist (eine Kopie des Bootsektors). In Abbildung 7, bei einem Versatz von 0x28, ist das vierte Wort der Wert der Partitionsgröße 0x00 00 00 00 01 13 09 A2 (18 024 866) Sektoren. Wir addieren den Versatz der Partition vom Anfang der Festplatte zur Länge, um den Versatz des Endmarkers des NTFS zu erhalten: 18 024 866 + 63 = 18 024 929. Zu erwarten war, dass dort keine benötigte Kopie des Bootsektors zu finden war. Bei der Suche in der Umgebung wurde er mit einem ansteigenden Versatz von +12 Sektoren im Verhältnis zum letzten MFT-Fragment entdeckt.

Der steinige Weg oder die lange Geschichte eines Datenwiederherstellungsversuchs
Abb. 12 Kopie des NTFS-Bootsektors

Eine andere Kopie des Bootsektors bei einem Versatz von 18 041 006 wird ignoriert, da sie nichts mit unserer Partition zu tun hat. Basierend auf den vorherigen Maßnahmen wurde festgestellt, dass innerhalb der Partition Fragmente aus den "aufgetauchten" 61 Sektoren vorhanden sind, die die Daten verschoben haben.
Wir führen eine vollständige Lesung des Speichermediums durch, bei der 34 nicht lesbare Sektoren verbleiben. Leider lässt sich nicht mit zuverlässiger Sicherheit garantieren, dass es sich bei allen um Defekte handelt, die aus der P-Liste entfernt wurden. Bei weiterer Analyse ist es jedoch ratsam, ihre Position zu berücksichtigen, da in einigen Fällen die Punkte der Verschiebung mit der Genauigkeit eines Sektors und nicht einer Datei bestimmt werden können.

Der steinige Weg oder die lange Geschichte eines Datenwiederherstellungsversuchs
Abb. 13 Datenstatistik der Festplatte.

Unsere nächste Aufgabe wird es sein, die ungefähren Stellen der Verschiebungen zu bestimmen (mit genauer Angabe der Datei, in der sie aufgetreten sind). Dazu scannen wir alle MFT-Einträge und erstellen Ketten der Dateipositionen (Dateifragmente).

Der steinige Weg oder die lange Geschichte eines Datenwiederherstellungsversuchs
Abb. 14 Ketten der Dateipositionen oder ihrer Fragmente.

Als nächstes suchen wir von Datei zu Datei, ab wann anstelle des erwarteten Dateikopfes andere Daten vorhanden sind, und der benötigte Kopf wird mit einer positiven Verschiebung gefunden. Während wir die Punkte der Verschiebungen präzisieren, füllen wir die Tabelle aus. Das Ergebnis wird eine Liste von über 99 % fehlerfreien Dateien sein.

Der steinige Weg oder die lange Geschichte eines Datenwiederherstellungsversuchs
Abb. 15 Liste der Benutzerdaten (die Zustimmung des Kunden zur Veröffentlichung dieses Screenshots wurde eingeholt)

Um punktuelle Verschiebungen in einzelnen Dateien festzustellen, können zusätzliche Arbeiten durchgeführt werden, und mit Kenntnis der Dateistruktur lassen sich Datenfragmente finden, die nicht zu ihr gehören. In diesem speziellen Fall war dies jedoch wirtschaftlich nicht sinnvoll.

P.S. Ich möchte auch an die Kollegen appellieren, die diese Festplatte zuvor in Händen hielten. Bitte seien Sie bei der Arbeit mit der Firmware der Geräte vorsichtig und sichern Sie alle Betriebsdaten, bevor Sie irgendetwas ändern, und vermeiden Sie es, das Problem absichtlich zu verschärfen, wenn Sie sich nicht mit dem Kunden über die Durchführung der Arbeiten einig geworden sind.

Vorheriger Beitrag: Sparen an Streichhölzern oder Datenwiederherstellung von einer kratzenden HDD Seagate ST3000NC002-1DY166

Quelle: habr.com

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster