Open Source im professionellen Einsatz

Newsletter abonnieren
Seite durchsuchen

HEFTARCHIV | NEWS | E-BIBLIOTHEK | VIDEO | BLOGS | WHITEPAPER | EVENTS | ACADEMY | ABO | SHOP

user friendly

  Home  »  Heft & Abo  »  Heftarchiv  »  2008  »  06  »  Selbst geschnitzt  

RSS-Feed der aktuellen News von Linux-Magazin Online Folgen Sie Linux-Magazin Online auf Twitter
Diesen Artikel druckenDiesen Artikel weiterempfehlen Diesen Artikel kommentieren Newsletter abonnieren
Share/Bookmark

Carving-Tools spüren Files auf, ohne das Dateisystem zu kennen kennen

Selbst geschnitzt

von Ralf Spenneberg
Erschienen im Linux-Magazin 2008/06

Moderne Dateisysteme löschen Metadaten gründlich und erschweren das forensische Wiederherstellen von Files. Statt die Datenblöcke manuell wieder zusammenzupuzzeln, erkennen Werkzeuge wie Foremost und Scalpel typische Datenstrukturen und schnitzen Dateien aus einem Festplatten-Image.

Egal ob ein Einbrecher die Protokolle seines Angriffs löscht, ein versehentlich abgesetztes »rm -rf« die digitale Bildersammlung vernichtet oder ein Pädophiler vor dem Zugriff der Polizei einschlägige Fotos vernichtet: Gelöschte Dateien zu rekonstruieren ist oft wichtig. Früher konnten Forensiker und Datenretter diese Files gut zurückholen, da die Dateisysteme nur den Eintrag im Verzeichnis löschten. Die Meta-Informationen, die den Ort der Datenblöcke auf der Festplatte beschreiben, blieben erhalten und TCT (The Coroners Toolkit, [1]), Sleuthkit [2] & Co. nutzten sie, um die Dateien und den Großteil ihres Namens wiederherzustellen.

Heute löschen viele Dateisysteme alle Meta-Informationen [3], nur noch die Datenblöcke bleiben erhalten. Diese Puzzlestücke korrekt zusammenzufügen heißt File-Carving - der Forensiker schnitzt (to carve) die rohen Daten von der Platte und rekonstruiert daraus die Files. Dies wird umso schwerer, je stärker das Dateisystem fragmentiert ist und viele Fehler produziert. Etliche Open-Source-Werkzeuge automatisieren das Carving: Allen voran Foremost [4] und dessen Abkömmling Scalpel [5], aber auch Photorec [6] und Ftimes [7]. Photorec beherrscht Carving jedoch nicht für beliebige Daten, und Ftimes ist so kompliziert zu bedienen, dass es sich für die meisten Anwender nicht lohnt.

Foremost und Scalpel ist das verwendete Dateisystem egal. Sie erwarten nur, dass die Datenblöcke der aufzufindenden Dateien sequenziell im untersuchten Image liegen. Die Tools finden Bilder in »dd«-Dumps ebenso wie in einem Abzug des Arbeitsspeichers oder einer Swapdatei. Carving identifiziert und rekonstruiert sogar Files in korrupten Dateisystemen, im Slack-Space (Versatz), ja selbst nachdem ein anderes Betriebssystem mit einem neuen Dateisystem auf der Festplatte installiert wurde - solange die gewünschten Datenblöcke erhalten blieben.

Wunder vollbringen die Werkzeuge allerdings nicht. Von physisch zerstörten Festplatten gelingt ihnen keine Wiederherstellung. Auch überschriebene Datenblöcke entziehen sich dem Carving - für sicheres Löschen gibt es unter Linux zum Beispiel die Befehle »shred« und »wipe«.

File-Carving

Da sich Carver nicht auf das Dateisystem stützen, brauchen sie andere Informationsquellen, um herauszufinden, wo eine Datei beginnt und wo sie endet. Glücklicherweise besitzen viele Dateitypen einen bekannten Aufbau. Besonders der Beginn (Header) und das Ende (Footer) der Files eines Typs sind wichtig. Diese Kenntnisse nutzt auch der Linux-Befehl »file«, wenn er den Typ von Dateien bestimmt.

File-Carver durchsuchen die komplette Festplatte beziehungsweise das komplette Image nach ihnen bekannten Headern und Footern. Die Blöcke dazwischen schnitzen sie raus und legen sie als neues File ab. Leider hat nicht jeder Dateityp einen eindeutigen Footer. Bei denen kann der Carver das Ende nur erraten: Ein File endet spätestens vor dem nächsten Header. Zwischen dem realen Ende der erkannten Dateien und dem nächsten Header können jedoch größere Mengen nicht erkannter Daten liegen. Um keine Unmenge Datenmüll zu sammeln, erlauben es die Carving-Programme, eine maximale Dateigröße zu definieren.

