Aus Linux-Magazin 08/2017

Gelöschte Daten rekonstruieren

Im Zeitalter der Mausschubser löscht ein falscher Klick schnell wichtige Daten oder gar komplette Partitionen. Ist dann auch noch das Backup-Tool außer Betrieb, kann nur noch ein Rettungstrupp helfen. Verschiedene Helferlein versprechen Dateien und Partitionen aus dem Nirwana zurückzuholen.

Versehentlich Daten zu löschen, ohne ein aktuelles Backup zu besitzen, das ist der Albtraum vieler User. Zwar bieten aktuelle Anwendungen oft Sicherheitsabfragen vor dem tatsächlichen Löschen an, aber klickt der Anwender hier zu schnell oder bestätigt er voreilig den Löschvorgang, fällt das Kind trotzdem in den Brunnen. Auch fehlerhaft eingegebene Befehlsparameter am Prompt lassen im Handumdrehen ganze Verzeichnisbäume im Nirwana verschwinden.

Zugleich zeigen Umfragen wie die von Seagate [1], dass Nutzer oft keine oder nur mangelhafte Backups anlegen. Hardwaredefekte mal ausgenommen lassen sich Dateien und sogar ganze Partitionen dennoch häufig rekonstruieren. Die Bitparade stellt Tools vor, die helfen.

Organisatorisches

Massenspeicher – egal ob es sich um Festplatten, Solid State Drives oder optische Datenträger handelt – verwalten und legen Daten stets in einer Organisationsstruktur ab. Dabei helfen Dateisysteme, die es in unterschiedlichen Varianten gibt. Allen ist jedoch gemein, dass sie die Datenbestände nicht nur verwalten, sondern dem jeweiligen Betriebssystem in Form von Metadaten die Größe, den Ablageort und die Datei- sowie Verzeichnisattribute mitteilen.

Damit das Betriebssystem verlorene Dateien auf den Speichermedien aufspürt, führt das Dateisystem zusätzlich ein Inhaltsverzeichnis. Es sammelt die Anfangs- und Folgecluster sowie die Anzahl der von einer Datei belegten Cluster (Sektoren). Das Inhaltsverzeichnis legt dabei entweder Referenzen auf entsprechende Daten an oder erzeugt eine Tabelle.

Vorbereitungen

Hält das Speichermedium die Daten nicht mehr parat, sollte der Admin für die erfolgreiche Rekonstruktion einige Prämissen beachten.

Er sollte das betroffene Medium nur im Lesemodus verwenden, um ein versehentliches Überschreiben von Restdaten zu vermeiden. Gibt er ein Verzeichnis auf dem betroffenen Speichermedium als Zielpfad für rekonstruierte Dateien an, ist das keine gute Idee. Am besten startet er das Computersystem von einer Live-CD oder einem USB-Stick mit einem darauf befindlichen Livesystem.

Mitunter wollen Dritte den Datenträger noch professionell forensisch bearbeiten, etwa bei behördlichen Ermittlungen oder juristischen Konflikten, die eine gerichtsfeste Dokumentation der Datenrekonstruktion erfordern. Hier darf der Admin ohnehin nicht mit dem Original-Speichermedium arbeiten, sondern muss eine vollständige Kopie des Mediums anfertigen und sie mit Hilfe einer Prüfsumme verifizieren. Dann erst versucht er die Datenwiederherstellung mit der Kopie.

Eine Kopie fehlerhafter Datenträger legt etwa das sehr betagte, jedoch zuverlässige Kommandozeilenprogramm »dcfldd«[2] an, das es als Erweiterung des Befehls »dd« unter Linux gibt und das auch in vielen Software-Repositories steckt, etwa in denen von Debian, Ubuntu, Fedora, Slackware, Centos und Mageia.

Löscht nun ein Admin eine Datei, passiert dies nicht physisch, sondern das Dateisystem wirft bloß den entsprechenden Eintrag oder die zur Datei gehörende Referenz aus seinem Inhaltsverzeichnis. Teilweise löscht es auch nur den Anfangsbuchstaben des Dateinamens im Verzeichnis, während die Datei selbst unerkannt weiterlebt. Erst wenn das System die noch belegten Sektoren auf dem Massenspeicher mit anderen Daten überschreibt, verschwinden auch die ursprünglichen Dateien.

Weil das so ist, stehen vor allem bei größeren Massenspeichern die Chancen recht gut, dass der Admin mit entsprechendem Werkzeug noch ganze Dateien oder zumindest Fragmente von ihnen nachträglich rekonstruieren kann.

Photorec

Als Klassiker unter den Werkzeugen zur Rekonstruktion gelöschter Datenbestände gilt das unter der GNU GPLv2 publizierte Programm Photorec [3], das bereits Teil der meisten Rescue-Distributionen ist. Darüber hinaus bieten zahlreiche Mandriva-basierte Distributionen, Open Suse, Fedora und Centos Photorec als eigenständiges Paket mit einer optionalen grafischen Oberfläche an.

