Intrusion Detection und digitale Forensik am Beispiel von Rootkits

Ähnliche Dokumente
Digitale Forensik unter Linux

Wilhelm Dolle, Berlin, 22. Oktober Bedrohung der Systemsicherheit durch Rootkits

Digitale Forensik. Aufklären von Systemeinbrüchen am Beispiel von trojanischen Pferden und Rootkits. Vorlesung Sicherheit in Rechnernetzen

Firewalls und Intrusion Detection Systeme

Allgemeines zur Sicherheit von IT-Systemen. Schutzmechanismen. Intrusion Detection

IT-Sicherheit heute (Teil 7) Diesen und andere Vorträge bieten wir Ihnen als kostenlose Downloads an.

Linux Arbeitsspeicheranalyse

Gibt Daten im erweiterten Format aus. Dies beinhaltet die Angabe von Zugriffsrechten, Besitzer, Länge, Zeitpunkt der letzten Änderung und mehr.

Angriffe auf Computersysteme

Lexware professional und premium setzen bis einschließlich Version 2012 den Sybase SQL-Datenbankserver

SFTP SCP - Synology Wiki

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:

Konfigurationsanleitung Access Control Lists (ACL) Funkwerk. Copyright Stefan Dahler Oktober 2008 Version 1.0.

Benutzer und Rechte Teil 1, Paketverwaltung, SSH

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein:

Network Intrusion Detection mit Snort. (Nachtrag zu 9.2.2, Seite 33)

Benutzer und Rechte Teil 1

SYNerity Analyse von Unix-Rechnern

Verwendung des IDS Backup Systems unter Windows 2000

Memeo Instant Backup Kurzleitfaden. Schritt 1: Richten Sie Ihr kostenloses Memeo-Konto ein

Handbuch. timecard Connector Version: REINER SCT Kartengeräte GmbH & Co. KG Goethestr Furtwangen

Übung - Datensicherung und Wiederherstellung in Windows 7

Digitale Forensik. Veranstaltung. Sicherheit Rechnernetzen

Praktikum IT-Sicherheit

Samsung Large Format Display

Seite 1. rt. Backup. 1. My. Auf dem. eingefügt. folgendem Link:

OP-LOG

Backup der Progress Datenbank

Intrusion Detection & Intrusion Prevention. Tobias Marx Gastvorlesung Sicherheit in Netzen 14. April 2005

Formular»Fragenkatalog BIM-Server«

Um dies zu tun, öffnen Sie in den Systemeinstellungen das Kontrollfeld "Sharing". Auf dem Bildschirm sollte folgendes Fenster erscheinen:

Anti-Botnet-Beratungszentrum. Windows XP in fünf Schritten absichern

Installationsanleitung für pcvisit Server (pcvisit 12.0)

Windows 7/8 - Backdoor

Tutorial -

