Nach einem Jahr Entwicklung hat die OISF (Open Information Security Foundation) Veröffentlichung eines Systems zur Erkennung und Verhinderung von Netzwerkeinbrüchen , mit dem verschiedene Verkehrsarten untersucht werden können. In Suricata-Konfigurationen ist die Verwendung zulässig , entwickelt vom Snort-Projekt, sowie Regelwerke и . Quellcode des Projekts lizenziert unter GPLv2.
Wichtigste Änderungen:
- Erste Unterstützung für HTTP/2.
- Unterstützung für RFB- und MQTT-Protokolle, einschließlich Protokollerkennung und -protokollierung.
- Möglichkeit der Protokollierung für das DCERPC-Protokoll.
- Deutlich verbesserte Protokollierungsleistung über das EVE-Subsystem, das Ereignisausgabe im JSON-Format bereitstellt. Die Beschleunigung wird durch die Verwendung eines neuen, in Rust geschriebenen JSON-Stream-Builders erreicht.
- Die Skalierbarkeit des EVE-Protokollierungssystems wurde erhöht und die Möglichkeit implementiert, für jeden Thread eine separate Protokolldatei zu verwalten.
- Möglichkeit, Bedingungen für das Einfügen von Informationen in das Protokoll zu definieren.
- Möglichkeit, MAC-Adressen im EVE-Protokoll widerzuspiegeln und den Detaillierungsgrad des DNS-Protokolls zu erhöhen.
- Verbesserte Leistung der Flow-Engine.
- Unterstützung bei der Identifizierung von SSH-Implementierungen ().
- Implementierung des GENEVE-Tunneldecoders.
- Der Code zur Verarbeitung wurde in Rust neu geschrieben , DCERPC und SSH. Rust implementiert auch Unterstützung für neue Protokolle.
- In der Regeldefinitionssprache wurde dem Schlüsselwort byte_jump die Unterstützung für den Parameter from_end und byte_test für den Parameter bitmask hinzugefügt. Das Schlüsselwort pcrexform wurde implementiert, wodurch die Verwendung regulärer Ausdrücke (pcre) zum Erfassen einer Teilzeichenfolge ermöglicht wird. URL-Decode-Konvertierung hinzugefügt. Schlüsselwort byte_math hinzugefügt.
- Bietet die Möglichkeit, mit cbindgen Bindungen in Rust und C zu generieren.
- Erste Plugin-Unterstützung hinzugefügt.
Merkmale von Suricata:
- Verwenden eines einheitlichen Formats zur Anzeige von Validierungsergebnissen , wird auch vom Snort-Projekt verwendet und ermöglicht die Verwendung von Standardanalysetools wie . Möglichkeit zur Integration mit BASE-, Snorby-, Sguil- und SQueRT-Produkten. Unterstützung für die Ausgabe im PCAP-Format;
- Unterstützung für die automatische Erkennung von Protokollen (IP, TCP, UDP, ICMP, HTTP, TLS, FTP, SMB usw.), wodurch Sie in den Regeln nur nach Protokolltyp arbeiten können, ohne Bezug auf die Portnummer (z. B , um HTTP-Verkehr auf einem nicht standardmäßigen Port zu blockieren). Decoder für die Protokolle HTTP, SSL, TLS, SMB, SMB2, DCERPC, SMTP, FTP und SSH;
- Ein leistungsstarkes HTTP-Verkehrsanalysesystem, das eine spezielle HTP-Bibliothek verwendet, die vom Autor des Mod_Security-Projekts erstellt wurde, um den HTTP-Verkehr zu analysieren und zu normalisieren. Für die Verwaltung eines detaillierten Protokolls der Transit-HTTP-Übertragungen steht ein Modul zur Verfügung. Das Protokoll wird in einem Standardformat gespeichert
Apache. Die Extraktion und Überprüfung von über das HTTP-Protokoll übertragenen Dateien wird unterstützt. Unterstützung für das Parsen komprimierter Inhalte. Möglichkeit zur Identifizierung anhand von URI, Cookie, Headern, Benutzeragenten, Anforderungs-/Antworttext; - Unterstützung für verschiedene Schnittstellen zum Abfangen von Datenverkehr, einschließlich NFQueue, IPFRing, LibPcap, IPFW, AF_PACKET, PF_RING. Es ist möglich, bereits gespeicherte Dateien im PCAP-Format zu analysieren;
- Hohe Leistung, die Fähigkeit, Streams mit bis zu 10 Gigabit/Sek. auf herkömmlichen Geräten zu verarbeiten.
- Hochleistungsfähige Mask-Matching-Engine mit großen IP-Adresssätzen. Unterstützung für die Inhaltsauswahl durch Maske und reguläre Ausdrücke. Trennung von Dateien vom Datenverkehr, einschließlich ihrer Identifizierung nach Name, Typ oder MD5-Prüfsumme.
- Möglichkeit, Variablen in Regeln zu verwenden: Sie können Informationen aus dem Stream speichern und später in anderen Regeln verwenden;
- Verwendung des YAML-Formats in Konfigurationsdateien, das es Ihnen ermöglicht, die Sichtbarkeit bei einfacher maschineller Verarbeitung aufrechtzuerhalten;
- Volle IPv6-Unterstützung;
- Eingebaute Engine zur automatischen Defragmentierung und Neuzusammenstellung von Paketen, die eine korrekte Verarbeitung der Streams unabhängig von der Reihenfolge, in der die Pakete ankommen, gewährleistet;
- Unterstützung für Tunnelprotokolle: Teredo, IP-IP, IP6-IP4, IP4-IP6, GRE;
- Unterstützung der Paketdekodierung: IPv4, IPv6, TCP, UDP, SCTP, ICMPv4, ICMPv6, GRE, Ethernet, PPP, PPPoE, Raw, SLL, VLAN;
- Protokollierungsmodus für Schlüssel und Zertifikate, die in TLS/SSL-Verbindungen erscheinen;
- Die Möglichkeit, Lua-Skripte zu schreiben, um erweiterte Analysen bereitzustellen und zusätzliche Funktionen zu implementieren, die zur Identifizierung von Verkehrstypen erforderlich sind, für die Standardregeln nicht ausreichen.
Source: opennet.ru
