System Snort Umgehen von NIDS Probleme und Schwächen Andreas Heißel May 5, 2013
System Snort Umgehen von NIDS Probleme und Schwächen Inhalt System Übersicht Aufbau und Funktion eines NIDS Erkennung von Angriffen Reaktion auf Angriffe Snort Arbeit mit Snort Snort Regeln Präprozessoren Umgehen von NIDS Session Splicing Denial of Service Probleme und Schwächen
System Snort Umgehen von NIDS Probleme und Schwächen Übersicht Übersicht Kurz NIDS ein System zur Erkennung von Angriffen gegen ein Computernetz Kann als Alarmanlage gesehen werden NIDS erkennt und protokolliert Angriffe, kann Meldung anzeigen
System Snort Umgehen von NIDS Probleme und Schwächen Übersicht NIDS im eigentlichen Sinne blockiert keine Angrife Intrusion Detection and Prevention Systeme (IDPS) blockieren Verkehr Machen Verkehr durch Änderungen unschädlich NIDS ist keine Firewall Firewall ist kein NIDS Analogie: Firewall ist der Türsteher, NIDS ist die Überwachungskamera
System Snort Umgehen von NIDS Probleme und Schwächen Aufbau und Funktion eines NIDS Aufgaben eines NIDS Unterstützung von Firewall und Virenschutz Firewall blockt blind nach Regeln kein Schutz nach Überwindung kein Schutz vor gefälschten Paketheadern Firewall kontrolliert Kommunikation am Übergang zwischen Netzsegmenten, nicht Kommunikation selbst Erkennt etwa DDos, Sniffing, Spoofing, Aktivität von Viren, Trojanern oder Botnets
System Snort Umgehen von NIDS Probleme und Schwächen Aufbau und Funktion eines NIDS Aufbau Passives NIDS ein oder mehrere Sensoren die den Verkehr passiv mitsniffen Bsp: einfacher Host in Promiscious Mode + Snort bearbeitet nur Kopie des Verkehrs Performanter als Inline-IDS da kein zusätzlicher Verarbeitungsschritt nötig
System Snort Umgehen von NIDS Probleme und Schwächen Aufbau und Funktion eines NIDS Aktives bzw. Inline NIDS Auch Intrusion Prevention System genannt Eigene Hardwarekomponente, die idealerweise an Netzübergang sitzt Überwacht aktiv den durchfliesenden Verkehr Datenpakete können geändert oder blockiert werden
System Snort Umgehen von NIDS Probleme und Schwächen Aufbau und Funktion eines NIDS
System Snort Umgehen von NIDS Probleme und Schwächen Erkennung von Angriffen Erkennung von Angriffen Erkennung von Angriffsmustern Erkennung auf Grund von Abweichungen vom Normalverhalten Protokollanalyse Anomalieerkennung Korrelation von Ereignisdaten
System Snort Umgehen von NIDS Probleme und Schwächen Erkennung von Angriffen Erkennung von Angriffsmustern Erkennung der Angriffe an Hand bekannter Angriffssignaturen Viele Datenpakete vom gleichen Host an unterschiedliche Ports Portscan Ungewöhnlich hohe Anzahl an Datenpaketen in kurzer Zeit DDos Mehrere fehlerhafte Loginversuche
System Snort Umgehen von NIDS Probleme und Schwächen Erkennung von Angriffen Vorteil Leichte verständlich Meist einfach Anpassbar durch Erstellung von eigenen Regel Neue Signaturen oft von Hersteller Nachteil Alle Angriffe müssen einzeln aufgezählt werden Fehlalarm bei unscharfen Signaturen
System Snort Umgehen von NIDS Probleme und Schwächen Erkennung von Angriffen Abweichungen vom Normalverhalten Überlegung: Alles was nicht normal ist, ist ein Angriff Protokollanalyse Normalverhalten ist in Protokollspezifikation festgelegt (Stichwort RFC) Viele Angriffe weichen vom Normalverhalten ab Vorteil: Hohe Performance, geringer Aufwand beim erstellen von Signaturen Nachteil: Angriffe die auf Unschärfen bei Protokollspezifikation beruhen werden nicht erkannt
System Snort Umgehen von NIDS Probleme und Schwächen Erkennung von Angriffen Anomalieerkennung durch statistische Daten Systemverhalten unterscheidet sich im Angriffsfall vom Normalzustand Kennwert für Normalverhalten durch Zugriffszeit, Nutzungshäufigkeit, Fehlversuchen bei Anmeldung Nachteil: Muss komplett individuell konfiguriert werden sehr ungenau Künstliche Intelligenz Lernprozess durch Künstliche Intelligenz sehr ungenau
System Snort Umgehen von NIDS Probleme und Schwächen Erkennung von Angriffen Honeypots System das nur als Angriffsziel eingesetzt wird Kein Normalbetrieb Anomalien leicht erkennbar Nachteil: Registriert je nach Implementierung nicht alle Angriffe
System Snort Umgehen von NIDS Probleme und Schwächen Erkennung von Angriffen Korrelation von Ereignisdaten Berücksichtigung von zeitlich auseinanderliegenden Ereignissen von einem oder mehreren Sensoren Speicherung von Ereignisdaten in möglichst großem Umfang Eigentlich belanglose Ereignisse können an Bedeutung gewinnen Nachteil: Datenschutz, ungeeignete Datenbanken
System Snort Umgehen von NIDS Probleme und Schwächen Reaktion auf Angriffe Reaktion auf Angriffe Dokumentation durch Aufzeichnung von Rohdaten für spätere Analyse oder als Beweis Alarmierung durch Mail, SMS... Aktives NIDS kann Gegenmaßnahmen einleiten beendung der Verbindung Manipulation des Payloads temporäre Regeländerung der Firewall
System Snort Umgehen von NIDS Probleme und Schwächen Snort Open Source NIDS für Windows, Linux und Mac Entwickelt von Martin Roesch Erste Version Released im Jahr 1998 Mehrere Millionen Downloads Wurde im Jahr 2009 von InfoWorld als eine der besten Open Source Softwares aller Zeiten in die Open Source Hall of Fame gewählt
System Snort Umgehen von NIDS Probleme und Schwächen Arbeitet signaturbasierend mit einer Kombination von Regeln und Präprozessoren Kann Paktete defragmentieren Kann Streams untersuchen Kann sowohl als aktives als auch als passives NIDS betrieben werden
System Snort Umgehen von NIDS Probleme und Schwächen Arbeit mit Snort Installation und Konfiguration Installation Linux: sudo apt-get install snort Binarys und Source unter www.snort.org erhältlich Konfiguration Konfigurationsdatei im Verzeichnis etc/snort/snort.conf HOME NET: IP-Range des Home-Nets interface: Netzwerkschnittstelle auf der geloggt werden soll logdir: Log-Verzeichnis daemon: Snort als Hintergrundprozess
System Snort Umgehen von NIDS Probleme und Schwächen Arbeit mit Snort Programmaufruf Sniffing snort -v Pakete werden mitgesnifft und auf Konsole ausgegeben Logging snort -l./log Datenverkehr wird im angegebenen Verzeichnis geloggt NIDS-Modus snort -c Snort.conf NIDS-Modus mit den in Snort.conf definierten Regeln
System Snort Umgehen von NIDS Probleme und Schwächen Snort Regeln Snort Regeln Standard Regeln /etc/snort/rules Regeln können angepasst und hinzugefügt werden Aktuelle Regeln unter Snort.org Regeln werden nacheinander abgearbeitet Erste zutreffende Regel wird angewendet
System Snort Umgehen von NIDS Probleme und Schwächen Snort Regeln Aufbau der Regeln Besteht aus Rule Header und optionalen Rule Options Alle Angaben der Regel müssen zutreffen
System Snort Umgehen von NIDS Probleme und Schwächen Snort Regeln Aktion Feld Legt Aktion fest, die ausgeführt wird alert Erstellt Eintrag in Alert-File und logt Paket log Logt das Datenpaket pass Pakete werden nicht verarbeitet activate Löst Alert aus und aktiviert dynamische Rules dynamic Inaktiv bis durch Activate-Event getriggert Im Inline-Modus auch drop, reject und sdrop möglich Protokol Feld Bestimmt Protokoll, welches untersucht werden soll TCP, UDP, ICMP, IP
System Snort Umgehen von NIDS Probleme und Schwächen Snort Regeln Quell- und Ziel-Adressfeld Legt Quell- und Ziel-Adressbereich und Port für Pakete fest Format: Adresse/Netzmaske Port 192.168.0.2/24 einzelner Host 192.168.0.0/24 komplettes Subnetz durch Komma getrennt mehrere Adressen möglich Flussrichtung durch Pfeil ( -> bzw. <-) Verwendung von Variablen wie $HOME NET möglich
System Snort Umgehen von NIDS Probleme und Schwächen Snort Regeln Sonderzeichen any: Beliebige IP oder Port! - Adresse oder Port negieren 20:22 - Port-Bereich :1023 - kleiner als 1023 - größer als ICMP benötigt auch Port, in diesem Fall wird any verwendet
System Snort Umgehen von NIDS Probleme und Schwächen Snort Regeln Regel Optionen Optional beliebig viele Optionen Beispiel msg Nachricht, die im Log angezeigt wird dsize Größe des Payloads eines Paketes flags Gesetzte TCP Flags content String im Payload
System Snort Umgehen von NIDS Probleme und Schwächen Snort Regeln Beispiel Regel a l e r t tcp! 1 0. 1. 1. 0 / 2 4 any > 1 0. 1. 1. 0 / 2 4 any / ( f l a g s : SF ; msg : SYN FIN scan ; s i d : 1 2 3 4 5 ; ) TCP-Traffic von ausserhalb 10.1.1.0/24 nach 10.1.1.0/24 beliebiger Port Gesetzte Flags SYN und FIN Nachricht im Log-File: SYN-FIN-scan
System Snort Umgehen von NIDS Probleme und Schwächen Präprozessoren Präpozessoren Funktionsumfang kann durch verschiedene Präprozessoren erweitert werden Verarbeiten die Pakete vor der eigentlichen Untersuchung durch die Regeln Pakete können analysiert oder verändert werden Aktivierung in Snort.conf PREPROCESSOR [NAME]: [OPTION]
System Snort Umgehen von NIDS Probleme und Schwächen Präprozessoren Bekannte Präprozessoren Stream5 Setzt TCP-Verkehr zusammen Arpspoof Erkennt Arp-Spoofing sfportscan Erkennt TCP-, UDP-, IP-Portscans Reputation Balck/Whitelist SSL/TLS Erkennt verschlüsselten Verkehr
System Snort Umgehen von NIDS Probleme und Schwächen Session Splicing Session Splicing a l e r t tcp 1 9 2. 1 6 8. 0. 0 / 2 4 any > any any / ( c o n t e n t : e v i l. com s i d : 1 2 3 ; )
System Snort Umgehen von NIDS Probleme und Schwächen Denial of Service Denial of Service IDS lassen bei Überlast den Verkehr ungefiltert passieren Angreifer kann durch gezielten Datenverkehr Speicher vollaufen lassen Kann bei hoher Netzlast auch ungewollt vorkommen
System Snort Umgehen von NIDS Probleme und Schwächen Probleme und Schwächen Schwächen des eingesetzten Erkennungssystems NIDS kann etwa durch Fragmentation umgangen werden Bei falscher oder schlechter Konfiguration viele Fehlalarme möglich Beeinträchtigungen durch falsche Reaktionen auf angebliche Angriffe (angriff mit gefälschter IP) NIDS alleine bietet keinen Schutz
System Snort Umgehen von NIDS Probleme und Schwächen Quellen Stephen Northcutt, Judy Nocak Network Intrusion Detection, New Riders Pub BSI - Leitfaden zur Einführung von Intrusion-Detection-Systemen Martin Roesch - Snort - Lightweight Intrusion Detection for Networks
System Snort Umgehen von NIDS Probleme und Schwächen Vielen Dank für die Aufmerksamkeit und viel Erfolg bei den Übungen