Po dvou letech vývoje zveřejnila organizace OISF (Open Information Security Foundation) vydání systému pro detekci a prevenci síťových útoků Suricata 8.0, který poskytuje prostředky pro inspekci různých typů provozu. V konfiguracích Suricata je možné využít databázi signatur vyvíjenou projektem Snort, jakož i sady pravidel Emerging Threats a Emerging Threats Pro. Zdrojové kódy projektu jsou distribuovány pod licencí GPLv2.
Hlavní změny:
- Byla přidána experimentální možnost použití Suricata jako firewalu. Režim firewallu umožňuje používat dialekt jazyka pravidel pro inspekci provozu k filtrování síťových paketů.
- Byla přepracována možnost psaní skriptů v jazyce Lua. Do základny kódu byl integrován interpret Lua 5.4, který běží v sandboxovém prostředí, které omezuje pravidla v jazyce Lua (například pravidla nemohou zapisovat do souborů ani vytvářet síťové sokety).
- Byla poskytnuta možnost dynamické (během provozu) registrace pluginů s parsery protokolů, detektory a komponentami pro vedení logů.
- Byly provedeny významné optimalizace výkonu, které urychlily různé aspekty práce enginu, včetně detekce protokolů, načítání pravidel a inicializace. Zrychlení bylo dosaženo předpovídáním přechodů, optimalizací hash funkcí, zvětšením velikosti bufferů pro načítání dat ve formátu PCAP a přepracováním synchronizace vláken. Také se podařilo zkrátit dobu spuštění Suricaty pomocí cachování, rozšířené skupinování portů a vylepšeného algoritmu pro substituci IP adres.
- Byly přepsány obslužné rutiny LibHTP, FTP, ENIP a také kód pro analýzu MIME typů, operace byte_extract a dekódování base64 v jazyce Rust.
- Byla přidána podpora protokolů DoH (DNS přes HTTPS), LDAP, mDNS (Multicast DNS) a Websocket.
- Byly přidány nové moduly pro dekódování a vedení logů pro protokoly ARP a POP3.
- Bylo zajištěno parsování provozu SDP nad SIP a SIP nad TCP.
- Byly rozšířeny možnosti enginu pro detekci protokolů a tvorbu pravidel. Pro pravidla byla implementována klíčová slova LDAP, MIME/EMAIL, vlan.id, DNS, SMTP, FTP, TLS, tcp.wscale, pgsql.query, from_base64, entropy, luaxform a mDNS. Byla přidána transakční pravidla, která umožňují popsat oba směry transakce v jednom pravidle.
Vlastnosti Suricata:
- Použití pro zobrazování výsledků kontroly v unifikovaném formátu Unified2, který je také používán projektem Snort, což umožňuje používat standardní nástroje pro analýzu, jako je barnyard2. Možnost integrace s produkty BASE, Snorby, Sguil a SQueRT. Podpora výstupu ve formátu PCAP;
- Podpora automatického určování protokolů (IP, TCP, UDP, ICMP, HTTP, TLS, FTP, SMB atd.), která umožňuje manipulovat v pravidlech pouze s typem protokolu, bez vázání na číslo portu (například blokování HTTP provozu na nestandardním portu). Dostupnost dekodérů pro protokoly HTTP, SSL, TLS, SMB, SMB2, DCERPC, SMTP, FTP, LDAP a SSH;
- Systém analýzy HTTP provozu, který používá k rozboru a normalizaci HTTP provozu knihovnu HTP, vytvořenou autorem projektu Mod_Security. K dispozici je modul pro vedení podrobného logu tranzitních HTTP přenosů (log se ukládá ve standardním formátu Apache). Podporováno je i extrakce a kontrola souborů přenášených protokolem HTTP, stejně jako rozbor komprimovaného obsahu. Možnost identifikace podle URI, Cookie, hlaviček, user-agent, těla požadavku/odpovědi;
- Podpora různých rozhraní pro zachytávání provozu, včetně NFQueue, IPFRing, LibPcap, IPFW, AF_PACKET, PF_RING. Možnost analýzy již uložených souborů ve formátu PCAP;
- Vysoký výkon, schopnost zpracovávat na běžném zařízení toky o desítkách gigabitů za sekundu.
- Vysoce výkonný mechanismus porovnávání podle masky s velkými sadami IP adres. Podpora выделения obsahu podle masky a regulárních výrazů. Extrakce souborů z provozu, včetně jejich identifikace podle názvu, typu nebo hash;
- Možnost použití proměnných v pravidlech: možné uložit informace z toku a později je použít v jiných pravidlech;
- Použití formátu YAML v konfiguračních souborech, který kombinuje přehlednost s jednoduchostí strojového zpracování;
- Úplná podpora IPv6;
- Vestavěný motor pro automatickou defragmentaci a přestavbu paketů, který umožňuje zajištění správného zpracování toků, nezávisle na pořadí příjmu paketů;
- Podpora tunelovacích protokolů: Teredo, IP-IP, IP6-IP4, IP4-IP6, GRE;
- Podpora dekódování paketů: IPv4, IPv6, TCP, UDP, SCTP, ICMPv4, ICMPv6, GRE, Ethernet, PPP, ARP, PPPoE, Raw, SLL, VLAN;
- Režim vedení logu klíčů a certifikátů, které se objevují v připojeních založených na TLS;
- Možnost psaní skriptů v jazyce Lua pro rozšířenou analýzu provozu a realizaci dalších funkcí, pro které nejsou standardní pravidla dostatečná.
Zdroj: opennet.ru
