Két év fejlesztést követően az OISF (Open Information Security Foundation) közzétette a Suricata 8.0 verzióját, amely egy hálózati behatolásérzékelő és -megelőző rendszert biztosít, amely különböző típusú forgalom ellenőrzésére szolgál. A Suricata konfigurációkban használható a Snort projekt által fejlesztett aláírás-nyilvántartás, valamint az Emerging Threats és Emerging Threats Pro szabálykészletek is. A projekt forráskódját GPLv2 licenc alatt terjesztik.
Főbb változások:
- Kísérleti lehetőségként bevezetésre került a Suricata tűzfalként való használata. A tűzfalmód lehetővé teszi a forgalom ellenőrzési nyelvének szintaxisának alkalmazását a hálózati csomagok szűrésére.
- A Lua nyelvű szkriptek írásának lehetősége átdolgozásra került. A kódalap integrálásra került a 5.4-es Lua értelmezővel, amely egy sandbox környezetben fut, ahol a Lua nyelvű szabályok betartása kötelező (például a szabályok nem írhatnak fájlokba, és nem hozhatnak létre hálózati socketeket).
- Lehetővé vált a dinamikus (futásidőben történő) pluginregisztrálás protokoll-parszerek, detektorok és naplózó komponensek számára.
- Jelentős teljesítményoptimalizálások valósultak meg, amelyek felgyorsították a motor különböző munkafázisait, beleértve a protokollok azonosítását, a szabályok betöltését és az inicializálást. A sebességjavulást az átmenetek előrejelzésével, a hash-funkciók optimalizálásával, a PCAP formátumú adatok betöltési puffereinek méretének növelésével és a szálak szinkronizálásának átdolgozásával érték el. A Suricata indítási idejének csökkentése is sikerült, cache-eléssel, kibővített portcsoportosítással és javított IP-címhelyettesítési algoritmus használatával.
- A Rust nyelvre átírásra kerültek a LibHTP, FTP, ENIP kezelők, valamint a MIME-típusok elemzéséhez, byte_extract műveletekhez és a base64 dekódoláshoz használt kód.
- Támogatás került hozzáadásra a DoH (DNS over HTTPS), LDAP, mDNS (Multicast DNS) és Websocket protokollokhoz.
- Új dekódoló és naplózó modulek kerültek bevezetésre az ARP és POP3 protokollokhoz.
- Lehetőség nyílt az SDP forgalom elemzésére SIP-en keresztül és SIP TCP-n keresztül.
- A protokollok azonosítására és szabályok létrehozására szolgáló motor képességei bővítésre kerültek. A szabályokhoz bevezetésre kerültek az LDAP, MIME/EMAIL, vlan.id, DNS, SMTP, FTP, TLS, tcp.wscale, pgsql.query, from_base64, entropy, luaxform és mDNS kulcsszavak. Bevezetésre kerültek tranzakciós szabályok is, amelyek lehetővé teszik a tranzakció mindkét irányának leírását egyetlen szabályban.
A Suricata jellemzői:
- Az Unified2 szabványos formátum használata az ellenőrzési eredmények megjelenítéséhez, amelyet a Snort projekt is alkalmaz, lehetővé téve a standard elemző eszközök, például a barnyard2 használatát. Integrációs lehetőség a BASE, Snorby, Sguil és SQueRT termékekkel. PCAP formátumban történő kimenet támogatása;
- A protokollok automatikus azonosításának támogatása (IP, TCP, UDP, ICMP, HTTP, TLS, FTP, SMB stb.), amely lehetővé teszi, hogy a szabályokban csak a protokoll típusával dolgozzunk anélkül, hogy portszámhoz kötnénk (például HTTP forgalom blokkolása nem szabványos porton). HTTP protokollokhoz tartozó dekóderek elérhetők; SSL, TLS, SMB, SMB2, DCERPC, SMTP, FTP, LDAP és SSH;
- HTTP-forgalom elemző rendszer, amely a HTTP-forgalom elemzéséhez és normalizálásához a Mod_Security projekt szerzője által létrehozott HTP könyvtárat használja. Modul elérhető a részletes tranzit HTTP továbbítások naplózásához (a napló standard Apache formátumban kerül mentésre). Támogatott a HTTP protokollon keresztüli átadott fájlok kinyerése és ellenőrzése, valamint a tömörített tartalom elemzése. Lehetőség azonosításra URI, Cookie, fejlécek, user-agent, kérés/ válasz törzs alapján;
- A forgalom elfogására különböző interfészek támogatása, beleértve az NFQueue, IPFRing, LibPcap, IPFW, AF_PACKET, PF_RING-t. Lehetséges a már mentett PCAP formátumú fájlok elemzése;
- Magas teljesítmény, képes kezelni az átlagos berendezéseken a másodpercenkénti több tíz gigabit áramlást.
- Nagyteljesítményű, a maszkolás alapú IP-címek nagy halmazaival való összehasonlítást végző mechanizmus. Támogatja a tartalom kiemelését a maszkkal és reguláris kifejezésekkel. Fájlok kiemelése a forgalomból, beleértve azok azonosítását név, típus vagy hash alapján.
- Lehetőség változók használatára a szabályokban: információt menthetünk a folyamból, és később más szabályokban felhasználhatjuk;
- A YAML formátum használata a konfigurációs fájlokban, amely az átláthatóságot ötvözi a gépi feldolgozás könnyűségével;
- Teljes támogatás IPv6;
- Beépített motor az automatikus töredezettségmentesítéshez és csomagok újbóli összeszereléséhez, amely lehetővé teszi az adatfolyamok helyes feldolgozását, függetlenül a csomagok érkezési sorrendjétől;
- Alagút protokollok támogatása: Teredo, IP-IP, IP6-IP4, IP4-IP6, GRE;
- A csomagok dekódolásának támogatása: IPv4, IPv6, TCP, UDP, SCTP, ICMPv4, ICMPv6, GRE, Ethernet, PPP, ARP, PPPoE, Raw, SLL, VLAN;
- TLS alapú kapcsolatokban megjelenő kulcsok és tanúsítványok naplózásának módja;
- Lua nyelven írt szkriptek lehetősége a forgalom kiterjesztett elemzésére és további funkciók megvalósítására, amelyekhez a standard szabályok nem elegendőek.
Forrás: opennet.ru