In Linux-Distributionen gehört Photorec häufig zum Testdisk-Paket, das ganze Massenspeicher-Partitionen rekonstruiert. Es lässt sich etwa unter Debian und Ubuntu aus den Repositories installieren. Die Testdisk-Projektseite [4] bietet neben dem Quellcode aktuelle Versionen von Testdisk an, die ab Kernel 2.6.18 funktionieren.

Photorec stellt – anders als der Name suggeriert – nicht nur Bilddateien wieder her, sondern auch Archive, verschiedene Dokumentformate sowie multimediale Daten. Insgesamt unterstützt Photorec mehrere Hundert Formate aus mehr als 100 Formatfamilien [5].

Zugleich arbeitet Photorec unabhängig vom unterlegten Dateisystem: Es spielt keine Rolle, ob die zu rekonstruierenden Daten auf einer Ext-2-, -3- oder -4-Partition, einem FAT-, VFAT- oder NTFS-Laufwerk oder in der Apple-Welt auf dem Dateisystem HFS+ liegen.

Photorec kommt außerdem mit den vielfältigsten Medien zurecht: Neben herkömmlichen Festplatten und USB-Flashspeicher-Geräten dienen auch SSDs, SD- und Compact-Flash-Karten sowie optische Datenträger als Quellmedium.

Rettung mit und ohne Maus

Nach der Installation steht die Software auf der Kommandozeile sofort bereit, benötigt aber administrative Rechte. Das Qphotorec-GUI [3] für Qt-basierte Arbeitsumgebungen wie KDE Plasma 5 benötigt selbstverständlich ebenfalls Rootrechte. Es landet nach der Installation im Verzeichnis »Systemwerkzeuge« des KDE-Desktops (Abbildung 1).

Abbildung 1: Qphotorec erleichtert den Umgang mit Photorec mit einer eingängigen Oberfläche.

Abbildung 1: Qphotorec erleichtert den Umgang mit Photorec mit einer eingängigen Oberfläche.

Nach dem Aufruf wählt der Admin zunächst das Laufwerk aus, von dem er die Daten rekonstruieren will. Auf der Kommandozeile bietet Photorec dazu eine Auswahl aus einer Tabelle mit erkannten Laufwerken an, während Qphotorec ein Auswahlfeld im oberen Fensterbereich einblendet.

Die grafische Oberfläche nimmt schon die nächsten Schritte vorweg, die der User ansonsten in die Kommandozeile tippt: Sie zeigt die Partitionstabelle des aktivierten Massenspeichers, aus der der Nutzer bei Bedarf eine Partition wählt. Dann bestimmt er das Dateisystem der gewählten Partition, wobei die Software nur zwei Optionen kennt. Handelt es sich beim Quelllaufwerk nicht um ein Ext-2-, -3-, -4-Dateisystem, entscheidet er sich für die Option »Other«.

In der Kommandozeilen-Variante fragt Photorec nach dem Zielort, an dem der Admin die rekonstruierten Dateien ablegen möchte. Ist dieser eingetragen, startet Photorec die Suche über die Eingabe von »C«, wobei es in Echtzeit über den Fortschritt informiert (Abbildung 2). Die geretteten Dateien legt die Software im Zielverzeichnis in durchnummerierten Unterverzeichnissen ab.

Abbildung 2: Photorec hält den Anwender über Zahl und Art der rekonstruierten Dateien auf dem Laufenden.

Abbildung 2: Photorec hält den Anwender über Zahl und Art der rekonstruierten Dateien auf dem Laufenden.

Während die Konsole die Optionen jeweils in eigenen Dialogen zeigt, ändert der GUI-Nutzer sie über nur zwei Einblendungen: Nach der Angabe des Quelllaufwerks gibt er in einer tabellarischen Auflistung die gewünschte Partition an. Das Dateisystem und den Zielpfad definiert er im gleichen Dialog mit einem Auswahlfeld und einer Eingabezeile.

Mit Format

Viel genutzte und umfangreiche Massenspeicher sammeln im Laufe der Zeit Hunderttausende Dateien unterschiedlichster Formate an, die Photorec wiederherstellen kann. Alle verfügbaren Datei-Arten zu rekonstruieren dauert nicht nur einige Stunden, sondern belegt im Zielverzeichnis auch sehr viel Speicherplatz. Die zahlreichen Unterordner machen eine solche Komplettrekonstruktion zudem sehr schnell unübersichtlich.

Die Software bietet daher die Option, frei wählbare Dateiformate von der Rekonstruktion auszuschließen. In der Kommandozeilen-Version des Rescue-Tools wartet dafür ein eigener Dialog, der die verfügbaren Formate untereinander auflistet, wobei ein jeweils davor gesetztes »X« sämtliche Datei-Arten markiert. Nicht erwünschte Formate deaktiviert der Anwender, indem er das »X« entfernt, die anschließende Wiederherstellung berücksichtigt sie nicht.

