Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Einleitung Basics Vorgehen Analyse

Ähnliche Präsentationen


Präsentation zum Thema: "Einleitung Basics Vorgehen Analyse"—  Präsentation transkript:

1 Einleitung Basics Vorgehen Analyse
Computer Forensics Einleitung Basics Vorgehen Analyse (c) Walt Disney Figur „Inspector Gadget“ aus dem Trickfilm “Inspector Gadget”. Idee: Die Teilnehmer sollen nachher so sein wie Inspector Gadget: Er weiss sich immer zu helfen und kann immer ein Werkzeug hervorzaubern um den Fall zu lösen...

2 Heute Vortrag über „Computer Forensics“ Praktische Gruppenarbeit
Einleitung Basics Vorgehen Analyse Heute Vortrag über „Computer Forensics“ Bedeutung, Motivation Vorgehen bei forensischer Analyse Praktische Gruppenarbeit Detektivarbeit! Angegriffenes System analysieren  Wer? Wie? Wann? Was? Diskussion, Wissensaustausch (c) Earthlink

3 Vortragsübersicht Einleitung, Motivation „Basics“ Vorgehensweise
Analyse Vortragsübersicht Einleitung, Motivation „Basics“ Vorgehensweise Eigentliche Analyse Zusammenfassung

4 Computer Forensics = ? Duden: Forensisch = gerichtlich
Einleitung Basics Vorgehen Analyse Computer Forensics = ? Duden: Forensisch = gerichtlich Allgemeinere Definition: „Gathering and analysing data in a manner as free from distortion or bias as possible to reconstruct data or what has happened in the past on a system“ Die Dudendefinition ist aber zu eng für uns. Wir brauchen eine allgemeinere Definition. Zitat: Dan Farmer, Weitse Venema; 1999, Murder on the Internet Express, Grundidee hinter Computer Forensics: Internet/Computer Detektivarbeit. Ein befallenes System soll analysiert werden.

5 Ziele System analysieren Ereignisse im befallenen System
Einleitung Basics Vorgehen Analyse Ziele System analysieren Beweise Wer, Wann, Was, Wo, Wie? Ereignisse im befallenen System Rekonstruieren Zeitlich ordnen Konsequenzen ziehen Patches Updates (c) Apple Bild: Sad mac. Dieses Icon wird angezeigt, wenn der MAC nicht mehr aufstarten kann. Grundsätzlich drei grosse Ziele, bei Computer Forensics: Systemanalyse Ereignisse, die der Hacker ausführte Konsequenzen ziehen aus der Attacke Systemanalyse: Frage Nr. 1: Wurde es überhaupt befallen („gehackt“)? Zuerst muss man sicherstellen, dass überhaupt eine Attacke stattgefunden hat. Danach geht es um die Sicherstellung der Beweise: Wir wollen auch gegenüber Drittpersonen beweisen können, dass ein Hacker erfolgreich in unser System eingedrungen ist. Diese Beweise können wir ggf. auch für juristische Zwecke verwenden! Ereignisse im System: Alle relevanten Ereignisse, wie etwa Telnet Sessions FTP Sessions Installationen von Software (=> Rootkits) Autsetzen von “neuen” Usern -verkehr der Hacker ... müssen gefunden werden, um den Vorfall möglichst exakt rekonstruieren zu können. Ein weiterer wichtiger Aspekt, ist das zeitliche Ordnen dieser Ereignisse. Sehr hilfreich ist diesem Zusammenhang die MAC-Time Analyse (=> später im Vortrag) ACHTUNG: Für zeitl. Ordnen: Zeitzone des Systems beachten! Wir müssen die geeigneten Konsequenzen ziehen aus der Attacke: Wie kann eine derartige Attacke in Zukunft verhindert werden? => Installation von Patches, Security Updates, Firewall-Einstellungen ändern. Last but not least: Benutzer sensibilisieren!

