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 09/2017 PERFEKTE FOTOS

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!

Aktuelle Fragen

kein foto, etc. upload möglich, wo liegt mein fehler?
kerstin brums, 17.09.2017 22:08, 4 Antworten
moin, zum erstellen einer einfachen wordpress website kann ich keine fotos uploaden. vom rechne...
Arch Linux Netzwerkkonfigurationen
Franziska Schley, 15.09.2017 18:04, 0 Antworten
Moin liebe Linux community, ich habe momentan Probleme mit der Einstellung des Lan/Wlan in Arc...
WLan mit altem Notebook funktioniert nicht mehr
Stefan Jahn, 22.08.2017 15:13, 0 Antworten
Ich habe ein altes Compaq-6710b Notebook mit Linux Mint Sonya bei dem WLan neulich noch funktioni...
Würde gerne openstreetmap.de im Tor-Browser benutzen, oder zu gefährlich?
Wimpy *, 21.08.2017 13:24, 2 Antworten
Im Tor-Netzwerk (Tor-Browser) kann ich https://www.openstreetmap.de/karte.html# nicht nutzen....
Samsung VG-KBD1500 - Bluetooth-Tastatur mit Touchpad mit Xubuntu 16.04.2 LTS
Linux- & BSD-UserGroup im Weserbergland, 16.08.2017 19:16, 0 Antworten
Bin grad mit "meinem Latein am Ende" darum hier mal so in den Raum geworfen. Samsung VG-KBD1500 -...