Begriff
Intrusion Detection System (IDS)
Warum wichtig?
Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.
Deine Firewall ist der Türsteher. "Du kommst hier nicht rein." (Blockt Ports). Aber was, wenn der Gast (Traffic) reindarf, aber sich drinnen schlecht benimmt? Ein IDS ist die Security-Kamera im Club. Sie sieht alles. Wenn jemand anfängt, Glas zu zerschlagen oder Drogen zu verkaufen, blinkt ein rotes Licht beim Chef-Büro. Das IDS blockt meist nicht (das wäre ein IPS - Prevention System). Es warnt nur.
Merksatz: Ein System zur Überwachung von Computersystemen oder Netzwerken, das verdächtige Aktivitäten oder Richtlinienverstöße erkennt und meldet.
Tools wie Snort oder Suricata. Sie sitzen im Netzwerk-Switch ("Port Mirroring") und lesen jedes Paket mit. Sie haben Tausende Regeln: "Wenn ein Paket 100x 'Password' enthält -> Alarm!" "Wenn jemand von IP X alle Ports scannt -> Alarm!"
1. Signature-based vs. Anomaly-based
- Signature: Sucht nach bekannten Mustern ("Virus Definitionen"). Kennt den Angriff "SQL Slammer". Findet neue Angriffe (Zero-Days) nicht.
- Anomaly: Lernt das "Normalverhalten". "Normalerweise senden Server A und B 10 MB pro Tag. Heute sind es 5 GB -> Anomalie!" Findet auch unbekannte Angriffe, hat aber mehr Fehlalarme.
2. NIDS vs. HIDS
- NIDS (Network): Überwacht den Verkehr im Kabel. Sieht alles, aber keine verschlüsselten Inhalte (HTTPS).
- HIDS (Host): Läuft auf dem Server selbst (OSSEC). Sieht Logfiles und Dateiänderungen ("Integritätsprüfung").
1. Suricata und Multi-Threading BPF Architectures
Das Problem alter Systeme (Snort 2.x) war der Durchsatz. Ein einzelner CPU-Core las 1 GBit/s, mehr ging nicht (Bottleneck = pcap-Bibliothek). Moderne NIDS wie Suricata nutzen AF_PACKET (Linux) oder proprietäre Intel DPDK (Data Plane Development Kit) Bypässe am Kernel vorbei. Netzwerkkarten leiten Pakete über Receive-Side Scaling (RSS) Hardware-Queues direkt an 64 dedizierte Suricata-Worker-Threads im Userspace. Das Memory Management (Ring Buffer ohne Interrupt-Overhead) ermöglicht Deep Packet Inspection bei 40-100 Gigabit pro Sekunde auf billigen x86 Servern ohne Packet Drops.
2. TLS/SSL Inspection und das Forward Secrecy Problem
95% vom Web ist heute HTTPS. Ein NIDS ist funktionslos, wenn es blind in einen AES-256 GCM-Tunnel starrt. Die Lösung liegt im radikalen SSL-Bumping (MiTM). Die Enterprise-IT zwingt alle Mitarbeiter, im Browser ein Root-CAZertifikat der Firma zu injizieren. Das NIDS-Gateway terminiert die TLS Session ("Es faked die Google-Server Identität"), entschlüsselt den Puffer im Klartext ins RAM, analysiert mit YARA-Regeln Malware-Payloads, verschlüsselt es neu (!), und sendet es an Google. Seit TLS 1.3 und Perfect Forward Secrecy (PFS) ist passives Keys-Mithören (mit kopiertem Private Key) völlig tot, weshalb NIDS zwingend aktiv inline terminieren müssen (sogenannte SSL Oracles).
3. Evasion Techniques (Fragmentierung & Obfuscation)
Hacker hassen IDS. Sie umgehen Signaturen durch Fragmentation.
Sie senden den bösen String /etc/shadow in drei einzelnen TCP-Paketen: Paket 1 (/et), Paket 2 (c/sh), Paket 3 (adow). Ein dummes NIDS checkt nur TCP-Payload 1-zu-1 gegen Regex, findet "shadow" nie, und lässt durch (Evasion).
Suricata und Snort 3 müssen zwingend TCP Stream Reassembly anwenden. Sie emulieren partiell den kompletten TCP/IP-Stack des Endsystems (OS Fingerprinting nötig, da Windows TCP-Overlaps anders reassembliert als Linux!). Das IDS puffert die Fragmente teuer im RAM zusammen, normalisiert den vollen HTTP-Byte-Array und scannt erst dann, was den RAM drastisch anheizt (State Exhaustion).
Quick-Check
Was ist IPS?
Der große Bruder. Intrusion Prevention System. Es sitzt in der Leitung (Inline). Wenn es einen Angriff sieht, wirft es das Paket weg (Drop). Gefahr: Wenn es normale User fälschlich blockt, legt es die Firma lahm.Bringt IDS was bei HTTPS?
Wenig. Wenn der Traffic verschlüsselt ist, sieht das NIDS nur Buchstabensalat. Man muss SSL offloading machen (Entschlüsseln vor dem IDS) oder auf HIDS setzen.Wer liest die Logs?
Hoffentlich ein SIEM (siehe nächster Begriff). Ein IDS spuckt Tausende Alarme pro Tag aus. Kein Mensch kann das manuell lesen.