6 Forensische Grundsätze
Einleitung Basics Vorgehen Analyse Forensische Grundsätze Datenverlust minimieren System ausschalten? Vom Netz trennen? Daten 1:1 kopieren Memory Partitionen (Harddisks) Nur Kopien analysieren Erkenntnisse und Vorgehensweise notieren Datenverlust kann man gleichsetzen mit Spuren verwischen bei der “echten” Detektivarbeit. Der “Tatort” soll möglichst unberührt bleiben! Daher ergeben sich folgende Fragestellungen: - Soll das System ausgeschaltet werden? Ja = Der Inhalt des Hauptspeichers – mit vielen Spuren! – wäre unwiederbringlich verloren!! - Soll das System vom Netz getrennt werden? Ja = Möglicherweise reagieren viele Systemprozesse mit der Erzeugung von Fehlermeldungen, z.B. “No Internet Connection”. Diese Fehlermeldungen werden in Logfiles geschrieben, welche oftmals als FIFO organisiert sind => wichtige alte (= zeitlich frühe Logs) könnten verloren gehen. => Wir möchten das System also “einfrieren” . Alle Daten des befallenen Systems sollen 1:1 ohne Veränderung gesichert werden! Alle Analysen werden immer auf den Kopien und nie auf den original Daten durchgeführt. Sämtliches Vorgehen in der Analyse muss so notiert werden, dass es nachvollziehbar ist.

7 Ein paar „DON‘Ts“ Keine laufende Prozesse „killen“
Einleitung Basics Vorgehen Analyse Ein paar „DON‘Ts“ Keine laufende Prozesse „killen“ Nie auf original Datenträger schreiben Keine Befehle ausführen  Trojaner! Keine neue Software installieren Auf dem noch laufenden System sollen grundsätzlich keine laufenden Prozesse „gekillt“ werden. Wir wollen zuerst Informationen sammeln, über alle laufenden Prozesse. Klar, „gefährliche“ laufende Prozesse bergen eine gewisse Gefahr – es ist immer ein Abwägen zwischen „killen“ oder laufen lassen. Die original Datenträger dürfen nie verändert werden: Schreibvorgänge vermeiden, Sogar lediglich ein Öffnen von Dateien verändert den Datenträger! Es führt nämlich zu einer Veränderung der Timestamps, in diesem Falle ändert sich das Access-Attribut! Auf dem befallenen System könnten die original Systemprogramme/Systembefehle von den Hackern ersetzt worden sein, sog. Trojaner! D.h. wir müssen sehr vorsichtig sein, wenn wir auf dem befallenen System Befehle ausführen. Grundsätzlich sollte dies vermieden werden. Zu Installation von sog. Rootkits gibt [7] weitere Informationen. Manche Untersucher sind zu voreilig: Sie installieren gleich nach der Attacke Patches oder Updates. Diese können zwar meistens die Sicherheitslücken schliessen, verwischen aber jede Menge nützlicher Spuren.

8 Ausrüstung „Notkoffer“
Einleitung Basics Vorgehen Analyse Ausrüstung „Notkoffer“ „Sauberen“ Computer Vorzugsweise Linux Aktuellste Patches/Updates Hardware Netzwerkkarte, CDRW, ... Harddisc: Genügend Platz für Images! Zusätzlich: Hub, Netzwerkkabel, ... Floppy/CDROM mit wichtigsten Tools Erwähnen, dass es spezielle forensiche Computer gibt, wie etwa bei [2]. Als “Notkoffer” dient uns ein Computer: Welchen wir idealerweise via Netzwerkkabel mit dem “befallenen System” verbinden Darauf müssen die neuesten Sicherheits- und System-Patches/Updates installiert sein Am besten LINUX: Mehr Tools und Möglichkeiten als in der Windows-Welt. ACHTUNG: Das befallene System kann Windows/LINUX/UNIX sein, dies spielt beim Erstellen des Images keine grosse Rolle. Zusätzlich kann es sinnvoll sein, eine bootbare Floppy oder CDROM beiseite zu haben. Falls das befallene System aus Sicherheitsgründen runtergefahren werden muss, oder durch den Hack “abgestürzt” war, so kann es mit diesen “sauberen” Medien aufgestartet werden.

