Veröffentlichung des Angriffserkennungssystems Suricata 6.0

Nach einem Jahr Entwicklung hat die Organisation OISF (Open Information Security Foundation) veröffentlicht das System zur Erkennung und Verhinderung von Netzwerkangriffen veröffentlicht Suricata 6.0, das verschiedene Inspektionswerkzeuge für unterschiedlichste Arten von Verkehr bereitstellt. In den Konfigurationen von Suricata ist die Nutzung von Signaturdatenbanken, die durch das Snort-Projekt entwickelt werden, sowie von Regelsets Emerging Threats und Emerging Threats Pro. Der Quellcode des Projekts unter der freien Lizenz Apache 2.0 verbreitet. unter der GPLv2-Lizenz.

Hauptänderungen:

  • Erste Unterstützung für HTTP/2.
  • Unterstützung für die Protokolle RFB und MQTT, einschließlich der Möglichkeit zur Protokollbestimmung und -protokollierung.
  • Protokollierungsfunktion für das DCERPC-Protokoll.
  • Deutliche Verbesserung der Protokollierungsleistung über das EVE-Subsystem, das die Ausgabe von Ereignissen im JSON-Format ermöglicht. Die Beschleunigung wurde durch die Einführung eines neuen JSON-Stream-Builders in der Programmiersprache Rust erreicht.
  • Die Skalierbarkeit des EVE-Protokollsystems wurde erhöht und es wurde die Möglichkeit zur Erstellung von separaten Protokolldateien für jeden Stream realisiert.
  • Möglichkeit zur Definition von Bedingungen für das Protokollreset.
  • Möglichkeit zur Anzeige von MAC-Adressen im EVE-Protokoll und zur Erhöhung der Detailgenauigkeit des DNS-Protokolls.
  • Leistungssteigerung des Flow-Engine.
  • Unterstützung zur Identifikation von SSH-Implementierungen (HASSH).
  • Implementierung eines GENEVE-Tunnel-Decoders.
  • Der Code zur Verarbeitung von ASN.1, DCERPC und SSH wurde in Rust neu geschrieben. Auch die Unterstützung neuer Protokolle wurde in Rust implementiert.
  • Im Regelbeschreibungssprache wurde im Schlüsselwort byte_jump die Unterstützung des Parameters from_end hinzugefügt, und im byte_test der Parameter bitmask. Das Schlüsselwort pcrexform, das die Verwendung von regulären Ausdrücken (pcre) zum Erfassen von Teilstrings ermöglicht, wurde implementiert. Das Urldecode-Konvertierung wurde hinzugefügt. Ein neues Schlüsselwort byte_math wurde hinzugefügt.
  • Die Möglichkeit, cbindgen zur Generierung von Bindungen in Rust und C zu verwenden.
  • Erste Unterstützung für Plugins hinzugefügt.

Besonderheiten von Suricata:

  • Verwendung eines einheitlichen Formats für die Ausgabe der Prüfergebnisse Unified2, das auch vom Snort-Projekt verwendet wird, was die Nutzung standardisierter Analysetools wie barnyard2. 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

60GB SSD 8Gb DDR4