Linux Intrusion Detection System (LIDS,

Information über das Virtual Private Networks (VPNs)

Konfigurationsanleitung Network Address Translation (NAT) Funkwerk. Seite Copyright Stefan Dahler Oktober 2008 Version 1.

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen.

8. Bintec Router Redundancy Protocol (BRRP) 8.1 Einleitung

chkrootkit - Howto Ausgabe eines chkrootkit Tests: $ tar -xzvf chkrootkit.tar.gz # cd <Ordner in dem chkrootkit entpackt wurde # make

Praktikum IT- Sicherheit

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Installationsanleitung OpenVPN

Security. Stefan Dahler. 4. Internet Verbindung. 4.1 Einleitung

Psyprax GmbH. Wichtig für alle Netzwerkinstallationen: Psyprax GmbH

Anleitung TUS Port Checker 2.0

Security. Stefan Dahler. 6. Zone Defense. 6.1 Einleitung

Thomas Bechtold Peer Heinlein. Snort, Acid 8t Co. Einbruchserkennung mit Linux

Anleitung zum Prüfen von WebDAV

Umbenennen eines NetWorker 7.x Servers (UNIX/ Linux)

DocuWare unter Windows 7

mit ssh auf Router connecten

Lokale Installation von DotNetNuke 4 ohne IIS

Workshop: Eigenes Image ohne VMware-Programme erstellen

IntelliRestore Seedload und Notfallwiederherstellung

Netzwerke 1. Praktikumsversuche 5 und 6

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Rootkits: Techniken und Abwehr

ecaros-update 8.2 Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Eschenweg Weiterstadt

Tanuki Service Wrapper 101. JVM Verwaltung mit der Community Edition. Alexander Pacnik Karlsruhe,

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Installation Hardlockserver-Dongle

4D Server v12 64-bit Version BETA VERSION

VPNs mit OpenVPN. von Michael Hartmann netz.de>

SWISSVAULT StorageCenter Console Version 5 Kurzanleitung für SWISSVAULT Combo Partner

Version 1.0 [Wiederherstellung der Active Directory] Stand: Professionelle Datensicherung mit SafeUndSave.com. Beschreibung.

Übung - Datensicherung und Wiederherstellung in Windows Vista

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

So funktioniert die NetWorker 7.5 Eigenschaft zum Sichern umbenannter Verzeichnisse ( Backup renamed Directories )

Anleitung zur Konfiguration eines NO-IP DynDNS-Accounts mit der TOOLBOXflex-3.2

Lizenzen auschecken. Was ist zu tun?

Ether S-Net Diagnostik

Dateisystem 1, Suchpfad, Befehlstypen

Dateisystem 1, Suchpfad, Befehlstypen

Diese Anleitung erläutert die Einrichtung des Active Directory Modus im DNS-343.

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Intrusion Detection Systeme. Definition (BSI) Alternative Definition IDS

TeamSpeak3 Einrichten

Installation/Einrichtung einer Datenbank für smalldms

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Die DeskCenter Management Suite veröffentlicht neue Version 8.1


BitDefender Client Security Kurzanleitung

ANYWHERE Zugriff von externen Arbeitsplätzen

How to install freesshd

ftp://ftp.dlink.de/dpr/dpr-1061/documentation/dpr-1061%20printer%20compatible%20list.pdf

Installationsanleitung Webhost Linux Flex

MOUNT10 StoragePlatform Console

WordPress lokal mit Xaamp installieren

Installationshinweise Linux Edubuntu 7.10 bei Verwendung des PC-Wächter

Installation SQL- Server 2012 Single Node

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

Das nachfolgende Konfigurationsbeispiel geht davon aus, dass Sie bereits ein IMAP Postfach eingerichtet haben!

3 Netzdienste im Internet. vs3 1

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,

Installation Messerli MySQL auf Linux

terra CLOUD IaaS Handbuch Stand: 02/2015

Transkript:

Intrusion Detection und digitale Forensik am Beispiel von Rootkits Sicherheit in Rechnernetzen Wilhelm Dolle, Head of Networking Unit & IT-Security (wilhelm.dolle@interactive-systems.de) www.interactive-systems.de/security

Agenda Rootkits Intrusion Detection Digitale Forensik Rootkits finden 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 2

Nach einem erfolgreichen Angriff Rootkits Was geschieht nach einem erfolgreichen Einbruch? Überwachungsmethoden analysieren Verwischen von Spuren / Entdeckung vermeiden Installation eines Rootkits Einrichtung von Backdoors Angriff auf weitere Systeme 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 3

Was sind Rootkits? Rootkits Oft leichte Installation Verbergen Spuren (Dateien, Prozesse, Netzverbindungen,...) des Einbrechers Bringen trojanisierte Systemprogramme und andere Tools mit ( Admin Bausatz ) Schaffen dauerhaften Zugang zum kompromittierten System (Backdoor) Enthalten zusätzlich oft Keylogger, Sniffer, Logfilecleaner Dateibasierte/-modifizierende Rootkits Kernelbasierte/-modifizierende Rootkits 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 4

Historie Rootkits Ende 80 er: manipulieren von Logdateien 1989: Phrack-Magazin: Umgehen von Unix-Überwachung 1994: erster CERT Hinweis auf eine Sammlung von Programmen Erste Erwähnung von Rootkits in Zusammenhang mit SunOS Mitte der 90 er: LKM-Rootkits für Linux (später auch für andere Unix-Varianten) 1997 heroin, 1999 knark / adore 1999 Kernel Rootkits für Windows (NT-Rootkit) 2001 KIS, SucKIT manipulieren den Kernel direkt im Hauptspeicher (Technik 1998 beschrieben) 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 5

Dateibasierte Rootkits Rootkits Ersetzen bzw. verändern Systembefehle und Überwachungsprogramme im Dateisystem Klassische Rootkits (z.b. lrk3, lrk4, lrk5, t0rnkit) Unterart: Library Rootkits t0rnkit tauscht zum Beispiel libproc.so aus, die dafür verantwortlich ist, dass Prozessinformationen über das /proc-dateisystem vom Kernel an anfragende Prozesse weitergegeben werden können 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 6

Dateibasierte Rootkits - t0rnkit Rootkits syslogd wird angehalten Hash-Wert eines Passwortes (Hintertür) in /etc/ttyhash Trojanisierter SSH-Daemons unter /usr/sbin/nscd Start als # Name Server Cache Daemon.. in der Datei /etc/rc.d/rc.sysinit (Defaultport 47017) Konfigurationsdateien unter /usr/info/.t0rn Austausch von: login, ls, netstat, ps, ifconfig, top, du und find (Zeitstempel & Originalgrößen werden zurückgesetzt) in.fingerd öffnet eine Shell am Port 2555 /usr/src/.puta enthält verschiedene Binarys (unter anderem einen Sniffer) telnet, rsh und finger werden in /etc/inetd.conf aktiviert syslogd wird wieder gestartet 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 7

Kernelbasierte Rootkits Rootkits LKM oder direkte Modifikation des Kernels im Speicher Vorteile: Privilegierter Zugriff auf das System Behandlung von Netzwerkpaketen vor lokaler Firewall (stealth Backdoor) Manipulation der Systemsprungtabelle oder direkt der Systemfunktionen Keine Änderung von Systemprogrammen nötig 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 8

Interessante Systemfunktionen Rootkits open() lesender Zugriff Original, ausführender Zugriff trojanisierte Datei getdents(), mkdir(), chdir(), rmdir() Verstecken von Verzeichnissen/Dateien execve(), clone(), fork() Ausführen von Programmen mit bestimmten Eigenschaften (verstecken), und Vererbung an Kindprozesse stat() Manipulation der Dateieigenschaften ioctl() Device-Kontrolle, z.b. kein promisc-bit (Sniffer) zu sehen 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 9

Rootkits die LKM benutzen Rootkits Rootkits benutzen ladbare Kernelmodule (benötigen: insmod, lsmod, rmmod) Verbreitete Exemplare Knark (für Kernel 2.2) speziell zur Täuschung von Programmen wie Tripwire oder md5sum Adore (für Kernel 2.2 und 2.4) Module: adore.o und cleaner.o Komandozeilentool: ava 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 10

NT-Rootkit Rootkits 1999 von Greg Hoglund als Proof of Concept Gerätetreiber _root_.sys Startdatei deploy.exe Starten: net start _root_ Stoppen: net stop _root_ Eigener TCP/IP-Stack Telnet Backdoor unter der IP 10.0.0.166 (beliebiger Port) Verstecken von Dateien und Prozessen Möglichkeit zum Umleiten von Programmaufrufen 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 11

Rootkits direkt über den Hauptspeicher Rootkits Bringen eigene Modulloader mit oder benötigen keine LKM Unterstützung Greifen direkt auf den im Hauptspeicher befindlichen Kernel über /dev/kmem zu Technik wurde schon 1998 beschrieben Monolitischer Kernel hilft in einigen Fällen nicht mehr 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 12

Kernel Intrusion System (KIS) Rootkits DefCon 9 / 2001: Kernel Intrusion System (KIS) von optyx Bringt eigenen Modullader mit (Kernel-Memory-Patching) Versteckte Hintertür: lauscht erst auf einem Port nachdem ein spezielles Paket (beliebiger Port) an den Rechner geschickt wurde (Stealth-Backdoor) Graphischer Client und Server Interface für Plug-ins (leicht erweiterbar) 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 13

Rootkits starten Rootkits Modifikation des init-programms Modifikation der Startscripte Modifikation von Serverprogrammen die oft beim Systemstart aufgerufen werden (sshd, httpd,...) 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 14

Wie fällt ein kompromittiertes System auf? Rootkits Intrusion Detection Systeme (host- / netzwerkbasierend) File System Integrity Checker Systemabstürze Erhöhter Netzwerkverkehr Verstoß gegen die Sicherheitsrichtlinien (nicht erlaubte Protokolle, Zugriffszeiten,...) Dateisystem wird stärker genutzt Höhere Prozessorlast Geänderte Passwörter / neue Benutzer 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 15

Agenda Rootkits Intrusion Detection Digitale Forensik Rootkits finden 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 16

Wozu benötigen wir Intrusion Detection? Intrusion Detection Intrusion detection is needed in today s computing environment because it is impossible to keep pace with the current and potential threats and vulnerabilities in our computing systems. SANS Institute ID FAQ 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 17

Intrusion Detection Systems Erkennen Angriffe und Einbrüche Erkennen Veränderungen an Dateien Erkennen verbotene Aktionen Erkennen unerlaubten Netzwerkverkehr Netzwerkbasiertes IDS (NIDS) Überwacht ein komplettes Netzsegment Signaturbasierte Erkennung Anomaliebasierte Erkennung Protokollanalyse Hostbasierte IDS (HIDS) Überwachen nur einen Rechner File System Integrity Checker Audit des Systems 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 18

Mögliche Fehler eines IDS Intrusion Detection Falsch positiv (eine erlaubte Aktion wird als Angriff identifiziert) Falsch negativ (ein Angriff wird vom IDS nicht erkannt oder als unbedenklich klassifiziert) Subversionsfehler (sehr komplexe Fehler; der Angreifer kann das IDS unterminieren) 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 19

Einfaches Auditing des Dateisystems Intrusion Detection Ursprungszustand ermitteln: /usr/bin/find / -type f -perm +6000 exec /bin/ls ail {} \; > setuidgid.original /bin/ls ailr /etc > etc.original Überprüfung: /usr/bin/find / -type f -perm +6000 exec /bin/ls ail {} \; diff setuidgid.original - /bin/ls ailr /etc diff etc.original - 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 20

syslogd Intrusion Detection Logdateien können eine wertvolle Hilfe sein (Angreifer versuchen meist sie zu löschen oder zu manipulieren) Sicherung der Protokolle auf einem weiterem Rechner syslogd.conf: *.* @log_backup Auf dem Rechner @log_backup den syslogd mit der Option r (remote) starten Evtl. ssyslogd mit PEO-1 Protokoll (Verschlüsselung) einsetzten 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 21

Hostbasiertes IDS - Tripwire Intrusion Detection www.tripwire.org Seit Oktober 2000 unter GNU GPL Testet die Integrität von Dateien und erkennt Manipulationen am Filesystem. Sowohl die Regeln, als auch die Datenbank werden kryptographisch verschlüsselt um Manipulationen zu verhindern. 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 22

Netzbasiertes IDS Vorarbeiten Intrusion Detection Übersicht über den Normalzustand im Netzwerk bekommen ntop Ethereal arpwatch Kontrolle der MAC-Adressen im Netzwerk 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 23

ntop Intrusion Detection Netzwerkmonitor (www.ntop.org) Konsolenausgabe Eigener Webserver, Benutzerpasswörter, OpenSSL 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 24

Ethereal Intrusion Detection Network Protocol Analyzer (www.ethereal.com) GUI Capture Files von vielen anderen Tools analysieren (z.b. tcpdump) 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 25

Netzbasiertes IDS - Snort (1) Intrusion Detection www.snort.org Buffer Overflows stealth port scans cgi-angriffe SMB und NetBIOS Tests Portscanner (wie nmap) DDoS Clients 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 26

Netzbasiertes IDS - Snort (2) Intrusion Detection TCP-Stream Reassemblierung (stream4 Präprozessor) IP-Defragmentierung (frag2 Präprozessor) SPADE (statistical packet anomaly detection engine) HTTP Präprozessor erkennt UNICODE Sicherheitsfeatures (chroot, User snort/snort) Flexible Response (SNORT kann direkt Gegenmaßnamen einleiten) 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 27

Snort - Signaturerkennung Intrusion Detection Netzwerkverkehr wird anhand von Regeln nach bekannten Signaturen untersucht alert TCP $EXTERNAL 80 -> $INTERNAL any (msg: "IDS215/client-netscape47-overflow-retrieved"; content: " 33 C9 B1 10 3F E9 06 51 3C FA 47 33 C0 50 F7 D0 50 "; flags: AP;) 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 28

Snort - Plazieren der Sensoren Intrusion Detection Sensor muss zu überwachenden Verkehr sehen können Weitere aktive Snort-Prozesse (Sensoren nach Bedarf) Vor einem Paketfilter (Angriffserkennung) Hinter einem Paketfilter (Einbruchserkennung, sehr hohe Empfindlichkeit) 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 29

Snort - Datenbanken Intrusion Detection Auswertung von rohen Daten ist recht mühsam Loggen in lokale Dateien skaliert nicht Oracle, MySQL, PostgreSQL, ODBC Zentrale Datenbank (evtl. zusätzlich zur lokalen Datenerfassung) Loggen per Output-Plugin im Binär-Modus (Unified) Mit Barnyard Unified-Daten einlesen und an Datenbank übergeben 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 30

ACID Intrusion Detection Analysis Console for Intrusion Databases (ACID, www.cert.org/kb/acid) 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 31

Agenda Rootkits Intrusion Detection Digitale Forensik Rootkits finden 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 32

Grundsätze der digitalen Forensik Digitale Forensik Änderungen am Originalsystem soweit möglich vermeiden Uhrzeit und Datum notieren (Vergleich von Realzeit zu System/BIOS-Zeit) Änderungen dokumentieren (mit Uhrzeit) Hardware-Inventur des Originalsystems Geringe Personenzahl im Untersuchungsteam Zuerst alle Daten sammeln und dann erst Analyse beginnen Niemals mit Originaldaten arbeiten 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 33

Momentaufnahme des Systems Digitale Forensik Daten in der Reihenfolge ihrer Vergänglichkeit sichern: Registerwerte, Cacheinhalte Hauptspeicher Aktueller Zustand des Netzwerkes Laufende Prozesse Daten auf Festplatten Daten auf Disketten, CD-RW, Streamer,... Daten auf CD-R, Papier,... 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 34

Forensische Toolbox Digitale Forensik VOR der Untersuchung zusammengestellte bootbare CD mit Mini-Linuxsystem (bzw. dem zu untersuchenden System) Alle Programme statisch gelinkt Typische Unix/Linux Programme: dd, cp, cat, ls, ps, lsof, strings, find, file, bash, grep, less, vi, perl, ifconfig, kill, nc/netcat, tcpdump, arp, des, df, diff, du, last, lsmod, md5, mv, netstat, rpcinfo, showmount, top, uname, uptime, w, who, fdisk, gzip Spezielle Programme zur forensischendatensammlung und Analyse TCT, TCTUtils, Autopsy, cryptcat, perl 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 35

Erstkontakt Digitale Forensik Keine Panik! System nicht abschalten (flüchtige Speicher, laufende Prozesse) Keinen Netzwerkstecker ziehen (aktuelle Netzverbindungen) Kein Backup einspielen (Analyse unmöglich, Schwachstelle nicht beseitigt, welches ist das letzte nicht kompromittierte Backup?) 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 36

Datensicherung Digitale Forensik Möglichst auf eigenen Analyserechner Über das Netzwerk per netcat Ziel: netcat l p 6666 >> log.txt Quelle: [Daten] netcat w 2 [Ziel-IP] 6666 Bei nicht vertrauenswürdigen Netzen verschlüsseln mit des... netcat l p 6666 des d c k [Schlüssel] >> log.txt [Daten] des e c k [Schlüssel] netcat w 2 [Ziel- IP] 6666... oder Benutzung von cryptcat 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 37

Datensammlung (Hauptspeicher) Digitale Forensik Ziel: netcat l p 6666 > kmem.img Quelle dd bs=1024 < /dev/kmem netcat w 2 [Ziel-IP] 6666 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 38

Datensammlung (Netzwerkverbindungen) Digitale Forensik Ziel: netcat l p 6666 > netstat.txt Quelle netstat -an netcat w 2 [Ziel-IP] 6666 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 39

Datensammlung (weitere Infos) Digitale Forensik last (Wer war zuletzt eingeloggt?) who (Wer ist eingeloggt?) w (Wer ist eingeloggt und was macht er?) ps (laufende Prozesse) lsof (Welche Applikation auf welchem Port?) arp (MAC-Adressen im Cache) netstat (Routen und Netzwerkverbindungen)... 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 40

Datensammlung (Festplatteninhalt) Digitale Forensik Bitstream Image einer Partition Ziel: netcat l p 6666 dd of=hda1.img Quelle dd if=/dev/hda1 netcat w 2 [Ziel-IP] 6666 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 41

Vorteile des Images gegenüber Backup Digitale Forensik File Slack (restlicher Speicherplatz bei nicht vollständig beschriebenen Clustern; kann Teile von überschriebenen Dateien enthalten) Unallokierte Datenblöcke (evtl. gelöschte Dateien) Keine Modifikation der Zugriffszeiten ( MACtimes bei Unix Systemen) M mtime: Änderung am Inhalt A atime: letzter lesender Zugriff C ctime: Änderungen am Inode (Rechte, Eigentümer) 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 42

Prozesse ohne zugehörige Binär Datei Digitale Forensik Angreifer löschen oft das Binary nach dem Ausführen Wiederherstellung bei installiertem proc-filesystem cat /proc/[pid]/exe > [Datei] 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 43

Externe Datenquellen Digitale Forensik Dedizierte Logserver Firewall-Logs Router-Logs Intrusion Detection Systeme netzwerkbasierte (z.b. Snort) hostbasierte System Integrity Verifier (z.b. Tripwire) 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 44

Hilfsmittel für die Analyse Digitale Forensik Kommerziell z.b. EnCase Freeware The Coroner s Toolkit (1999, Dan Farmer und Wietse Venema) TCT-Utils (2001, Brian Carrier) Autopsy (2001, Brian Carrier) TASK (2002, Brian Carrier) 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 45

Agenda Rootkits Intrusion Detection Digitale Forensik Rootkits finden 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 46

System untersuchen (1) Rootkits Wichtige Dateien überprüfen (inetd.conf / xinetd, services, Startdateien in rc.d,...) Oft trojanisierte Programme ps, ls, find, ifconfig, netstat, du, df sshd, httpd login, passwd inetd, tcpd Verdächtige MACtimes in /sbin/ oder /usr/sbin? (verdächtige Binaries mit strings ansehen) Dateien mit Link Count kleiner 1 (lsof +L1) Historys ansehen (z.b..bash_history) Normale Dateien im Device File System (find /dev type f) 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 47

System untersuchen (2) Rootkits Geladene Module prüfen Nach Interfaces im promiscous mode suchen (Sniffer) Analyse der installierten Pakete mit RPM # rpm --verify all S.5... /bin/ls S.5...T /usr/bin/named S.5... /bin/netstat Logfiles auf verdächtige Einträge durchsuchen; Beispiel: Oct 31 16:52:33 opfer telnetd: connect from x.x.x.x Oct 31 16:52:34 opfer telnetd: ttloop: peer died:... => Buffer-Overflow-Angriff auf telnetd 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 48

Rootkits finden (Konzepte) Rootkits Offene Ports (Scan von außen mit netstat vergleichen hidden Backdoor?) Modulliste (wenn nicht versteckt) Vergleich der Systemsprungtabelle mit System.map Vergleich der Kernelsymboltabelle (/proc/ksyms) mit der eines sauberen Kernels Signatur (wenn bekannt und nicht verschlüsselt) im Speicher suchen (z.b. strings /dev/kmem) PID-Test (versuchen alle freien PIDs durch einen Testprozess zu belegen) 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 49

kstat Rootkits www.s0ftpj.org Ursprünglich für Linux Kernel 2.2, inzwischen portiert auf 2.4 Kompilieren mit sauberem Kernel (passend zum Zielsystem) Findet geladene Module (die zb. mit lsmod nicht angezeigt werden) und kann sie entfernbar machen kstat M Zeigt veränderte Systemcalls an kstat S 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 50

ChkRootKit Rootkits www.chkrootkit.org Lokal ausführbares Script Erkennt nahezu alle bekannten Rootkits Benutzt lokal vorhandene Befehle Analoge Probleme wie mit ifconfig bei der Erkennung des promisc-modus (besser ip link show) Evtl. Einsatz von einem schreibgeschützten Medium mit allen notwendigen (statisch gelinkten) Befehlen: chkrootkit p /mnt/cdrom/bin 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 51

ChkRootKit Komponenten Rootkits chkrootkit lokales Script benutzt die anderen Programme ifpromisc sucht nach Netzwerkkarten im Promiscuous- Modus chklastlog sucht nach Löschvorgängen in lastlog chkwtmp sucht nach Löschvorgängen in wtmp check_wtmpx sucht auf Solarissystemen nach Löschvorgängen in wtmpx chkproc sucht nach Anzeichen für trojanisierte LKMs chkdirs sucht nach Anzeichen für trojanisierte LKMs strings simple und schnelle Implementation des strings- Kommando 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 52

ChkRootKit Ausgabe Rootkits #./chkrootkit... Checking su... not infected Checking ifconfig... INFECTED... Checking identd... not found Checking init... INFECTED... Searching for Adore Worm... nothing found... Checking sniffer... eth0 is not promisc... 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 53

Entfernen von Rootkits Rootkits Backup einspielen erst nach digitaler Forensik (wann war das letzte saubere Backup?) Manipulierte Dateien durch Originale ersetzen Module entfernen Startscripte säubern / Startpunkte des Rootkits entfernen Wenn möglich: System komplett neu aufsetzen! 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 54

Proaktive Schutzmaßnamen (1) Rootkits Gut ausgebildete Systembetreuer (sowie ausreichend Zeit) Verhindern des Ausnutzens von Buffer-Overflows und Format-String Angriffen Auditing von in den Kernel eingefügten Modulen (Modifikation von insmod) 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 55

Proaktive Schutzmaßnamen (2) Rootkits Problem der Unix-Architektur: der allmächtige Administrator root LIDS (Linux Intrusion Detection System) NSA Security-Enhanced Linux GrSecurity RSBAC (Rule Set Based Access Control) 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 56

Linux Intrusion Detection System (LIDS) Rootkits LIDS (www.lids.org) ist ein Patch für den Kernel Es werden Features implementiert, die Linux im Vergleich zu anderen OS fehlen Schutz/Kontrolle/Verstecken von Dateien (z.b. /etc/passwd), Geräten (z.b. /dev/hda), Speicher (/dev/kmem) und Prozessen(z.B. tripwire) (auch vor root!) Integrierter Portscan-Detector ACLs für User, Einschränkungen für root (z. B. keine Module laden, kein Neustart) Administration erst nach RIPE-MD Kennwort oder Neustart 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 57

Fazit Dateibasierte/-modifizierende Rootkits Kernelbasierte/-modifizierende Rootkits Intrusion Detection Digitale Forensik Rootkits finden (Konzepte, kstat, chkrootkit) Proaktive Schutzmaßnamen Upcoming Events ;-) Auto Rooter Sniffer Backdoors 25. Juni 2003 Sicherheit in Rechnernetzen, Potsdam Wilhelm Dolle 58