Po dvoch rokoch vývoja organizácia OISF (Open Information Security Foundation) uverejnila vydanie systému na detekciu a prevenciu sieťových narušení Suricata 8.0, ktorý poskytuje prostriedky na inšpekciu rôznych typov prevádzky. V konfiguráciách Suricata je možné použiť databázu signatúr vyvíjanú projektom Snort, ako aj súbory pravidiel Emerging Threats a Emerging Threats Pro. Zdrojové kódy projektu sú šírené pod licenciou GPLv2.
Hlavné zmeny:
- Pridaná experimentálna možnosť využitia Suricata ako firewallu. Režim firewallu umožňuje použiť dialekt jazyka pravidiel na inšpekciu prevádzky na filtrovanie sieťových paketov.
- Prepracovaná možnosť písania skriptov v jazyku Lua. Do kódu bola integrovaná interpretácia Lua 5.4, spúšťaná v sandboxovom prostredí, ktoré obmedzuje pravidlá v jazyku Lua (napr. z pravidiel nie je možné zapisovať do súborov alebo vytvárať sieťové sokety).
- Poskytla sa možnosť dynamickej (za chodu) registrácie pluginov s parsérmi protokolov, detektormi a komponentami pre vedenie logov.
- Prebehli značné optimalizácie výkonu, ktoré urýchlili rôzne aspekty práce enginu, vrátane identifikácie protokolov, načítania pravidiel a inicializácie. Urýchlenie sa dosahuje vďaka predpokladaniu prechodov, optimalizácii hashovacích funkcií, zvýšeniu veľkosti bufferov na načítanie dát vo formáte PCAP a prepracovaniu synchronizácie prúdov. Tiež sa podarilo skrátiť čas spustenia Suricata pomocou caching, rozšíreného grupovania portov a vylepšeného algoritmu substitúcie IP adries.
- Na jazyk Rust prepisované spracovateľské moduly LibHTP, FTP, ENIP, ako aj kód na rozpoznávanie MIME typov, operácie byte_extract a dekódovanie base64.
- Pridaná podpora protokolov DoH (DNS over HTTPS), LDAP, mDNS (Multicast DNS) a Websocket.
- Pridané nové moduly na dekódovanie a vedenie logov pre protokoly ARP a POP3.
- Zaistené spracovanie prevádzky SDP nad SIP a SIP nad TCP.
- Rozšírené možnosti enginu na identifikáciu protokolov a vytváranie pravidiel. Pre pravidlá boli implementované kľúčové slová LDAP, MIME/EMAIL, vlan.id, DNS, SMTP, FTP, TLS, tcp.wscale, pgsql.query, from_base64, entropy, luaxform a mDNS. Pridané transakčné pravidlá, ktoré umožňujú popísať obidva smery transakcie v jednom pravidle.
Vlastnosti Suricata:
- Používanie pre výstup výsledkov kontroly v unified formáte Unified2, ktorý je tiež použitý projektom Snort, čo umožňuje využívať štandardné nástroje na analýzu, ako je barnyard2. Možnosť integrácie s produktmi BASE, Snorby, Sguil a SQueRT. Podpora výstupu v formáte PCAP;
- Podpora automatického rozpoznávania protokolov (IP, TCP, UDP, ICMP, HTTP, TLS, FTP, SMB a pod.), čo umožňuje pracovať v pravidlách len s typom protokolu, bez viazania na číslo portu (napríklad blokovať HTTP prenos na nestandardnom porte). Existencia dekodérov pre protokoly HTTP, SSL, TLS, SMB, SMB2, DCERPC, SMTP, FTP, LDAP a SSH;
- Systém analýzy HTTP prenosu, ktorý na rozbor a normalizáciu HTTP prenosov používa knižnicu HTP, vytvorenú autorom projektu Mod_Security. K dispozícii je modul na vedenie podrobného logu tranzitných HTTP prenosov (log sa uchováva v štandardnom formáte Apache). Podporuje sa extrakcia a kontrola súborov prenášaných protokolom HTTP, ako aj rozbor komprimovaného obsahu. Možnosť identifikácie podľa URI, Cookie, hlavičiek, user-agent, tela požiadavky/odpovede;
- Podpora rôznych rozhraní na zachytávanie prenosu, vrátane NFQueue, IPFRing, LibPcap, IPFW, AF_PACKET, PF_RING. Možný je aj rozbor už uložených súborov vo formáte PCAP;
- Vysoký výkon, schopnosť spracovávať na bežnom hardvéri prúdy v desiatkach gigabitov za sekundu.
- Vysoko výkonný mechanizmus porovnávania šablóny s veľkými súbormi IP adries. Podpora výberu obsahu podľa šablóny a regulárnych výrazov. Extrakcia súborov z prenosu, vrátane ich identifikácie podľa názvu, typu alebo hash.
- Možnosť používania premenných v pravidlách: je možné uložiť informácie z prúdu a neskôr ich použiť v iných pravidlách;
- Používanie formátu YAML v konfiguračných súboroch, ktorý kombinuje prehľadnosť s jednoduchou strojovou spracovateľnosťou;
- Úplná podpora IPv6;
- Integrovaný engin na automatickú defragmentáciu a rebuild paketov, ktorý zabezpečuje správne spracovanie prenosov, bez ohľadu na poradie prichádzajúcich paketov;
- Podpora tunelovacích protokolov: Teredo, IP-IP, IP6-IP4, IP4-IP6, GRE;
- Podpora dekódovania paketov: IPv4, IPv6, TCP, UDP, SCTP, ICMPv4, ICMPv6, GRE, Ethernet, PPP, ARP, PPPoE, Raw, SLL, VLAN;
- Mód vedenia logu kľúčov a certifikátov, ktoré sa objavujú v spojeniach na báze TLS;
- Možnosť písania skriptov v jazyku Lua na pokročilú analýzu prevádzky a implementáciu dodatočných funkcií, ktorých nezodpovedajú štandardné pravidlá.
Zdroj: opennet.ru