Qphotorec erlaubt das Ignorieren von Dateiformaten wesentlich bequemer per Klick auf die Schaltfläche »File Formats« unten mittig im Programmfenster. Dann wählt der Admin seine Favoriten über eine tabellarische Liste aus. Will er nur wenige Dateitypen retten, sollte er per Klick auf den Button »Reset« zunächst alle Formate deaktivieren und die gewünschten danach über Häkchen einbinden (Abbildung 3).

Abbildung 3: Qphotorec bietet unter anderem einen einfachen Dialog zur Formatauswahl an.

Abbildung 3: Qphotorec bietet unter anderem einen einfachen Dialog zur Formatauswahl an.

Hat er die Optionen im grafischen Dialog eingestellt, startet der Admin die Rekonstruktion mit einem Klick auf den »Search«-Button unten mittig im Programmfenster. Qphotorec zeigt dann den Fortschritt der Mission per Balkengrafik und in einer Tabelle an. Ist es fertig, beendet ein Klick auf »Quit« das Programm.

Geschwätzig

Qphotorec bietet ab Werk auch eine Protokollierfunktion, die Datenträgereinstellungen in einer Ascii-Datei im Home des am System angemeldeten Nutzers ablegt. In der Datei finden sich neben Angaben zu Partitionen und Dateisystemen auch Hardware- und Betriebssystem-spezifische Einstellungen, die vor allem bei forensischen Arbeiten helfen.

Testdisk

Testdisk [4], das viele Distributionen im gleichen Paket mit Photorec anbieten, rekonstruiert Partitionen und Dateisysteme. Das Kommandozeilenprogramm ist Teil vieler Livesysteme für die Datenrekonstruktion [6], liegt jedoch zusätzlich in den Repositories aller größeren Linux-Distributionen. Wer die Applikation mit Rootrechten aufruft, landet in einem Textbildschirm, der vorschlägt eine Logdatei anzulegen. An ihr lassen sich später alle Arbeitsschritte nachvollziehen.

In einem weiteren Dialogfenster wählt der Benutzer aus einer Liste mit vorgefundenen Laufwerken das mit den beschädigten Partitionen aus. Fehlt auf dem Medium eine gültige Partitionstabelle, erlaubt Testdisk über die Option »Analyse« die Suche nach einer. Das schließt auch GPT-Tabellen ein, die bei aktuellen, sehr großen Datenträgern anstelle der herkömmlichen MBR-Partitionstabellen im Einsatz sind.

Je nach Größe des Speichermediums beansprucht die Analyse der Datenstrukturen recht viel Zeit. Findet Testdisk beschädigte Partitionen, zeigt es diese im Terminal an, inklusive des verwendeten Dateisystems (Abbildung 4).

Abbildung 4: In diesem Fall konnte Testdisk drei Partitionen finden.

Abbildung 4: In diesem Fall konnte Testdisk drei Partitionen finden.

In die Werkstatt

Hat die Software die zu reparierende Partition erkannt, fahndet Testdisk nach dem Partitionstyp. Bei großen Datenträgern mit Partitionen von mehr als 2 TByte wählt der Admin in der Typentabelle »EFI GPT« aus, bei kleineren behält er meist »Intel« bei. Danach blendet die Software die vorhandenen Tools zur Reparatur ein. Die beiden ersten Optionen »Analyse« und »Advanced« dienen dazu, beschädigte Partitionstabellen wiederherzustellen und mit Dateien und ganzen Partitionen zu arbeiten.

Der Anwender kann hier einzelne Dateien kopieren oder Images anlegen. Über das Menü »Boot« repariert er zudem fehlerhafte Bootsektoren oder legt das Backup für einen Startsektor an. Dabei steuert er die Software, indem er einzelne Buchstaben eingibt. Was die bewirken, beschreiben die jeweiligen Dialoge. Beachten sollte er dabei, dass die Buchstaben teilweise Case-sensitiv reagieren und abhängig von ihrer Groß- oder Kleinschreibung unterschiedliche Aktionen auslösen.

Die weiteren Optionen »Geometry«, »Options«, »MBR Code« und »Delete« tragen dazu bei, fehlerhafte Plattengeometrien anzupassen, den MBR eines Speichermediums zu reparieren oder eine Partitionstabelle komplett zu leeren.

Protokollarisches

Auch Testdisk bietet direkt nach dem Start die Option, eine Protokolldatei anzulegen, und erzeugt diese im Home des Anwenders. Das Format ist dank einer unformatierten Textdatei bewusst Applikations- und Betriebssystem-unabhängig angelegt und zeichnet alle Arbeitsschritte auf. Die lassen sich so jederzeit bequem nachvollziehen (Abbildung 5).