9 Vorgehensweise Vorbereitung („Notkoffer“) ü
Einleitung Basics Vorgehen Analyse Vorgehensweise Vorbereitung („Notkoffer“) ü Identifikation (Angriff?) ü Dead oder Live System Daten sichern, Beweise sicherstellen Kopien (Images) „mounten“ System analysieren Konsequenzen ziehen Obige Schritte stellen das grundsätzliche Vorgehen dar. Die ersten beiden Schritte haben wir bereits hinter uns: Wir haben den „Notkoffer“ bereit und haben Indizien, dass ein Angriff stattgefunden hat. Zuerst müssen wir die Frage beantworten, ob das befallene System laufen gelassen oder runter gefahren werden soll: „Dead“ oder „Live“. Danach müssen die Daten gesichert werden: Beginnend beim Hauptspeicher, dann erst die Harddisc Partitionen. Die Kopien werden gemountet. Danach kann das System analysiert werden. Im letzten Schritt werden aus den gewonnen Erkenntnissen die Konsequenzen gezogen! Wird dies nicht gemacht, so hätte man sich die ganze forensische Analyse sparen können! Auch hier kann man folgende Analogie machen: Dringt ein Einbrecher (=Hacker) in ein Haus (=Computer-System) durch ein ungesichertes Fenster (= z.B. Sicherheitslücke im Windows OS) ein, so wird nach der Untersuchung durch die Polizei (=forensische Analyse) ein neues Fenster mit Sicherheitsglas (=System Update) installiert, um ein derartiges Eindringen in Zukunft zu verhindern.

10 Dead vs. Live System Befallenes System Bevorzugt: Live System
Einleitung Basics Vorgehen Analyse Dead vs. Live System Befallenes System Runterfahren (Dead System) Laufen lassen (Live System) Bevorzugt: Live System Memory Dump möglich Laufende Prozesse Network Monitoring Soll ein befallenes System runter gefahren werden oder laufen gelassen werden? Diese Frage ist schwierig zu beantworten, und muss von Fall zu Fall neu beurteilt werden. Beide Varianten haben ihre Vor- und Nachteile. Bevorzugt ist die „lebendige“ Variante, primär aus folgenden Gründen: Der Inhalt des Hauptspeichers birgt wichtige Hinweise! Die Hacker versuchen möglichst wenig Spuren auf den physikalischen Medien zu hinterlassen => Hauptspeicher untersuchen! Laufende Prozesse können analysiert werden Network Monitoring ist möglich: Wie kommuniziert das gehackte System mit der Aussenwelt? ACHTUNG: Diese Kommunikation kann sehr gefährlich sein, da das befallene System womöglich versucht andere Systeme zu befallen! Daher: U.U. das befallene System vom Netz trennen; aber das Netzwekkabel gleich in einen Hub einstecken, damit das befallene System nicht zu viele Fehlermeldungen generiert. Weitere Informationen zum Untersuchen eines laufenden Systems unter [5].

11 Daten sichern 1/2 Zielmedium sterilisieren Memory Dump
Einleitung Basics Vorgehen Analyse Daten sichern 1/2 Zielmedium sterilisieren Alle Daten löschen dd if=/dev/zero of=/dev/hda1 Memory Dump Daten auf Zielmedium sichern!  Netcat nc... dd if= /dev/kmem of=output dd if= /dev/mem of=output Bevor die Daten des befallenen Systems gesichert werden können, muss das Zielmedium sterilisiert werden. ACHTUNG: Es reicht nicht, einfach alle Dateien zu löschen! Sondern das Zielmedium muss entsprechend formatiert werden, oder mit Tools gereinigt werden, wie Norton Uitilities unter Windows, oder mit Nullen gefüllt werden => dd Befehl dd if=/dev/zero of=/dev/hda1 füllt die Harddisc /dev/hda1 mit Nullen. Den Memory Dump erstellen wir ebenfalls mit dd, unter Windows kann die Variante von [1] ebenfalls einen Memory Dump erstellen. ACHTUNG: Wir müssen sicherstellen, dass wir den Memory Dump nicht auf dem befallenen System sichern! Daher Tools verwenden wie Netcat: Befehl nc  Manpages für mehr Infos.

