AA_scalpel_sxc473400_ChrisGander.jpg

© Chris Gander, sxc.hu

Gelöschte Dateien mit Scalpel wiederherstellen

Unterm Messer

Mit dem File-Carver Scalpel stellen Sie bereits verloren geglaubte Daten in vielen Fällen komplett oder zumindest teilweise wieder her.

Nur noch die lästigen Backup-Files aus der Arbeit am Projekt löschen, und dann ab in den Feierabend. Doch aus einem rm *~ wird schnell ein rm * ~, das alle Dateien aus dem aktuellen Verzeichnis putzt. Jetzt heißt es Nerven bewahren, denn gelöschte Daten entfleuchen in aller Regel nicht direkt ins digitale Nirvana. Meist löscht das Betriebssystem nur die Metadaten wie Dateiname, Besitzer und Speicherort. Die Nutzdaten befinden sich weiter auf dem Speichermedium, bis sie überschrieben werden.

Unter Linux existieren etliche als File-Carver bezeichnete Programme, um solche Daten wiederherzustellen. Derartige Tools analysieren einen Datenträger auf Bytemuster, die Datei-Headern und -Footern entsprechen, und interpretieren alles Dazwischenliegende als zur Datei gehörig. Das funktioniert, solange Header und Footer eindeutig sind, die Datei nicht fragmentiert ist oder verschlüsselt wurde.

Fehlt ein Footer oder wird er nicht erkannt, schreibt der Carver so lange alles in die Wiederherstellungsdatei, bis er auf den nächsten Header stößt. Daher erweisen sich nicht nur fragmentierte Files oder solche mit schlecht erkennbaren Enden als problematisch, sondern auch solche, die wiederum Dateien enthalten – etwa Textdokumente mit eingebetteten Grafiken. Wer also zu einem derartigen Werkzeug greift, darf keine Wunder erwarten, sondern nur das Beste hoffen.

Datei-Skalpell

Der File-Carver Scalpel [1] kann viele verschiedene Dateitypen aufspüren. Dabei spielt es keine Rolle, mit welchem Dateisystem ein Datenträger formatiert wurde: Scalpel greift auf eine Datenbank mit Headern und Footern von Dateitypen zurück, um Dateien aufzuspüren.

Viele Distributionen habe ältere Scalpel-Versionen in ihren Repositories, die ihre Arbeit gut verrichten, aber nicht über den vollen Funktionsumfang der aktuellen Version 2.0 verfügen, etwa reguläre Ausdrücke für Header und Footer, Multithreading, asynchrone Ein- und Ausgabe oder GPU-beschleunigtes File-Carving (sofern Nvidias CUDA-SDK installiert ist). Wollen Sie diese Features nutzen, müssen Sie Scalpel aus den Quellen selbst übersetzen (siehe Kasten "Installation").

Installation

Zur Installation von Scalpel 2.0 laden Sie das Quelltext-Archiv [2] herunter und entpacken es in ein beliebiges Verzeichnis. Dann wechseln Sie dorthin und übersetzen das Tool mit ./configure gefolgt von make und make install (Letzteres als root). Sollen die Binärdateien nicht in /usr/local landen, müssen Sie Configure ein entsprechendes --prefix übergeben. Bevor Sie die Quelldateien löschen, sollten Sie scalpel.conf an einen anderen Ort kopieren: Diese Konfigurationsdatei enthält die Header und Footer der unterstützten Dateitypen.

Früher prüften File-Carver einen Datenträger auf Header- und Footer-Pattern und schrieben alle Ergebnisse auf einen neuen Datenträger, was reichlich Speicherplatz erforderte. Scalpel dagegen geht nur zwei Mal über einen Datenträger, um alle nötigen Informationen zusammenzustellen.

Beim ersten Lauf sucht es Header und vermerkt die Fundstellen in einer Datenbank, anschließend identifiziert es die Footer. Dabei berücksichtigt Scalpel, dass ein solcher immer auf einen Header folgt, was die Suche ordentlich beschleunigt. Nun existiert ein Index mit den Positionen der Header und Footer, der die Grundlage für den zweiten Durchgang bildet. Bei diesem bringt Scalpel Header und Footer zusammen und schreibt die gefundenen Dateien ohne nochmaligen Plattenzugriff direkt aus dem Arbeitsspeicher heraus an einen neuen Speicherort.

Bevor Scalpel sich auf die Suche nach verloren gegangenen Daten begibt, liest es die Konfigurationsdatei scalpel.conf ein, die neben den zu suchenden Dateitypen samt Header und Footer auch die minimale und maximale Größe der Dateitypen enthalten darf. Letzteres verhindert, dass eine Ergebnisdatei auf völlig unrealistische Größen anschwillt, wenn der Footer fehlt. Hier sollten Sie vor dem Carving individuelle Einstellungen vornehmen, welche die Suche von Anfang an auf ein Minimum an Dateitypen und -größen begrenzen.

Rette das Sandmännchen

