Computer-Forensik mit Open-Source-Tools
Seite 2: Spurenvernichtung
Spurenvernichtung
Forensik-Experten sind sich einig, dass die meisten Fehler passieren, kurz nachdem ein Sicherheitsvorfall bemerkt wurde. Sei es, dass Administratoren versuchen, das System möglichst schnell wieder zum Laufen zu bringen und dazu neu booten, Updates installieren oder ein Standard-Image aufspielen, oder dass Privatpersonen in Panik und aus Scham ihre vermeintlichen Internetspuren löschen, nachdem sie die Dialer-Gebühren auf der Telefonrechnung bemerkt haben. Außerdem sollte man immer bedenken, dass ausnahmslos alle Aktionen, die man mit Bordmitteln am betroffenen System durchführt, potenzielle Beweise vernichten beziehungsweise ihren Einsatz in einem Gerichtsprozess verhindern können.
Als erste Aktion sollte daher in jedem Fall ein forensisch korrektes Abbild aller betroffenen Daten erstellt und authentifiziert werden, ohne dabei die Originaldaten zu verändern. Muss oder kann man ein „live-system“ untersuchen, sollten die Daten möglichst in der Reihenfolge ihrer Halbwertszeit gesichert werden, also die flüchtigsten zuerst. Die konkrete Vorgehensweise dabei ist von Fall zu Fall verschieden und auch unter Experten umstritten. In der überwiegenden Anzahl der Fälle wurden die betroffenen Systeme jedoch bereits abgeschaltet und die Ermittlungen konzentrieren sich auf die permanenten Datenträger. Das Folgende bezieht sich deshalb auf die Forensik eines „toten“ Systems.
Ein forensisch korrektes Image ist eine exakte Kopie eines Datenmediums. Seine Erstellung sollte unabhängig von dessen logischer Organisation und dem verwendeten Dateisystem sowie eventuellen Fehler auf dieser Ebene sein. Physikalische Fehler müssen robust und nachvollziehbar behandelt werden. Seine Authentizität sowie die Unverändertheit des Originalmediums sollten möglichst sicher nachgewiesen werden können.
Das wichtigste Hilfsmittel für eine forensische Analyse ist somit eine ausreichend große Festplatte, die eine Datei der Größe der zu sichernden Festplatte aufnehmen kann. Diese kann man als zusätzliche Platte in das zu untersuchende System einbauen, um darauf das Image abzulegen und später auf einem anderen Computer zu untersuchen; Profis arbeiten mit externen Festplatten, die sie via SCSI, USB oder FireWire an das zu untersuchende System anschließen. Wer etwas mehr Zeit investiert, kann das Image auch übers Netz direkt auf dem Arbeitsplatzrechner erstellen.
Die üblichen Imaging-Tools eignen sich in der Regel nicht für das Erstellen eines forensisch korrekten Abbilds. Da sie in erster Linie auf Performance und Platzersparnis optimiert sind, lassen sie normalerweise freie Sektoren weg, verändern eventuell das Originalmedium und können nicht mit Fehlern in der Dateisystemstruktur umgehen. Das ist aber nötig, wenn ein Virus oder ein Angreifer als letzte Aktion zum Beispiel die Partitionstabelle gelöscht hat.
Das unscheinbare Systemtool dd, das zu jeder Linux-Distribution gehört, erfüllt dagegen alle oben genannten Anforderungen. Im Computer Forensic Tool Testing Programm der US Regierung [1] ist dd das einzige Imaging-Werkzeug, das ohne Einschränkung alle Tests bestanden hat. Selbst so renommierte kommerzielle Pakete wie Encase oder SafeBack wiesen in diesem Test Anomalien auf.
Das normale dd kĂĽmmert sich um die reine Erstellung des Abbilds. Dabei spielt es nahezu keine Rolle, um was fĂĽr ein Medium es sich konkret handelt. Solange Linux es unterstĂĽtzt, kann man davon mit dd ein Abbild erstellen. Das gilt insbesondere fĂĽr alle Arten von Festplatten, optischen Laufwerken, Floppy-Disks, USB-Sticks, Speicherkarten und sogar fĂĽr den Hauptspeicher.
Für die Authentifizierung eignen sich weit verbreitete Linux-Tools wie md5sum, md5deep oder sha1sum. Ein typischer Ablauf für das Erstellen eines forensisch korrekten Abbilds könnte zum Beispiel so aussehen:
md5sum /dev/hda > hash.txt
dd if=/dev/hda of=/mnt/sda1/cases/4711.dd
md5sum /dev/hda >> hash.txt
md5sum /mnt/sda1/cases/4711.dd >> hash.txt
Dabei ist /dev/hda die zu sichernde IDE-Platte, deren Abbild in einem Verzeichnis der ersten Partition einer externen SCSI/USB-Platte landet, die unter Knoppix auf /mnt/sda1 gemountet wurde. /dev/hda ist dabei nicht in das System eingebunden.
Falls keine physikalischen Fehler aufgetreten sind, stimmen die drei mit md5sum generierten Hash-Werte überein und weisen damit nach, dass die Dateien erstens korrekt kopiert und zweitens nicht verändert wurden. Mit dem Tool netcat kann man die erstellten Images auch sehr einfach über ein Netzwerk transportieren.
Dazu öffnet man auf dem Zielrechner einen Mini-Server, der alle ankommenden Daten in eine Datei schreibt:
nc -l -p 4711 > 4711.dd
und beschickt diesen dann mit den ausgelesenen Daten:
dd if=/dev/hda | nc <Ziel-Host> 4711
Natürlich ist auch hier ein Vergleich der MD5-Hashes vorzunehmen. Wenn es nur um den konkreten Datenbestand auf einem Dateisystem - einem Laufwerk im Windows-Jargon - geht, kann man auch statt ganzer Platten einzelne Partitionen sichern und dd statt aus hda aus hdaX (X=1, 2, ...) lesen lassen. Das vereinfacht die spätere Auswertung, kommt aber nur in Frage, wenn die Partitionstabellen unversehrt sind. Man „verliert“ dabei außerdem alle Informationen, die außerhalb der Dateisysteme beispielsweise im Master Boot Record abgelegt sind. Profis arbeiten deshalb grundsätzlich mit Images kompletter Platten.
Die vom Computer Forensic Lab des US-Verteidigungsministeriums erweiterte dd-Version dcfldd bietet eine integrierte MD5-Hash-Berechnung. Bei der Bearbeitung von defekten Datenträgern kann dd_rescue weiterhelfen. Allerdings sind „auffällige“ Datenträger oft besser in einem Datenrettungslabor aufgehoben, bevor zu viel Material abgetragen wird. (Alle Tools finden Sie über den Soft-Link am Ende des Artikels.)