Abbildung 5: Auch Testdisk speichert in einer Logdatei alle wichtigen Informationen.

Abbildung 5: Auch Testdisk speichert in einer Logdatei alle wichtigen Informationen.

Magicrescue

Das Kommandozeilentool Magicrescue [7] bietet eine weitere Möglichkeit, beschädigte Partitionstabellen oder durch versehentliches Löschen verlorene Daten wiederherzustellen. Dabei verlässt sich die Software aber nicht auf Zuordnungstabellen des Dateisystems, sondern wertet die magischen Nummern (Magic Numbers) aus, die die einzelnen Dateitypen kennzeichnen. Sie stecken bei nahezu allen Dateien noch vor den eigentlichen Nutzdaten in den Headern und sind je nach Dateityp standardisiert.

Beschädigte Dateizuordnungstabellen, die eine Rekonstruktion einzelner Dateien oder auch von Fragmenten nicht mehr erlauben, wirken sich somit nicht negativ auf die Wiederherstellung von Inhalten aus. Magicrescue ist bei vielen Distributionen wie Debian, Ubuntu, aber auch Mageia und Open Suse bereits in die Repositories eingepflegt.

Rezepte

Magicrescue verlässt sich beim Erkennen der Dateitypen auf so genannte Recipes. Diese Rezepte in Dateiform dienen der Software als Vorlage und enthalten Parameter der jeweiligen Dateitypen für die Befehlseingabe am Prompt. Sie landen bei der Software-Installation mit auf dem Massenspeicher und sammeln sich im Unterordner »recipes« im Programmverzeichnis »/usr/share/magicrescue/«.

Die Anwendung startet, sobald der Nutzer »magicrescue« eintippt, wobei zunächst eine Übersicht der Programmoptionen erscheint. Vor dem Start des eigentlichen Suchlaufs legt der Nutzer im ersten Schritt am besten über »mkdir« einen Zielordner an, in dem er die gefundenen Daten deponiert. Um Dateien auf einem Blockgerät zu rekonstruieren, gibt er am Prompt die Sequenz

magicrescue -r Recipe_1 [...] -r Recipe_n  -d ZielordnerQuelle

ein. Der Parameter »-r« gestattet es, mit mehreren Rezepten Dateien in diversen Formaten simultan wiederherzustellen. Als Quelle gibt der User eine Partition an, etwa »/dev/sdb1«. Nennt er hier versehentlich ein Verzeichnis oder nur die Bezeichnung eines Blockgeräts, bricht die Software die Rekonstruktion mit einer Fehlermeldung ab.

Erscheint als Antwort auf den korrekten Befehl die Meldung »Command not found«, fehlen der Applikation noch Drittprogramme, die sie zum Wiederaufbau bestimmter Dateitypen braucht. Dies passiert vor allem bei Jpeg-Dateien, für die der User aus den Software-Repositories zunächst noch das Paket »jpeg-progs« oder »libjpeg-progs« nachinstalliert. Magicrescue braucht daraus das Programm Jpegtran, um die Jpeg-Bilddateien zu retten (Abbildung 6).

Abbildung 6: Magicrescue fördert hier eine stattliche Anzahl längst versunken geglaubter Bilder zutage.

Abbildung 6: Magicrescue fördert hier eine stattliche Anzahl längst versunken geglaubter Bilder zutage.

Langsam restauriert

Die anschließende Rekonstruktion der ausgewählten Datenbestände beansprucht recht viel Zeit, da Magicrescue alle Sektoren der Quellpartition einzeln absucht. Daher eignet sich das Programm eher für Wechseldatenträger kleineren Umfangs wie SD-Speicherkarten oder USB-Flashsticks. Die wiederhergestellten Dateien legt die Applikation anschließend im Zielverzeichnis ab, ohne diese jedoch zu sortieren.

Hat der Anwender mehrere Dateitypen zur Rekonstruktion angegeben, wird das Zielverzeichnis schnell unübersichtlich. Magicrescue bringt daher im Programmpaket auch das kleine Kommandozeilentool Magicsort mit, das ohne weitere Parameter zum Einsatz kommt. Der Anwender gibt einfach »magicsort Zielverzeichnis« am Prompt ein, woraufhin die Software die im Zielverzeichnis liegenden Dateien nach Dateitypen sortiert in eigenen Unterverzeichnissen ablegt.

R-Studio

Eines der leistungsfähigsten Werkzeuge zur Datenrekonstruktion ist das von der kanadischen Firma R-Tools Technology Inc. entwickelte kommerzielle R-Studio [8]. Die Software geht in der Linux-Variante für rund 70 Euro (Einzelplatzlizenz) oder rund 160 Euro in der Netzwerk-Variante über den Online-Ladentisch [9]. Der auf Lösungen zur Datenrekonstruktion und Datensicherung spezialisierte Hersteller bietet das Programm auch als zeitlich unbegrenzte Demoversion zum Download auf der Webseite an. Die maximale Größe der zu rekonstruierenden Dateien liegt jedoch bei 256 KByte, was für einfache Textdateien und kleine Bilder ausreicht.

