După un an de dezvoltare, organizația OISF (Open Information Security Foundation) lansarea sistemului de detectare și prevenire a intruziunilor în rețea , care oferă instrumente pentru inspectarea diferitelor tipuri de trafic. În configurațiile Suricata este permisă utilizarea , dezvoltată de proiectul Snort, precum și a seturilor de reguli și . Codurile sursă ale proiectului sub licența GPLv2.
Modificări principale:
- Suport inițial pentru HTTP/2.
- Suport pentru protocoalele RFB și MQTT, inclusiv capacitatea de a determina protocolul și de a ține log-uri.
- Capacitatea de a ține log-uri pentru protocolul DCERPC.
- Creștere semnificativă a performanței logării prin subsistemul EVE, care asigură output-ul evenimentelor în format JSON. Viteza a fost crescută datorită utilizării unui nou constructor de fluxuri JSON, scris în limbajul Rust.
- Scalabilitatea sistemului de loguri EVE a fost îmbunătățită și a fost implementată capacitatea de a avea un fișier de log separat pentru fiecare thread.
- Capacitatea de a determina condițiile pentru rescrierea informațiilor în log.
- Capacitatea de a reflecta adresele MAC în logul EVE și de a spori detalierea logului DNS.
- Îmbunătățirea performanței motorului de procesare a fluxurilor (flow engine).
- Suport pentru identificarea implementărilor SSH ().
- Implementarea unui decodor pentru tuneluri GENEVE.
- Codul pentru procesarea , DCERPC și SSH a fost refăcut în Rust. Suportul pentru noile protocoale a fost, de asemenea, realizat în Rust.
- În limbajul de definire a regulilor, cuvântul cheie byte_jump a primit suport pentru parametrul from_end, iar în byte_test – pentru parametrul bitmask. A fost implementat cuvântul cheie pcrexform, care permite utilizarea expresiilor regulate (pcre) pentru captarea subșirurilor. A fost adăugat un transformator urldecode. A fost adăugat cuvântul cheie byte_math.
- Oferrea posibilității de a utiliza cbindgen pentru generarea legăturilor în limbajele Rust și C.
- A fost adăugat suport inițial pentru plugin-uri.
Caracteristici ale Suricata:
- Utilizarea unui format unificat pentru output-ul rezultatelor verificării , utilizat de asemenea de proiectul Snort, ceea ce permite utilizarea instrumentelor standard pentru analiză, cum ar fi . Posibilitatea de integrare cu produsele BASE, Snorby, Sguil și SQueRT. Suport pentru output în format PCAP;
- Suport pentru detectarea automată a protocoalelor (IP, TCP, UDP, ICMP, HTTP, TLS, FTP, SMB ș.a.m.d.), care permite operarea în reguli doar după tipul de protocol, fără legătură cu numărul de port (de exemplu, blocarea traficului HTTP pe un port nestructurat). Existența decodoarelor pentru protocoalele HTTP, SSL, TLS, SMB, SMB2, DCERPC, SMTP, FTP și SSH;
- Un sistem puternic de analiză a traficului HTTP, care utilizează o bibliotecă specială HTP, creată de autorul proiectului Mod_Security pentru a descompune și normaliza traficul HTTP. Este disponibil un modul pentru ținerea unui jurnal detaliat al redirecționărilor HTTP transitate, jurnalul fiind salvat în format standard
Apache. Suport pentru extragerea și verificarea fișierelor transmise prin protocolul HTTP. Suport pentru descompunerea conținutului comprimat. Posibilitatea de a identifica prin URI, Cookie, anteturi, user-agent, corpul cererii/răspunsului; - Suport pentru diverse interfețe pentru interceptarea traficului, inclusiv NFQueue, IPFRing, LibPcap, IPFW, AF_PACKET, PF_RING. Este posibilă analiza fișierelor deja salvate în format PCAP;
- Performanță ridicată, capacitatea de a procesa fluxuri de până la 10 gigabiți/secundă pe echipamente obișnuite.
- Un mecanism de asociere de mare performanță cu seturi mari de adrese IP. Suport pentru extragerea conținutului pe baza mascării și expresiilor regulate. Extragerea fișierelor din trafic, inclusiv identificarea acestora după nume, tip sau sumă de control MD5.
- Posibilitatea utilizării variabilelor în reguli: se pot salva informații din flux și ulterior se pot folosi în alte reguli;
- Utilizarea formatului YAML în fișierele de configurare, ceea ce permite păstrarea clarității în raport cu ușurința de procesare automată;
- Suport complet pentru IPv6;
- Un motor integrat pentru defragmentarea automată și reasamblarea pachetelor, care asigură o procesare corectă a fluxurilor, indiferent de ordinea de sosire a pachetelor;
- Suport pentru protocoale de tunelare: Teredo, IP-IP, IP6-IP4, IP4-IP6, GRE;
- Suport pentru decodificarea pachetelor: IPv4, IPv6, TCP, UDP, SCTP, ICMPv4, ICMPv6, GRE, Ethernet, PPP, PPPoE, Raw, SLL, VLAN;
- Mod de ținere a jurnalului cheilor și certificatelor ce apar în cadrul conexiunilor TLS/SSL;
- Posibilitatea de a scrie scripturi în limbajul Lua pentru a asigura o analiză extinsă și implementarea funcționalităților suplimentare necesare pentru a determina tipurile de trafic pentru care regulile standard nu sunt suficiente.
Sursa: opennet.ro