Nun auf zu beispielhaften Rettungsaktionen. Szenario 1, ein Haushalt ohne Fernseher mit mindestens einem Kleinkind: Der Vater hat die über mehrere Tage aus der ARD-Mediathek kopierten Sandmännchen-Sendungen versehentlich gelöscht. Der sandmännchengewohnte Nachwuchs drückt seinen Ärger lautstark aus.

In der scalpel.conf findet sich zwar kein Eintrag für das Format MP4 – aber noch vorhandene, längst geschaute Sandmann-Dateien zeigen eine erfreuliche Konsistenz, was die Header angeht (Abbildung 1). Mit deren Daten füttert der Vater jetzt die scalpel.conf. An erster Stelle des neuen Eintrags (Abbildung 2) steht die Datei-Endung, die potenzielle Treffer erhalten sollen. Das "y" gibt an, ob Scalpel beim Header und Footer zwischen Groß- und Kleinschreibung unterscheidet. Es folgen Mindest- und Maximalgröße der Dateien – Sandmann-MP4s belegen in der Regel zwischen 30 und 70 MByte. Zu guter Letzt folgt der Header. Ein Footer lässt sich nicht angeben, weil er stets unterschiedlich ausfällt.

Abbildung 1: Kennt Scalpel Header und Footer eines Dateityps nicht, dann legen Sie in der scalpel.conf einfach selbst Hand an.
Abbildung 2: Sie dürfen die scalpel.conf mit beliebigen eigenen Headern und Footern ergänzen. Als zusätzliches Kriterium dienen bei Bedarf minimale und maximale Dateigrößen.

Anschließend startet der Vater die Sandmännchen-Rettungsaktion auf der Kommandozeile mit der Anweisung

$ scalpel -c scalpel.conf -o sandmann_recovered /dev/sdd1

Daraufhin kratzt Scalpel tatsächlich auch sechs Dateien von der Platte. Alle sind (aufgrund der fehlenden Footer-Angabe) genau 70 000 000 Bytes lang und enthalten eine verloren geglaubte Sandmännchen-Folge – mit einem mehr oder minder großen Batzen Datenschrott am Ende (Abbildung 3). Der Nachwuchs jubelt.

Abbildung 3: Erfolg! Sechs von drei Dateien wurden wiederhergestellt. Da ein eindeutiger Footer fehlte, ging Scalpel auf Nummer sicher und reizte die maximale Dateigröße aus.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 3 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Heft-DVD-Inhalt 04/2013
  • Forensik-Distribution Caine 2.0
    Caine 2.0 ist ganz auf den Einsatz in der IT-Forensik zugeschnitten. Es enthält zahlreiche Werkzeuge, um zum Beispiel gelöschte Daten aufzuspüren.
  • Jo´s alternativer Desktop
    Wie Ihr Linux-Desktop aussieht, bestimmen allein Sie. Mit deskTOPia nehmen wir Sie regelmäßig mit auf die Reise ins Land der Window-Manager und Desktop-Umgebungen, stellen Nützliches und Farbenfrohes, Hingucker und hübsches Spielzeug vor. Und von eben jenen Dingen hat der zuletzt vorgestellte Window Maker allerhand für sich zu verbuchen – spezielle Dockapps machen das Arbeiten mit diesem Fensterherrscher angenehmer.
  • Sun-Dateisystem ZFS unter Linux nutzen
    Das Dateisystem ZFS setzt Maßstäbe. Unter Linux ist aber Vorsicht geboten, denn das Zusammenspiel klappt noch nicht immer reibungslos, es drohen Datenverluste.
  • IT-Security-Distribution DEFT
    DEFT vereint spezielle Programme für Forensiker mit einigen zusätzlichen Schmankerln in einer Distribution und macht damit die mühsame Einzelinstallation der zahlreichen Tools überflüssig.
Kommentare

Infos zur Publikation

LU 12/2017: Perfekte Videos

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Broadcom Adapter 802.11n nachinstallieren
Thomas Mengel, 31.10.2017 20:06, 2 Antworten
Hallo, kann man nachträglich auf einer Liveversion, MX Linux auf einem USB-Stick, nachträglich...
RUN fsck Manually / Stromausfall
Arno Krug, 29.10.2017 12:51, 1 Antworten
Hallo, nach Absturz des Rechners aufgrund fehlendem Stroms startet Linux nicht mehr wie gewohn...
source.list öffnet sich nicht
sebastian reimann, 27.10.2017 09:32, 2 Antworten
hallo Zusammen Ich habe das problem Das ich meine source.list nicht öffnen kann weiß vlt jemman...
Lieber Linux oder Windows- Betriebssystem?
Sina Kaul, 13.10.2017 16:17, 6 Antworten
Hallo, bis jetzt hatte ich immer nur mit
IT-Kurse
Alice Trader, 26.09.2017 11:35, 2 Antworten
Hallo liebe Community, ich brauche Hilfe und bin sehr verzweifelt. Ih bin noch sehr neu in eure...