Die Organisation OISF (Open Information Security Foundation) das System zur Erkennung und Verhinderung von Netzwerkangriffen veröffentlicht , das verschiedene Inspektionswerkzeuge fĂŒr unterschiedlichste Arten von Verkehr bereitstellt. In den Konfigurationen von Suricata ist die Nutzung von , die durch das Snort-Projekt entwickelt werden, sowie von Regelsets und . Der Quellcode des Projekts unter der GPLv2-Lizenz.
HauptÀnderungen:
- Neue Parser- und Logging-Module fĂŒr die Protokolle
RDP, SNMP und SIP, geschrieben in Rust. Das FTP-Parsing-Modul wurde um eine Logging-FunktionalitĂ€t ĂŒber das EVE-Subsystem erweitert, das Ereignisse im JSON-Format ausgibt; - ZusĂ€tzlich zur UnterstĂŒtzung der TLS-Client-Identifikationsmethode JA3, die im letzten Release eingefĂŒhrt wurde, wurde die UnterstĂŒtzung fĂŒr die Methode , die es ermöglicht, basierend auf den Merkmalen des Handshakes und den angegebenen Parametern zu bestimmen, welche Software zur Verbindungsherstellung verwendet wird (z. B. kann sie die Nutzung von Tor und anderen gĂ€ngigen Anwendungen identifizieren). JA3 ermöglicht die Identifizierung von Clients, wĂ€hrend JA3S fĂŒr Server verantwortlich ist. Die Ergebnisse der Identifizierung können in der Regelwerkssprache und in Logs verwendet werden;
- Eine experimentelle Möglichkeit zum Matching mit groĂen DatensĂ€tzen wurde hinzugefĂŒgt, realisiert durch die neuen Operationen . Diese Möglichkeit eignet sich beispielsweise zur Suche nach Masken in groĂen Blacklists mit Millionen von EintrĂ€gen;
- Im HTTP-Inspektionsmodus wurde eine vollstÀndige Abdeckung aller Situationen gewÀhrleistet, die im Testset beschrieben sind (z. B. werden Methoden abgedeckt, die zur Verschleierung bösartiger AktivitÀten im Datenverkehr eingesetzt werden);
- Die Entwicklungstools fĂŒr Module in Rust wurden aus Optionen in obligatorische Funktionen umgewandelt. ZukĂŒnftig ist eine Erweiterung des Einsatzes von Rust in der Codebasis des Projekts geplant, sowie eine schrittweise Ersetzung der Module durch Ă€quivalente, die in Rust entwickelt wurden;
- Die Protokollerkennungs-Engine wurde hinsichtlich der Genauigkeit und der Verarbeitung asynchroner Datenströme verbessert;
- Im EVE-Log wurde die UnterstĂŒtzung fĂŒr einen neuen Aufzeichnungstyp "anomaly" hinzugefĂŒgt, in dem atypische Ereignisse, die beim Dekodieren von Paketen erkannt werden, gespeichert werden. Im EVE wurde auch die Darstellung von VLAN-Informationen und dem Interface des Datenverkehrs-Capturings erweitert. Eine Option wurde hinzugefĂŒgt, um alle HTTP-Header in den http-Logs von EVE zu speichern;
- In eBPF-basierten Handlern wurde die UnterstĂŒtzung fĂŒr Hardware-Beschleunigungsmechanismen zur Packet-Capture bereitgestellt. Die Hardwarebeschleunigung ist vorerst auf Netronome-Netzwerkadapter beschrĂ€nkt, wird aber bald auch fĂŒr andere Hardware verfĂŒgbar sein;
- Der Code zum Erfassen von Datenverkehr mit dem Netmap-Framework wurde neu geschrieben. Es wurde die Möglichkeit hinzugefĂŒgt, die erweiterten Funktionen von Netmap zu nutzen, wie z. B. den virtuellen Switch. ;
- UnterstĂŒtzung fĂŒr das neue Schema zur Bestimmung von SchlĂŒsselwörtern fĂŒr âSticky Buffersâ. Das neue Schema wird im Format âprotokoll.pufferâ definiert, z. B. wird das SchlĂŒsselwort fĂŒr die Inspektion von URIs die Form âhttp.uriâ annehmen anstelle von âhttp_uriâ;
- Der gesamte verwendete Python-Code wurde auf KompatibilitÀt mit
Python 3; - Die UnterstĂŒtzung der Tilera-Architektur, des Textprotokolls dns.log und des alten Protokolls files-json.log wurde eingestellt.
Besonderheiten von Suricata:
- Verwendung eines einheitlichen Formats fĂŒr die Ausgabe der PrĂŒfergebnisse , das auch vom Snort-Projekt verwendet wird, was die Nutzung standardisierter Analysetools wie . Möglichkeit zur Integration mit Produkten wie BASE, Snorby, Sguil und SQueRT. UnterstĂŒtzung fĂŒr die Ausgabe im PCAP-Format.
- UnterstĂŒtzung der automatischen Protokollidentifikation (IP, TCP, UDP, ICMP, HTTP, TLS, FTP, SMB usw.), die es ermöglicht, in den Regeln nur mit dem Protokolltyp zu arbeiten, ohne an die Portnummer gebunden zu sein (zum Beispiel HTTP-Verkehr an einem nicht standardmĂ€Ăigen Port zu blockieren). Vorhandensein von Decodern fĂŒr die Protokolle HTTP, SSL, TLS, SMB, SMB2, DCERPC, SMTP, FTP und SSH;
- Leistungsstarkes System zur Analyse des HTTP-Verkehrs, das zur Analyse und Normalisierung des HTTP-Verkehrs eine spezielle HTP-Bibliothek nutzt, die vom Autor des Mod_Security-Projekts erstellt wurde. Ein Modul zum FĂŒhren eines detaillierten Protokolls von transitiven HTTP-Ăbertragungen steht zur VerfĂŒgung, das Protokoll wird im Standardformat gespeichert;
Apache. UnterstĂŒtzung des Extrahierens und PrĂŒfens von ĂŒber das HTTP-Protokoll ĂŒbertragenen Dateien. UnterstĂŒtzung fĂŒr die Analyse komprimierter Inhalte. Möglichkeit zur Identifizierung nach URI, Cookie, Header, User-Agent, Anfrage-/Antwortkörper; - UnterstĂŒtzung verschiedener Schnittstellen zur VerkehrsĂŒberwachung, einschlieĂlich NFQueue, IPFRing, LibPcap, IPFW, AF_PACKET, PF_RING. Möglichkeit zur Analyse bereits gespeicherter Dateien im PCAP-Format;
- Hohe Leistung, FÀhigkeit, auf gewöhnlicher Hardware Ströme von bis zu 10 Gigabit/Sekunde zu verarbeiten.
- Hochleistungsmechanismus zur maskenbasierten Zuordnung mit groĂen IP-Adress-Sets. UnterstĂŒtzung fĂŒr die Inhaltsfilterung anhand von Masken und regulĂ€ren AusdrĂŒcken. Extrahieren von Dateien aus dem Verkehr, einschlieĂlich deren Identifikation nach Name, Typ oder MD5-PrĂŒfziffer.
- Möglichkeit der Verwendung von Variablen in Regeln: Es ist möglich, Informationen aus dem Verkehr zu speichern und spÀter in anderen Regeln zu verwenden;
- Verwendung des YAML-Formats in Konfigurationsdateien, was die Ăbersichtlichkeit bei einfacher maschineller Verarbeitung gewĂ€hrleistet;
- VollstĂ€ndige UnterstĂŒtzung von IPv6;
- Eingebauter Mechanismus zur automatischen Defragmentierung und Wiederzusammensetzung von Paketen, der eine korrekte Verarbeitung der Ströme unabhÀngig von der Reihenfolge des Paketempfangs ermöglicht;
- UnterstĂŒtzung fĂŒr Tunneling-Protokolle: Teredo, IP-IP, IP6-IP4, IP4-IP6, GRE;
- UnterstĂŒtzung fĂŒr das Dekodieren von Paketen: IPv4, IPv6, TCP, UDP, SCTP, ICMPv4, ICMPv6, GRE, Ethernet, PPP, PPPoE, Raw, SLL, VLAN;
- Protokollmodus fĂŒr SchlĂŒssel und Zertifikate, die im Rahmen von TLS/SSL-Verbindungen auftreten;
- Möglichkeit, Skripte in Lua zur erweiterten Analyse und Implementierung zusĂ€tzlicher Funktionen zu schreiben, die zur Bestimmung von Verkehrsarten erforderlich sind, fĂŒr die die Standardregeln nicht ausreichend sind.
Quelle: opennet.ru
