Intrusion Detection Sven Diesendorf INF02. Übersicht 1 Einführung Intrusion Intrusion Detection...

Post on 05-Apr-2015

131 views 2 download

Transcript of Intrusion Detection Sven Diesendorf INF02. Übersicht 1 Einführung Intrusion Intrusion Detection...

Intrusion Detection

Sven DiesendorfINF02

Ü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

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

2 TechnikResponse Modul

Angriffsdetektor

FilterBenutzer

Packet CaptureKernel-Software

NetzwerkadapterHardware

Netzwerk

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

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

3 Praxis dann werden die Kommunikationspartner

angezeigt inklusive ihrer Ports: IP dialin-212-144-065-

212.pools.arcor-ip.net.32976 > dd6908.kasserver.com.http

in diesem Falle Port des Clients: 32976 und des Webservers http (80)

hier handelt es sich um eine ACK Nummer ack 969

3 Praxis damit der Webserver weiß, wie viele

Informationen vom Client verarbeitet werden können, übermittelt der Client die Window-Größe

win 8129 beim Aufbau der Verbindung werden noch

weitere Informationen vom Client übermittelt, diese werden dann als TCP-Optionen übermittelt

<nop, nop, timestamp 2912842 298842810>

3 Praxis wenn man tcpdump beendet, wird eine

Statistik aufgerufen es wird angezeigt, wie viele Pakete es

insgesamt waren wie viele durch den Filter durchgelassen

wurden und wie viele durch das Kernel abgewiesen

wurden

3 Praxis Tcpdump mit einer log-Datei

mit dem Befehl –s 100 wird die Anzahl der protokollierenden Bytes eines Pakets festgelegt, mit –w tcpdump.log werden die Pakete in der abgespeichert

die Datei wird im libpcap-Format erzeugt und kann somit zusätzlich von snort oder ethereal gelesen werden.

3 Praxis die Datei wird mittels tcpdump –X –r tcpdump.log

gelesen und die Pakete werden im Hexadezimalen als auch im ASCII Format angezeigt.

3 Praxis Einrichtung eines Filters BPF-Filter

definieren, welche Pakete gesammelt werden.

der Filterausdruck kann aus mehreren Teilen bestehen

jeder dieser Teilausdrücke enthält mindestens eine oder drei folgenden Eigenschaften vorangestellt wird.

Typ – host, net oder port Richtung – dst, src Protokoll – z.B.: tcp, udp

den Filter startet man mit Protokoll, Ziel, Ziel-Port

3 Praxis In diesem Beispiel wäre das Protokoll tcp

Ziel http://diesy.diesendorf.net und der Port 80 (http) und 443 (https)

Dieser Filter wird alle zutreffenden Pakete in der Datei server.log abspeichern.

Und hier kann man erkennen, dass nur die Anfragen und Antworten vom Client und Webserver abgespeichert wurden.

3 Praxis

3 Praxis Fazit

tcpdump ist ein mächtiges Werkzeug wenn man es richtig einstellt und die vielen

Einstellungsmöglichkeiten auch richtig ausnutzt

die log-Dateien kann man zum besseren Verständnis am besten mit snort lesen

tcpdump eignet sich sowohl für analoge als auch Netzwerkverbindungen und ist somit für jeden nutzbar

4 Zusammenfassung ein hochwirksames Mittel für die Erkennung,

Analyse und Verhinderung von Einbrüchen in Rechnersystemen und Netzinfrastrukturen.

der Einsatz lohnt sich auf jeden Fall, denn mit einem IDS und einer Firewall kann man zwar nicht die 100% Sicherheit schaffen, man kann jedoch den höchsten Sicherheitsgrad schaffen

beide Systeme ergänzen sich gut. wo es wirklich überlegt werden muss, ob man

lieber ein Open Source IDS verwendet oder doch lieber Geld für ein kommerzielles System ausgibt

ENDE

Das Skript „Intrusion Detection“ ist unter

http://diesy.diesendorf.net zu finden.