Die Firma bietet ihre Software in Varianten als RPM- und Deb-Paket jeweils für 32- und 64-Bit-Architekturen an. Um die Demoversion in eine Vollversion zu verwandeln, benötigt der Nutzer nur einen Lizenzschlüssel. Der lässt sich online erwerben und per E-Mail zustellen.

Als kostenfreie Vollversion bietet der Hersteller zudem das Programm R-Linux zum Download an, das der User nicht registrieren muss und speziell zur Datenwiederherstellung auf Ext-2-, -3- und -4-Systemen nutzen kann. R-Linux ist aus R-Studio ausgekoppelt und zeigt beim Rekonstruieren von Ext-Dateisystemen den gleichen Funktionsumfang wie die kostenpflichtige Variante. Es läuft aber nur auf Einzelplatzsystemen und unterstützt keine weiteren Dateisysteme.

An Hardware erwartet der Hersteller für R-Linux und R-Studio einen 32- oder 64-Bit-Rechner mit jeweils 256 MByte Arbeitsspeicher und einem Kernel der 2.6er Reihe. Um die rekonstruierten Daten aufzunehmen, sollte auf dem Zielmedium genug Speicherplatz frei sein. Der Admin sollte bedenken, dass R-Studio auch Imagedateien rekonstruiert, die mehrere GByte Umfang erreichen. Die grafische Oberfläche setzt zudem einen gängigen Linux-Desktop voraus.

Für die Netzwerk-Variante der kostenpflichtigen R-Studio-Version wartet für den Client-Einsatz zudem ein Agent auf seinen Einsatz, von dem die Softwareschmiede ebenfalls 32- und 64-Bit-Varianten für Linux bereithält [10].

Die Pakete von R-Studio laufen problemlos auf allen gängigen Linux-Distributionen, die das RPM- oder Deb-Paketformat unterstützen. Nach erfolgreicher Installation findet sich ein entsprechender Starter im Untermenü »Systemwerkzeuge«. Der User ruft die Software mit Rootrechten auf, sie verzweigt zügig in einen übersichtlichen Bildschirm mit mehreren Bereichen. Über »Help | Interface Language« stellt er zunächst die deutsche Sprache ein (Abbildung 7).

Abbildung 7: Die Oberfläche von R-Studio wirkt zunächst etwas unübersichtlich.

Abbildung 7: Die Oberfläche von R-Studio wirkt zunächst etwas unübersichtlich.

Das Programmfenster verfügt neben einer herkömmlichen Menü- und Buttonleiste über drei Bereiche. Nach dem Start zeigt der links oben in Tabellenform alle relevanten Daten zu den am System angemeldeten Laufwerken sowie deren Partitionierungen an. Rechts im Fenster visualisiert die Software einige Eigenschaften des Computers wie Betriebssystem, Kernelversion und CPU- sowie RAM-Daten. Der untere Protokollbereich listet im Laufe der Sitzung Aktionen auf, welche die Software ausführt, das Segment ist anfangs leer.

Klickt der User links auf eines der Laufwerke, erscheinen rechts detaillierte technische Spezifikationen dazu, wie sie selbst Inxi [11] nicht bietet. Ein zweiter Reiter im rechten Fenstersegment präsentiert die SMART-Werte des markierten Laufwerks. Bei Wechseldatenträgern ohne SMART-Support tauchen in den Tabellen aber keine Werte auf.

Symbolpolitik

Um ein Speichermedium schnell zu scannen und Daten zu rekonstruieren, wählt der Anwender zunächst die gewünschte Quellpartition auf. Ein Rechtsklick darauf und die Auswahl von »Laufwerksdateien öffnen« zeigt den Inhalt im rechten Segment des Programmfensters an. Ein kleines rotes Kreuz vor dem Dateinamen oder auf dem Ordnersymbol repräsentiert gelöschte Dateien und Verzeichnisse, die R-Studio rekonstruieren kann. Zeigt das Ordnersymbol zusätzlich ein rot eingefärbtes Fragezeichen, lassen sich die Inhalte des betroffenen Ordners vermutlich nicht rekonstruieren.

Unter der Tabellenansicht findet der User zudem die Reiter »Erweiterungen«, »Erstellungsdatum«, »Änderungsdatum« und »Zugriffsdatum«. Diese stellen weitere Sortierkriterien dar, um die Laufwerksstruktur zu ordnen (Abbildung 8).

Abbildung 8: R-Studio zeigt wiederherstellbare Inhalte mit kleinen Kreuzsymbolen an.