12 Daten sichern 2/2 Harddisc Partitionen Partitionen kopieren
Einleitung Basics Vorgehen Analyse Daten sichern 2/2 Harddisc Partitionen Informationen /etc/fstab fdisk -l /dev/hda1 Format: UNIX, NTFS, ... Partitionen kopieren dd if=/dev/hda1 of=/images/hda1.img MD5 Summe berechnen md5sum hda1.img Informationen über die Partitionen müssen zuerst gefunden werden. Dabei kann unter Windows das Tool volume_dump hilfreich sein, zu beziehen bei [1]. Unter LINUX/UNIX befinden sich diese Infos in /etc/fstab: Zu erkennen sind die Partitionen; diese Informationen verwendet man dann um mit fdisk die detaillierten Angaben zu erhalten. Das Format des zu sicherenden Mediums muss berücksichtigt werden, wenn der Befehl dd ausgeführt wird (Blocksize, etc.)! ACHTUNG: Es können nicht einfach die Dateien kopiert werden, z.B. mit dem Befehl cp! Viele zusätzliche Informationen werden nicht in den Dateien selbst abgespeichert. Daher muss die gesamte Harddisc Partition Bit für Bit kopiert werden! Dies ist unter LINUX/UNIX mit dem Befehl dd möglich, unter Windows gibt es portierte Varianten davon, etwa im Toolkit von [1], [3] oder [4]. dd if=/dev/hda1 of=/images/hda1.img kopiert die Harddisc hda1 in die Datei /images/hda1.img Die MD5 Summe einer Datei kann mittels md5sum unter den meisten LINUX/UNIX Distributionen berechnet werden. Unter Windows stehen die portierten Befehle in den Package [1] zur Verfügung.

13 Images mounten Befehlssyntax Nicht Linux/UNIX Partitionen mounten
Einleitung Basics Vorgehen Analyse Images mounten Befehlssyntax mount -o loop,ro,nodev,noexec, noatime /images/hda1.img /mnt/hda1 Nicht Linux/UNIX Partitionen mounten NTFS mount -t ntfs -o loop,ro ... FAT16, FAT32 mount –t vfat -o loop,ro ... Die zu analysierenden Partitionen sollten wenn immer möglich unter LINUX gemountet und analysiert werden. Denn: die Analyse unter LINUX/UNIX ist einfacher, da mehr Tools vorhanden sind. unter LINUX kann ein Image gemounted werden, was unter Windows grundsätzlich nicht, oder nur sehr umständlich funktioniert. unter LINUX können Images im READ ONLY Modus gemounted werden  damit garantieren wir, dass wir das Image (=die Beweise) nicht verändern. Parameter Bedeutung: loop: Mount als loop device  das Image wird beim LINUX-Filesystem als Datei beigefügt, hier im Beispiel unter /mnt als datei hda1 ro: read only Modus nodev: Keine Charakter oder Block-Devices noexec: Ausführen nicht erlaubt noatime: Inode Access Zeiten nicht verändern Beispiel: mount -o loop,ro,noexec images/honeypot.hda5.dd hp/usr ACHTUNG: Beim mounten aufpassen, dass bestehende „mounts“ nicht gelöscht werden: mount -o loop ... /images ...  /mnt  ist gefährlich!

14 System analysieren Allgemeine Informationen über das System
Einleitung Basics Vorgehen Analyse System analysieren Allgemeine Informationen über das System Passwort und Shadow Dateien Logfiles SUID Root Dateien Versteckte Verzeichnisse und /dev MAC-Time Analyse Wiederherstellen von gelöschten Daten Die Analyse eines befallenen Systems läuft in groben Zügen nach obigen Schritten ab. Diese werden wir anschliessend detailliert betrachten. Zusätzliche Informationen, auch allgemeiner Natur, unter [6].

15 System Informationen Betriebssystem und Version Zeitzone
Einleitung Basics Vorgehen Analyse System Informationen Betriebssystem und Version /etc/issue Zeitzone /etc/timezone Boot Informationen /var/log/boot.log Partitionstabelle und Zusatzinfos /etc/fstab fdisk -l /dev/hda1

16 Passwort, Shadow Dateien
Einleitung Basics Vorgehen Analyse Passwort, Shadow Dateien /etc/passwd Struktur: login-id:password:user-id#:group-id#:User Info:home-dir:shell Verdächtig, z.B. Accounts ohne Passwort! /etc/shadow Struktur: login-id:password:lastchg:min:max: warn:inactive:expire:flag Verändert sich, nach folgenden Befehlen passwd useradd, usermod und userdel Password und shadow Dateien enthalten Informationen über die User-Accounts eines Systems. Verdächtig: Accounts ohne Passwort: Das „password“-Feld ist dann leer „komische“ User, wie „nobody“, meistens noch ohne Passwort Gelöschte Passwörter Accounts mit UID 0 (für Root), welche aber nicht Root sind Falsche Kombination von GID/UID Nummern, Infos hierzu unter [10] und [11] Die Bedeutung der Paramater entnimmt man am besten aus: /etc/passwd: [8] /etc/shadow: [9]

