650 likes | 1k Views
Intrusion Detection. Sven Diesendorf INF02. Übersicht. 1 Einführung Intrusion Intrusion Detection Firewall und Intrusion Detection System 2 Technik Aufbau und Funktionsweise von IDS Host Intrusion Detection System Networt Intrusion Detection System Honeypot. Übersicht. 3 Praxis
E N D
Intrusion Detection Sven Diesendorf INF02
Übersicht • 1 Einführung • Intrusion • Intrusion Detection • Firewall und Intrusion Detection System • 2 Technik • Aufbau und Funktionsweise von IDS • Host Intrusion Detection System • Networt Intrusion Detection System • Honeypot
Übersicht • 3 Praxis • Einfaches Host Intrusion Detection System • Einfaches Network Intrusion Detection System • 4 Zusammenfassung
1 Einführung • Intrusion • Was ist Intrusion, wie kann man diese definieren • „Eine Intrusion ist ein unerlaubter Zugriff auf oder Aktivität in einem Informationssystem“ • Handlungen von Personen • Unterscheidung in Angriff, Missbrauch, Anomalie
1 Einführung • es beginnt alles mit einem Portscan • Wer führt den Portscan durch? • Wieso wird der Portscan durchgeführt? • sind diese Informationen bekannt, kann man unterscheiden zwischen Angriff und Missbrauch
1 Einführung • Intrusion Detection • Drei Kategorien von Intrusion Detection: • Angriffs/Einbruchserkennung • Missbraucherkennung • Anomalieerkennung
1 Einführung • Angriffs-/Einbruchserkennung • Angriffe von Außen erkennen • Missbrauchserkennung • Angriffe durch Insider erkennen • Anomalieerkennung • Erkennung von ungewöhnlichen Systemzuständen
1 Einführung • Firewall und Intrusion Detection System • Firewall • trennendes Glied zwischen 2 Netzen • erlaubt nur bestimmte Informationen auszutauschen • ist im OSI-Modell zwischen Schicht 2 und 7 implementiert
1 Einführung • kann Kommunikation einschränken • kann den Verkehr analysieren und einschränken • kann Angreifer von innen nicht erkennen • Abhilfe durch Intrusion Detection System
1 Einführung • Intrusion Detection System • 2 Arten: • Host Intrusion Detection System • Network Intrusion Detection System • Ziele: • bei einem Angriff muss die Unterstützung bei der Reaktion vorhanden sein • Fehlertoleranz • Geringer Administrationsaufwand und selbstständige Lauffähigkeit • Leichte Installation in das vorhandene System
1 Einführung • Funktionalitäten: • Analyse der Rohdaten muss dasselbe Ergebnis bringen • mögliche Angriffe und Einbrüche erkennen • Rückschluss auf die Rohdaten erlauben • Die Alarmierungsschwelle muss konfigurierbar sein • Die Speicherung der Daten und des Berichts muss in einem anerkannten Format erfolgen • Ein IDS sollte eine automatische Reaktion auf einen Angriff unterstützen
2 Technik • Aufbau und Funktionsweise • Besteht aus drei Hauptkomponenten: • Network Engine • Agent • Management
2 Technik • Network Engine • analysiert Datenpakete in Echtzeit • sendet Alarmmeldungen • trifft Gegenmaßnahmen • besteht aus Netzwerkadapter, Packet Capture, Filter, Angriffsdetektor und Response Modul
Response Modul Angriffsdetektor Benutzer Filter Kernel-Software Packet Capture Hardware Netzwerkadapter Netzwerk 2 Technik
2 Technik • Netzwerkadapter • der gesamte Verkehr wird aufgenommen und an die Network Engine weiter geleitet • Packet Capture • Pakete werden für den Transport an die Network Engine organisiert • Filter • es können Protokolle gefiltert werden
2 Technik • Angriffsdetektor • Untersucht den Datenstrom nach bekannten Angriffsmustern • Response Modul • Leitet Gegenmaßnahmen ein und alarmiert zuständige Person
2 Technik • Agent • überwacht Systemaktivitäten • zusätzliche Überwachung von CPU-Last, log-Dateien, etc. • überwacht Benutzer-logons und -logoffs • überwacht die Aktivitäten des Administrators • überwacht wichtige Dateien gegen Manipulation
2 Technik • Managementsystem • administriert und konfiguriert die Network Engine und den Agenten • Kommunikation erfolgt verschlüsselt • fängt alle Events von der Network Engine oder von dem Agent • erstellt Statistiken für weitere Analysen
2 Technik • Host Intrusion Detection System • HIDS • analysiert Daten auf dem lokalen Rechner • Daten können Protokolle oder sonstige von Anwendungen erzeugte Daten sein • prüfen die Integrität des Systems • System Integrity Verify oder File Integrity Assessment
2 Technik • erkennen Angriffe durch Insider • können auch Angriffe von außen erkennen • Nachteile: • Überwachung bei einer großen Anzahl von Rechnern • muss auf jedem Rechner installiert sein • dadurch Verwaltung und Administration schwierig
2 Technik • Erkennbare Angriffe • Der bereitgestellte Zugang für externe Personen wurde nicht deaktiviert • Alte Konten sind nicht gelöscht • Versuch eine Hintertür einzubauen • Modifikation kritischer Daten • Verwendung von Administrationsrechten von unbekannten Personen • Installation von Trojanern
2 Technik • Technologien • kommerzielle Systeme setzen auf mehrere Technologien, Open-Source Lösungen meist auf eine • viele Technologien, z.B.: • Protokollanalyse – Protokolle von Anwendungen werden ausgewertet • Integritätstest – Systemdateien und andere Dateien werden mithilfe von Snapshots geprüft • Echtzeitanalyse – Überwachung von Zugriffen auf Systemdateien und andere Dateien
2 Technik • Network Intrusion Detection System • NIDS • bezieht seine Daten aus dem Netzwerk • einige Systeme untersuchen nur Protokolle • Bestens dafür geeignet Angriffe zu erkennen • Kann auch Angreifer von innen erkennen • Installation und Administration mit deutlich weniger Aufwand verbunden als bei HIDS • oft reicht nur ein NIDS-Sensor pro Netzwerk
2 Technik • Erkennbare Angriffe • Denial of Service mit Bufferoverflow • Ungültige Pakete • Angriffe auf der Applikationsschicht • Zugriff auf vertrauliche Daten • Angriffe gegen die Firewall oder IDS • Distributed Denial of Service • Spoofing Angriffe • Portscans
2 Technik • Technologien • Verfügt wie HIDS über mehrere Technologien, wie: • Signaturerkennung – über eine Datenbank werden Pakete verglichen • Protokolldekodierung – der Datenstrom wird normalisiert, gut gegen Angriffe mit Unicode oder ASCII • statistische Anomalie-Analyse – durch die Häufigkeit der „Fehler“ als Angriff gewertet • heuristische Analyse – mithilfe von Algorithmen wie z.B.: Bayer-Moore
2 Technik • Honeypot • Honeypot • kann aus einem Rechner oder einem Rechnernetzwerk bestehen • stellt keine Verteidigung dar • sondern als Ablenkung gedacht • liefert nützliche Ergebnisse bei der Analyse von Angriffen und Einbrüchen
2 Technik • Tiny Honeypot • „entschärfte“ Variante des Honeypots • auf bestimmten Ports werden nur Dienste simuliert • meist kleine Perl-Programme • Bsp.: • wird eine Verbindung mit Port 1433 hergestellt, dann wird diese Verbindung mithilfe der Netfilter-Architektur an den Port 65334 weiter geleitet
2 Technik • Honeypot-Varianten • Forschungssystem • dienen zum Erkenntnis über das Verhalten der Angreifer • sollen neue Angriffe herausfinden • Produktionssystem • dienen der Sicherheit • dienen zur Erkennung und Verfolgung der Angriffe und Einbrüche
2 Technik • Vorteile und Nachteile • Vorteile • Datensammlung – Daten sind interessant, da es potentielle Angriffe sein können • Ressourcen – Honeypots entlasten den Netwerkverkehr, da viele Angriffe dann auf dem Honeypot stattfinden
2 Technik • Nachteile • Singularität – eine Maschine kann man schlecht im Internet finden • erhöhtes Risiko – wurde auf dem Honeypot eingebrochen, können weitere Angriffe gegen das Netzwerk stattfinden
2 Technik • Honeypot und das Gesetz • in Deutschland problematisch • da Beihilfe zu einer Straftat unter Strafe steht • es werden folgende Gesetze wirksam, wenn ein Honeypot in Betrieb gesetzt wird: • StGB §26 Anstiftung • StGB §27 Beihilfe
3 Praxis • Einfaches HIDS • die Implementierung eines einfachen HIDS • soll das Verzeichnis /etc unter Linux überwacht werden • wird mit den Werkzeugen find und less von Linux realisiert • ist erweiterbar auf andere Verzeichnisse, z.B.: Eigene Dateien bzw. Persönlicher Ordner
3 Praxis • Vorgehensweise : • der Ist-Zustand des Sytems wird mit Hilfe von find in einem Snapshot gespeichert
3 Praxis • In der Datei baseline.2005-11-24 ist nun jeder Dateieintrag (find –type f) des Verzeichnisses/etc mit seiner Inodenummer(-i), den Rechten, dem Besitzer, der Größe und dem Änderungsdatum(-l) abgespeichert • dabei ruft der Befehl find für jede gefundene Datei den Befehl ls –ail auf und übergibt ihm den Namen der gefundenen Datei {}
3 Praxis • Nun kann man mit less den Inhalt von baseline.2005-11-24 betrachten:
3 Praxis • Jetzt wird zu den Testzwecken ein neuer Benutzer im System angelegt • das Anlegen eines neuen Benutzer modifiziert die Systemdaten und man kann somit eine Veränderung des Systems feststellen • geht man davon aus, dass das Anlegen eines neuen Benutzers nicht vorgesehen war, kann man das als ein Angriff bewerten
3 Praxis • Um zu wissen was nun verändert wurde, kann man in regelmäßigen Abständen mithilfe von diff das System vergleichen und die Änderungen in eine Textdatei abspeichern
3 Praxis • nach der Prüfung der Systemintegrität, kann man im Verzeichnis /root eine Datei Namens and.txt finden
3 Praxis • nachdem betrachten der Datei and.txt mit less kann man alle Änderungen seit dem erstellen des Snapshots finden
3 Praxis • Dieses System leicht austricksbar • der Angreifer erzeugt eine Datei, in der die baseline Datei neu abgespeichert wird, wird das vor dem Integritätstest nicht geprüft, findet der Vergleich mit der modifizierten Datei statt • zweite Gefahr stellt die Tatsache, dass man Mithilfe von bestimmten Programmen den Inhalt und die Größe der Datei so verändert, dass es nie eine Modifikation an der Datei stattgefunden hätte
3 Praxis • eine Prüfsumme mittels –exec md5sum zusätzlich erzeugen werden • nun enthält die Baseline-Datei für jede Datei zusätzlich einen MD5 Hash
3 Praxis • nun wird wieder ein neuer Benutzer angelegt und der Integritätstest durchgeführt • danach kann man in der Datei and2.txt auch die Prüfsumme der Dateien sehen, diese kann man sowohl in der baseline als auch in der Protokoll-Datei(and2.txt) sehen
3 Praxis • Fazit • sehr einfach • keine besonderen Funktionen • reicht es aus, um z.B. festzustellen ob jemand an dem Rechner in der Abwesenheit war und ob diese Person irgendwelche Systemdateien oder normale Dateien verändert hat. • weiter entwickeltes HIDS ist z.B. LIDS – Linux Intrusion Detection System
3 Praxis • Einfaches NIDS • Tcpdump • tcpdump ist in allen Distributionen von Linux vorhanden • in diesem Beispiel soll tcpdump die Verbindung über ein Modem überwachen • es soll zusätzlich eine log-Datei im libpcap-Format angelegt werden
3 Praxis • unter der Benutzung des BPF-Filters werden nur bestimmte Pakete gesammelt • tcpdump arbeitet automatisch im promiscuous-Mode und bekommt somit alle Pakete vom Netzwerk, auch wenn sie nicht für den Rechner bestimmt waren.
3 Praxis • Vorgehensweise : • Tcpdump ohne log-Datei • Man ruft tcpdump mit dem Befehl tcpdump –i ppp0 • tcpdump soll mithilfe von –i ppp0 das Modem verwenden.
3 Praxis • nach dem Aufruf beginnt tcpdump sofort mit der Analyse der Pakete • man dann sehen, was vom Rechner zu einem Webserver und zurück geschickt wird
3 Praxis • 19:15:05.633235 IP dialin-212-144-065-212.pools.arcor-ip.net.32976 > dd6908.kasserver.com.http: P414:758 (344) ack 969 win 8129 <nop, nop, timestamp 2912842 298842810> • es wird nun kurz das Ausgabeformat erläutert: • der Zeitstempel erlaubt es die Pakete zeitlich zuzuordnen • 19:15:05.633235