Abbildung 8: R-Studio zeigt wiederherstellbare Inhalte mit kleinen Kreuzsymbolen an.

Ist sich der Anwender nicht sicher, welche Datei-Inhalte sich hinter einem Namen verbergen, lässt er sich durch einen Rechtsklick auf die betreffende Datei und die Auswahl von »Vorschau« – soweit rekonstruierbar – den Inhalt der Datei anzeigen. Dazu öffnet die Software ein kleines Overlay-Fenster, das Abbildungs- und Grafikformate in ihrer ursprünglichen Form anzeigt. Texte erscheinen in einem zweigeteilten Fenster, das auch Details zum verwendeten Zeichensatz auflistet. Videodateien spielt die Software in mehreren Formaten ab, auch PDF-Dateien visualisiert sie (Abbildung 9).

Abbildung 9: R-Studio visualisiert auch PDF-Dateien. Das Bild zeigt die Vorschau einer bereits sehr betagten Community-Edition des "Linux-User" aus dem Jahre 2009 an.

Abbildung 9: R-Studio visualisiert auch PDF-Dateien. Das Bild zeigt die Vorschau einer bereits sehr betagten Community-Edition des “Linux-User” aus dem Jahre 2009 an.

Rekonstruktion

In der Vorschau modifiziert der User Inhalte mit Hilfe einer Zoomfunktion oder modifiziert sie. Um die markierte Datei zu rekonstruieren, klickt der Anwender im Kontextmenü auf den Eintrag »Wiederherstellen«. In einem Dialog gibt er den Zielpfad für die zu speichernde Datei an und ändert optional einige weitere Einstellungen zu den Datei-Attributen. Ein Klick auf »OK« stellt die Datei am angegebenen Ort wieder her.

Um mehrere Dateien oder Ordner simultan zu rekonstruieren, markiert der Anwender diese alle im Hauptfenster, indem er ein Häkchen vor den gewünschten Dateien und Verzeichnissen setzt. Danach wählt er im Kontextmenü der markierten Inhalte die Option »Markierte wiederherstellen« aus und legt anschließend fest, in welchem wahlfreien Zielverzeichnis R-Studio die einzelnen Inhalte in einem Arbeitsgang ablegt.

Weisen bei der anschließenden Rekonstruktion einzelne Dateien zerstörte Dateinamen auf, fragt die Software nach einem neuen Namen. Diese Neubenennung überspringt der Admin auf Wunsch, falls die Zerstörung viele Dateinamen betrifft.

Problemfälle

Hat der Admin Partitionen durch Neuformatierungen von einem Datenträger entfernt und überschrieben, ist eine Datenwiederherstellung auf dem herkömmlichen Weg nicht möglich. Hierfür bietet R-Studio eine erweiterte Rekonstruktion an. Um sie zu starten, markiert der User das gewünschte Laufwerk und klickt dann entweder oben in der Buttonleiste auf das »Scannen«-Symbol oder wählt nach einem Rechtsklick die gleichnamige Option aus dem Kontextmenü.

R-Studio öffnet nun ein kleines überlagerndes Fenster, in dem er auf Wunsch nicht nur einen zu scannenden Bereich, sondern auch einen Zielpfad für die Scandatei definiert. Out of the Box durchsucht R-Studio den gesamten Datenträger sektorenweise nach rekonstruierbaren Daten, was bei größeren Speichermedien erhebliche Zeit dauert. Auch hier wählt der User auf Wunsch wieder ein Dateisystem aus und beschränkt den Scanvorgang auf bestimmte Formate.

Klickt der Anwender auf den »Scannen«-Button, blendet die Software rechts im Programmfenster eine Kachelansicht des Speichermediums ein, die in Echtzeit die Sektorenanalyse der Software nachvollzieht. Da die Software die einzelnen Kacheln je nach gefundenen Restdaten verschiedenfarbig markiert, befindet sich unterhalb der Kachelansicht auch eine Legende.

Im linken Fenstersegment listet das Programm gleichzeitig in der Baumansicht gefundene Datenfragmente auf. Auch diese markiert es farblich unterschiedlich: Grüne Bäume sind gut rekonstruierbar und enthalten Bootdatensätze wie auch Datei-Einträge, während ockergelb markierte Bäume nur noch Datei-Einträge enthalten. In rot gekennzeichneten Ordnern stecken nur Bootdatensätze, bei denen eine Datenrekonstruktion wenig Erfolg verspricht (Abbildung 10).

Abbildung 10: Der Tiefenscan fördert noch weitere Fragmente alter Partitionen zutage.

Abbildung 10: Der Tiefenscan fördert noch weitere Fragmente alter Partitionen zutage.

Während der einzelnen Arbeitsschritte füllt sich im unteren Bereich des Programmfensters das Protokoll. So behält der Admin die Ergebnisse der Sitzung jederzeit im Auge.