17 MAC Time stat: Zusatzinformationen zu File/Directory
bash-2.05$ stat passwd File: "passwd" Size: Blocks: IO Block: Regular File Device: 302h/770d Inode: Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: Thu Sep 11 13:55: Modify: Mon May 5 10:25: Change: Mon May 5 10:25: MAC Time = Timestamp für Ereignisse Modified Accessed Changed Beispiel machen mit dem File „passwd“ (beliebig gewählt, keine weitere Bedeutung). Befehl STAT unter Linux. Diverse Zusatzinformationen werden angezeigt, wie Grösse, assoziierter Inode, etc. Diese Zusatzinformationen sind in einem zum File gehörenden Inode abgelegt. Daraus erkennen wir wiederum einen Grund weshalb eben nicht nur einzelne Dateien in ein Image zu kopieren sind, sondern wirklich der gesamte Inhalt einer Harddisc Partition. Diese Zusatzinformationen stünden ansonsten nicht zur Verfügung! Von besonderem Interesse sind die Timestamps für bestimmte Ereignisse, welche in Zusammenhang mit Dateien oder Verzeichnissen stehen. Diese Timestamps werden jedesmal aktualisiert, wenn das entsprechende Ereignis auftritt: M: Sobald Bytes innerhalb der Datei durch einen Schreibvorgang verändert werden; oder wenn eine Datei zu einem Verzeichnis hinzugefügt, oder gelöscht wird. A: Jedesmal, wenn eine Datei ausgeführt, oder für eine Leseoperation geöffnet wird. C: Sobald der Modus einer Datei, die Benutzerrechte oder sobald sich der Inhalt verändert hat. Wird der Inhalt einer Datei verändert (Schreiboperation), so verändern sich der M- und C-Timestamp. Mit Hilfe dieser Angaben aus den Dateien des geknackten Systems, ist es uns möglich den zeitlichen Verlauf der Attacke zu rekonstruieren.

18 MAC Time Analyse mit TCT
grave-robber -c /mnt -d /forensics -m -o LINUX2 Liefert wertvolle Informationen MAC Time aller Dateien in body Datei Sequentiell ordnen: mactime Gelöschte Inodes ils : Wiederherstellen ils2mac: MAC Time Für die MAC-Time Analyse kann man das The Coroner's Toolkit (TCT), siehe [12] oder AUTOPSY verwenden, siehe [13] (Achtung: Sleuthkit muss vorher noch installiert werden!) Im Praktikum wird ausschliesslich das The Coroner's Toolkit verwendet. ./grave-robber -c /mnt -d /forensics -m -o LINUX2: ./ vor Befehl setzen, wenn die Binaries nicht in den “standard” Verzeichnissen installiert wurden /mnt: Dort befinden sich die gemounteten Images /forensics: Dort werden die Information, welche grave-robber gefunden hat abgelegt. Dieses Programm untersucht die Images und sammelt jede Menge wertvolle Informationen, wie Informationen über Systemprozesse Log Files Konfigurationsdateien MD5 Summen History Files und last but not least: Die MAC-Time aller Dateien Gelöschte Inodes können mit ils wiederhergestellt werden. Falls eine Wiederherstellung möglich war, so kann man mit ils2mac die MAC Times dieser Inodes wiederherstellen.

19 Zusammenfassung Computer Forensics
Methodisches Vorgehen nach Attacke Hilft uns Konsequenzen zu ziehen  Prävention Fahrlässiges Sicherheitsverhalten verändern!

20 Bibliographie [1] LINUX/UNIX Tools unter Windows: [2] Forensische Computer: [3] LINUX/UNIX Tools unter Windows: [4] LINUX/UNIX Tools unter Windows: [5] Forensische Analyse: [6] Gute Tipps/Tricks zur forensischen Analyse: [7] Infos rund um Rootkits: [8] Password Dateien: [9] Shadow Datein: [10] UID, GID: [11] Nummerbereiche bei UID, GID: [12] The Coroner's Toolkit (TCT): [13] Autopsy Forensic Browser:


Herunterladen ppt "Einleitung Basics Vorgehen Analyse"

Ähnliche Präsentationen


Google-Anzeigen