Zum Inhalt springen

Carving (Datenrettung)

aus Wikipedia, der freien Enzyklopädie

Carving (englisch für „Schnitzerei“) ist eine Methode, um Dateien auf Speichermedien ohne die Hilfe des Dateisystems zu identifizieren und wiederherzustellen. Dazu wird der rohe Datenstrom des Speichermediums nach charakteristischen Zeichenfolgen wie einer magischen Zahl oder anderen typischen Kopfdatenstrukturen bekannter Dateiformate durchsucht.

Es findet Anwendung in der IT-Forensik und zur Datenwiederherstellung. In der Regel wird Carving auf Speichermedien mit beschädigtem Dateisystem eingesetzt oder für Speicherbereiche, die im bestehenden Dateisystem als frei geführt sind.

Verfahrensweisen

Um sich nicht darauf verlassen zu müssen, einen Bereich ein zweites Mal erfolgreich auslesen zu können, wird bei der Datenrettung von beschädigten Medien in der Regel mit einem vorher erstellten Speicherabbild gearbeitet. Klassischerweise wird im rohen Datenstrom nach Sequenzen gesucht, die eine Datei darstellen, und diese wieder in eine separate Datei geschrieben. Bei in jüngerer Zeit in Gebrauch kommenden Verfahren wird mit einem Analyselauf ein (neues) Dateisystem erstellt, das Dateien verzeichnet und (wieder) direkt an Ort und Stelle („in place“) zugreifbar macht.<ref>LibCarvPath und CarvFS sind Beispiel einer Implementierung von in-place-Carving-Software.</ref> Der dazu nötige Analyselauf kann auch mit der Erstellung eines Speicherabbildes kombiniert werden.<ref>Der Open Data Duplicator aus der ODESSA-Suite beherrscht die Carving-Analyse während der Erstellung eines Speicherabbildes.</ref> Im einfachsten Fall ist zu einer Datei ihre Anfangs- und Endsequenzen bekannt und alle Daten in einer fortlaufenden Sequenz, unfragmentiert abgelegt. Bei unbekannter Endsequenz kann eventuell die genaue Dateigröße bestimmt werden oder versucht werden, das Ende anhand eines sprunghaften Wechsels in der Entropie des Datenstromes zu orten.<ref><templatestyles src="Webarchiv/styles.css" />{{#if:20081018204947

      | {{#ifeq: 20081018204947 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: Archivierte Kopie | {{#invoke:WLink|getEscapedTitle|Archivierte Kopie}} | {{#invoke:Webarchiv|getdomain|http://computer.forensikblog.de/2007/04/entropie_markiert_dateigrenzen.html}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20081018204947}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: Archivierte Kopie | {{#invoke:WLink|getEscapedTitle|Archivierte Kopie}} | {{#invoke:Webarchiv|getdomain|http://computer.forensikblog.de/2007/04/entropie_markiert_dateigrenzen.html}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20081018204947}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: Archivierte Kopie | {{#invoke:WLink|getEscapedTitle|Archivierte Kopie}} | {{#invoke:Webarchiv|getdomain|http://computer.forensikblog.de/2007/04/entropie_markiert_dateigrenzen.html}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: Archivierte Kopie | {{#invoke:WLink|getEscapedTitle|Archivierte Kopie}} | {{#invoke:Webarchiv|getdomain|http://computer.forensikblog.de/2007/04/entropie_markiert_dateigrenzen.html}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: Archivierte Kopie | {{#invoke:WLink|getEscapedTitle|Archivierte Kopie}} | {{#invoke:Webarchiv|getdomain|http://computer.forensikblog.de/2007/04/entropie_markiert_dateigrenzen.html}} }} (Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: Archivierte Kopie | {{#invoke:WLink|getEscapedTitle|Archivierte Kopie}} | {{#invoke:Webarchiv|getdomain|http://computer.forensikblog.de/2007/04/entropie_markiert_dateigrenzen.html}} }}  
                 }}}}}}}}{{#if:
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20081018204947|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://computer.forensikblog.de/2007/04/entropie_markiert_dateigrenzen.html}}
    || {{#if:  || }}
  }}{{#if: Archivierte Kopie
    | {{#if: {{#invoke:WLink|isBracketedLink|Archivierte Kopie}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://computer.forensikblog.de/2007/04/entropie_markiert_dateigrenzen.html%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://computer.forensikblog.de/2007/04/entropie_markiert_dateigrenzen.html%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://computer.forensikblog.de/2007/04/entropie_markiert_dateigrenzen.html }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }}. Abgerufen am 5. April 2024.</ref>

Größtes Problem ist die eventuelle Fragmentierung der Dateien.

Da das Carving für gefundene Dateien keine Namen ermitteln kann, werden entweder nichtssagende generische Namen vergeben oder darüber hinaus nach Resten eines ursprünglichen Dateisystems gesucht, um daraus den ursprünglichen Namen zu restaurieren oder auch anhand von Dateiinhalten wie eingebetteten Metadaten sinnvolle Namen zu erstellen versucht.

Siehe auch

Weblinks

Einzelnachweise

<references />