Nach Abschluss des Scans klickt der Anwender links im Programmfenster auf einen der farbigen Ordner mit den gefundenen Daten und Fragmenten und erhält Einblick in deren Strukturen. Hat die Software nur Rohdaten gefunden, erscheint eine standardisierte Struktur in Verzeichnisform mit zusammengefassten Dateitypen. Mit Häkchen vor den entsprechenden Daten oder Datentypen wählt er diese zur Wiederherstellung aus. Nach einem Klick auf den Button »Markierte wiederherstellen« verlangt R-Studio in einem extra Dialog die Angabe eines Zielpfads, um die rekonstruierten Datenbestände dort abzulegen.

Hier empfiehlt es sich, ein Verzeichnis auf einem anderen Laufwerk als dem zu rekonstruierenden anzugeben, um nicht versehentlich Daten zu überschreiben. Nach dem Start der Rekonstruktion zeigt die Software in einem Fortschrittsbalken den Fortgang der Wiederherstellung an.

Raid-Systeme

Will der Admin Daten von einem Raid-System rekonstruieren, wobei ein direkter Zugriff nicht mehr möglich ist, etwa weil der Raid-Controller defekt ist, kann R-Studio das Raid-System mit Hilfe eines virtuellen Software-Raid unter Einbeziehung der vorhandenen Festplatten nachbilden und so Zugriff auf die Daten ermöglichen. Anders als bei einem herkömmlichen Raid-System gewährt es dabei keine Schreibzugriffe.

Der Admin legt das Raid-System über den Schaltknopf »Virtuelles RAID erstellen« an, wobei der Anwender die Laufwerkszuordnungen anschließend im rechten Segment des Programmfensters vornimmt. Die Daten rekonstruiert er vom Ablauf her wie bei einem Einzellaufwerk.

Foremost

Als reines Kommandozeilentool gehört der Filecarver Foremost [12] unter Linux zu den Standards in der Datenrettung. Die Software versucht aus Metadaten, zu denen der Header, der Footer und – ähnlich wie Magicrescue – die magische Nummer einer Datei gehören, vorhandene Datenstrukturen zu erkennen und anhand belegter Sektoren wiederherzustellen. Dabei reanimiert das Programm Dateien bis zu einer Größe von 2 GByte. Foremost steckt in der aktuellen Version 1.5.7 in den Repositories faktisch aller großen Linux-Distributionen.

Die Software ist ab Werk bereits auf die Rekonstruktion zahlreicher Datenformate eingestellt: Sie stellt neben vielen multimedialen auch einige Binär- und Dokumentenformate ohne händische Nacharbeit wieder her. Auch einige Archivtypen erkennt sie. Foremost gestattet es zudem, neue Dateiformate einzubinden: Hierzu gilt es, die Konfigurationsdatei »/etc/foremost.conf« zu bearbeiten, welche die bekannten Formattypen auflistet.

Nach der Installation ruft der Anwender die Software am Prompt durch Eingabe des Programmnamens auf. Dann folgt der Parameter »-t« mit dem wiederherzustellenden Dateityp, dann der Quelldatenträger. Letzterer kann sowohl aus einem Image als auch aus einem Blockgerät bestehen, in beiden Fällen geht der Parameter »-i« voran.

Foremost legt sodann im aktuellen Verzeichnis den Ordner »output« an und darin Dateitypen-spezifische Unterverzeichnisse, in denen die rekonstruierten Daten landen. Zusätzlich erzeugt die Software eine Audit-Datei, in der Informationen über die Rekonstruktion des Datenträgers warten (Abbildung 11).

Abbildung 11: Foremost gibt in einer Audit-Datei detailliert Auskunft über den Datenträger.

Abbildung 11: Foremost gibt in einer Audit-Datei detailliert Auskunft über den Datenträger.

Sleuthkit

Eine der leistungsfähigsten Toolsammlungen zur forensischen Arbeit ist das bereits seit Jahren kontinuierlich weiterentwickelte Sleuthkit [13] von Brian Carrier. Ergänzend gibt es ein ursprünglich vom selben Entwickler stammendes grafisches Frontend namens Autopsy [14]. Es liegt allerdings in der neuesten Version 4.4.0 ausschließlich als Paket für aktuelle Windows-Betriebssysteme vor und bereitet beim Kompilieren aus dem Quelltext unter Linux sehr große Probleme aufgrund teils fehlender, teils falsch bezeichneter Abhängigkeiten.

Da sich Sleuthkit als Kommandozeilenwerkzeug ohnehin eher an Anwender richtet, die professionelle Datenanalyse und forensische Arbeiten ausführen, eignet sich die Toolsammlung auch für viele Aufgaben über die eigentliche Rekonstruktion von Daten hinaus.

