Rekunstruktion Dateien

Hallo Zusammen,
ist es möglich rückwirkend festzustellen, ob Dateien verändert bzw. manipuliert wurden?
Geht das überhaupt und gibt es dafür vielleicht ein Programm?
Vielen Dank für jede Hilfe,
Uli

Hallo,

ist es möglich rückwirkend festzustellen, ob Dateien verändert
bzw. manipuliert wurden?

wenn Du noch ein Original für einen Vergleich hast, ist das leicht.

An der Datei stehen auch drei Daten: DateCreate, DateLastChange und DateLastAccess. Wenn Create und LastChange nicht identisch sind oder nicht mit einem bekannten Datum übereinstimmen, wurde die Datei wahrscheinlich verändert, zumindet überschrieben. Leider ist der Umkehrschluss nicht zulässig. Man kann Daten auch ändern ohne daß die Datumsstempel neu gesetzt werden. :frowning:

Gruß Rainer

hallo

ergänzend zur bereits gelieferten antwort:

grundsätzlich hängt es mal vom verwendeten betriebssystem und vom filesystem ab, welche möglichkeiten du hast.

die meisten filesysteme (auch das uralt-fat16) unterstützen zumindest ein datum des letzten schreibenden zugriffs. hast du zuvor eine liste der dateien inkl. diesem datum angefertigt, kannst du damit vergleichen. zusätzlich kann man auch noch die dateigrösse miteinbeziehen.

mit zusätzlichen programmen kann man einen hash-wert über die dateien ermitteln und damit einen „fingerabdruck“ der datei erzeugen. das ist normalerweise auch die übliche methode, mit der man manipulationen an dateien aufspürt.

setzt aber alles voraus, dass du dir VOR der möglichen manipulation einen bestand mit allen relevanten daten erzeugt hast. NACHTRÄGLICH hilft dir das alles nichts mehr.

neuere journaling-filesysteme zeichen in einer art datenbank auf, welche änderungen am filesystem seit einem bestimmten stichtag gemacht wurden. mit speziellen programmen kann man da sicher reinschauen und damit manipulationen an dateien auch ohne spezielle vorkehrungen erkennen. wie genau das funktioniert, weiss ich nicht, ich vermute aber mal, dass die änderungen nur für eine begrenzten zeitraum und/oder eine begrenzte menge an änderungen aufgezeichnet werden. das ganze wird ja für einen konsistenzcheck des filesystems verwendet - geht das betriebssystem davon aus, dass das filesystem konsistent ist, braucht es die alten einträge nicht mehr und löscht diese vermutlich.

glücklich ist der, der gleich von haus aus auf ein versionskontrollsystem (git, subversion, cvs etc.) gesetzt hat. kernbestandteil solches systems ist eben die kontrolle auf modifikationen und vor allem die nachvollziehbarkeit der änderungen. grosse software-projekte lassen sich nur sinnvoll mit sowas realisieren. git ist dabei zur zeit vermutlich das beste system (wird z.b. für die verwaltung des linux-kernels eingesetzt), wenn vielleicht auch noch etwas umständlich zu benutzen. für subversion gibt es etliche recht gute grafische frontends, die das ganze zum kinderspiel machen.

es gibt auch transaktionsorientierte filesysteme bei denen auch die nachvollziehbarkeit der änderungen ein wesentliches thema ist. da habe ich aber viel zu wenig erfahrung, um sagen zu können, ob dir das was helfen könnte.

also noch mal in kürze:

  • wenn du windows xp oder vista einsetzt und du keine speziellen vorkehrungen gemacht hast (und sei es nur ein „dir /S > files.txt“), dann hast du nur sehr wenig chancen. das ntfs ist zwar ein journaling filesystem und es gibt sicher auch tools, mit denen man ins journal reinschauen kann. wenn die änderung aber schon länger her ist und der pc inzwischen schon öfter neu gestartet wurde, sehe ich keine chance.

  • wenn du in zukunft manipulationen nachvollziehen willst, dann verwende zumindest ein programm, das prüfsummen erzeugen kann (z.b. http://www.fz-juelich.de/jsc/sicherheit/docs/win/inf…). ein kleines skript kann dir von bestimmten dateien den namen, datum, grösse und prüfsumme wegsichern. später machst du das nochmal und vergleichst die beiden werde mit einem diff-programm (z.b. http://www.prestosoft.com/ps.asp?page=edp_examdiff). diese vorgehensweise ist eher sinnvoll, wenn du dich gegen bösartige manipulatione schützen willst.

  • wenn du ein softwareprojekt hast und einen überblick brauchst, wer wann welche änderung am code gemacht hat, dann brauchst du ein versionsverwaltungssystem. wie gesagt, git ist das derzeit beste, wenn auch noch etwas umständlich (ist relativ neu). subversion ist vom konzept nicht so durchdacht, wird aber weltweit oft eingesetzt und ist daher stabil und sehr gut. vorteil bei subversion sind die besseren grafischen frontends (z.b. tortoise-svn, dass eine nahtlose integration in den explorer erlaubt). normalerweise bekommst du da gleich ein komplett aufeinander abgestimmtes set an tools, die sich um prüfsummen, versionsvergleiche, zugriffskontrollen etc. kümmern. ist aber nicht ganz so trivial, sowas aufzusetzen.

lg
erwin

watchdog?
Stichwort: watchdog
ein watchdog ist ein Programm, das im Hintergrund läuft und Aktivitäten und Änderungen auf Deinem Computer dokumentiert und Dir deren Bearbeitung ermöglicht.
Allerdings ‚kümmern‘ sich watchdogs 'mal mehr um eines, ‚mal mehr um anderes (Verbindung ins internet; Änderung von Systemdateien; zuletzt besuchte Seiten; häufig oder rezent benutzte Programme; Cookies (?); … weiß nich‘ u.v.m.)