Leider sind die Header und Footer häufig sehr kurz, was zu vielen Falscherkennungen führt. Eine angenehme Ausnahme sind Bildformate. So beginnt jede Jpeg-Datei mit der Bytefolge 0xFFD8, meist folgt noch 0xFFE00010. File-Carver erkennen daher Jpeg-Bilder sehr gut. Wurden jedoch einige Blöcke bereits überschrieben oder ist die Datei fragmentiert, dann stellen die Tools bestenfalls Teile wieder her (Abbildung 1).


Abbildung 1: File-Carver ignorieren das Dateisystem und schnitzen die Bilder direkt aus den Datenblöcken. Bei fragmentierten Files liefern sie zwar fehlerhafte Fotos, die Reste genügen aber oft, um das Motiv zu erkennen.

Foremost und Scalpel

Inspiriert durch das Programm Carvthis - vom Defense Computer Forensic Lab bereits 1999 erarbeitet, aber nicht öffentlich zur Verfügung gestellt - entwickelten Jesse Kornblum und Kirs Kendall vom United States Air Force Office of Special Investigations im März 2001 Foremost. Dieses Programm unterstützt den Computer-Forensiker bei der Analyse und Wiederherstellung gelöschter Dateien in einem Dateisystem. Inzwischen ist das Programm Open Source und Nick Mikus pflegt die Quellen. Er hat das Programm im Rahmen seines Masters-Studiums wesentlich vorangebracht.

Golden G. Richard III entwickelte auf Basis von Foremost 0.69 sein eigenes Programm namens Scalpel. Es galt lange Zeit als fortgeschrittenes Werkzeug. Einige Quellen behaupten sogar, dass selbst die Foremost-Entwickler Scalpel empfehlen [8]. In Wahrheit werden beide Projekte aktiv entwickelt. Während Scalpel im Jahr 2005 seinem Vorläufer Foremost weit überlegen war und Images fast um den Faktor 10 schneller analysierte, hat Foremost in jüngerer Zeit dank Nick Mikus wieder aufgeholt und seinen Sprössling teils sogar überholt.

Der Forensiker kann bei beiden Programmen per Konfigurationsdatei genau einstellen, welche Dateien er sucht. Hierzu definiert er die Header und Footer (Listing 1). Die erste Spalte bezeichnet den Dateityp und dient zugleich als Namenserweiterung für die gefundenen Files. Bei Dateien, in denen die Groß- oderKleinschreibung der Header und Footer relevant ist, folgt in der zweiten Spalte ein »y«, bei anderen steht hier »n«. Dahinter stehen die maximale Dateigröße sowie die Bytefolgen des Headers und - so vorhanden - des Footers. Die Zeichenfolge »x« leitet dabei ein Byte in Hexadezimaldarstellung ein; möglich ist »s« für ein Leerzeichen, »?« steht als Wildcard für ein beliebiges Zeichen. Eventuell stehen am Ende noch Optionen.

Listing 1:
Konfiguration

01 gif  y  155000000  x47x49x46x38x37x61  x00x3b
02 gif  y  155000000  x47x49x46x38x39x61  x00x00x3b
03 jpg  y  20000000   xffxd8xffxe0x00x10  xffxd9
04 jpg  y  20000000   xffxd8xffxe1xffxd9
05 jpg  y  20000000   xffxd8                  xffxd9
Sie können diesen Artikel als PDF für 99 Cent kaufen. Klicken Sie dazu einfach auf eine der beiden Bezahloptionen Paypal oder ClickandBuy.


Diesen Artikel druckenDiesen Artikel weiterempfehlen Diesen Artikel kommentieren Newsletter abonnieren
Share/Bookmark
Ähnliche Artikel
Tooltipps Werkzeuge im Kurztest
Bewölkte Fenster Cloud Computing für den Desktop
Besser nachlesen Logfile-Auswertung mit Log2timeline
Flashback Datenrückstände in Flashspeichern und Flash-Dateisystemen
Sympathischer Vorleser Workshop: Programmieren mit dem Asterisk Gateway Interface
Einbruch? Spuren und Daten nach Crackversuchen oder Beschlagnahme richtig sichern
Whitepaper
Daten Migration - Eine Publikation von Bloor Research

Datenmigrationsprojekte überschreiten häufig das Budget, neigen zu Verzögerung und werden unter Umständen komplett abgebrochen. Bloor Research ist eines der weltweit führenden IT-Forschungs-, Analyse- und Beratungsunternehmen und wird in dem vorliegenden White Paper die wichtigsten Aspekte dieser Problematik näher beleuchten. Ferner werden praktische Empfehlungen für erfolgreiche Migrationsprojekte gegeben, die Sie auf Ihr nächstes Projekt übertragen können.

Download PDF (Registrierung erforderlich)
Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele

Über die letzten Jahre hinweg haben sich Open Source Lösungen als fester Bestandteil des gesamten Datenintegrationsmarktes etabliert. Viele Unternehmen haben bereits das Open Source Modell für Ihre Datenintegrationsprojekte aufgegriffen. Das vorliegende White Paper illustriert anhand ausgewählter Fallstudien und Anwendungsbeispiele die Implementierung von Open Source Datenintegration in der Praxis und benennt die daraus resultierenden Vorteile.

Download PDF (Registrierung erforderlich)
Kommentare (0)