Die Tools warten in den Software-Repositories aller großen Linux-Distributionen und stehen zusätzlich in vielen Livesystemen mit dem Schwerpunkt IT-Sicherheit und Datenpflege bereit [15]. Sleuthkit beinhaltet viele Werkzeuge zur Datenanalyse und -rekonstruktion, wobei die einzelnen Module diverse Informationen erheben: Sie berücksichtigen Metadaten, das Dateisystem, Objektnamen und auch Journale sowie Datenblöcke.

Als unterstützte Dateisysteme nennt die Dokumentation unter anderem ISO-9660, gängige FAT-Varianten, NTFS, Ext 2, 3 und 4 und die unter mehreren Unix-Derivaten genutzten Dateisysteme UFS1 und UFS2. Aufgrund der vielen Parameter benötigt Sleuthkit eine längere Einarbeitungszeit und eignet sich daher weniger für gelegentliche Datenwiederherstellungen. Zur einfachen Datenrekonstruktion taugen die Befehle »fls« und »tsk_recover«, wobei Sleuthkit ein aus der Originaldatei erzeugtes Image als Vorlage erwartet, um nicht durch versehentliche Schreibvorgänge auf den originalen Datenträgern rekonstruierbare Inhalte zu zerstören.

Um etwa Daten eines USB-Speichersticks zu rekonstruieren, legt der Anwender zunächst mit Hilfe des Linux-Befehls »dd« ein Image des beschädigten Laufwerks an und lässt sich anschließend dessen Inhalt über den Befehl »fls Imagedatei« anzeigen. Dateien, neben denen ein Sternchen steht, sind gelöscht.

Die ebenfalls aufgeführte Inode-Nummer ermöglicht es dann, über die Befehle

istat ImagedateiInode-Nummer

sowie

icat ImagedateiInode-Nummer > Dateiname

eine Datei nachträglich zu rekonstruieren. Auch »tsk_recover« greift beim Lokalisieren und Wiederherstellen gelöschter Daten auf andere Module von Sleuthkit zurück und stellt beispielsweise alle Dateien eines Image mit Hilfe der Befehlssequenz

tsk_recover -e ImagedateiZielverzeichnis

wieder her. Diese landen dann in Unterverzeichnissen. Dabei gibt die Option »-v« in der Befehlssequenz auch Details am Bildschirm aus (Abbildung 12).

Abbildung 12: Sleuthkit nutzt seine Module zur Datenrekonstruktion.

Abbildung 12: Sleuthkit nutzt seine Module zur Datenrekonstruktion.

Fazit

Alle getesteten Programme werden ihrer Aufgabe, versehentlich gelöschte Daten oder Inhalte von korrumpierten Datenträgern zu rekonstruieren, gerecht. Allerdings unterscheiden sich die Wege zur Wiederherstellung deutlich: Während sich Sleuthkit für professionelle forensische Einsätze eignet und daher entsprechend vielfältige Parameter mitbringt, sind am anderen Ende der Skala Foremost und Magicrescue einfach zu bedienen und bringen am schnellsten Ergebnisse.

Nicht berücksichtigt

Nicht berücksichtigt hat der Test den Filecarver Scalpel [16], der ähnliche Funktionalität bietet wie Foremost, aber nur wenige Dateisysteme unterstützt. Das ist vor allem in Umgebungen mit vielen verschiedenen Betriebssystemen nicht optimal.

Auch Ddrescue [17] taucht nicht in der Bitparade auf. Die Software ist zwar sehr gut dokumentiert, überzeugte im Praxistest bei größeren Datenträgern mit vielen verlorenen Daten und einer beschädigten Partitionstabelle aber nicht: Da Ddrescue je nach Schwere der Beschädigungen den Datenträger mehrfach abtastet, kann bereits der Versuch einer Datenrekonstruktion bei wenigen GByte großen USB-Speichersticks mehrere Stunden in Anspruch nehmen. Auch Datenträger, die durch häufiges Überschreiben eine starke Fragmentierung von Restdaten aufwiesen, ließen sich nicht mehr mit vertretbarem Zeitaufwand reparieren.

Wer eine professionelle Datenrekonstruktion auch über ein Intranet bei minimalem Einarbeitungsaufwand benötigt, dürfte sich für das kommerzielle R-Studio interessieren. Zwar eignet sich die Software nicht wie Sleuthkit für die gerichtsfeste Dokumentation forensischer Untersuchungen, ihre Fähigkeiten, verlorene Dateien zu restaurieren, brauchen sich jedoch hinter denen von Photorec und Testdisk nicht zu verstecken.

Für gelegentliche Einsätze bei vielformatigen Datenbeständen eignet sich vor allem Photorec, da es die breiteste Formatunterstützung bietet. Der Anwender tut also gut daran, vor der Auswahl eines Programms erst den wirklichen Bedarf zu ermitteln, um dann eine passende Lösung zu finden.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 10 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben