Efter to års udvikling har organisationen OISF (Open Information Security Foundation) offentliggjort version 8.0 af indtrængningsdetektions- og -forebyggelsessystemet Suricata, som tilbyder værktøjer til inspektion af forskellige typer trafik. I Suricatas konfigurationer er det muligt at anvende en signaturdatabase, der udvikles af Snort-projektet, samt regelsæt fra Emerging Threats og Emerging Threats Pro. Kildeteksterne til projektet distribueres under GPLv2-licensen.
Vigtige ændringer:
- En eksperimentel mulighed for at bruge Suricata som en firewall er blevet tilføjet. Firewall-tilstand tillader brug af et dialekt af inspektionsregelsproget til filtrering af netværkspakker.
- Muligheden for at skrive scripts i Lua-sproget er blevet revideret. Lua 5.4 fortolker er integreret i kodebasen og køres i et sandbox-miljø, der begrænser Lua-reglerne (for eksempel kan der ikke skrives til filer eller oprettes netværkssockets fra reglerne).
- Muligheden for dynamisk (under drift) registrering af plugins med protokolparsers, detektorer og logføringskomponenter er blevet tilgængelig.
- Der er foretaget betydelige ydeevneoptimeringer, der har fremskyndet forskellige aspekter af motorens drift, inklusive protokolgenkendelse, indlæsning af regler og initialisering. Forbedringen opnås gennem overgangsforudsigelse, optimering af hash-funktioner, øgning af størrelsen på dataindlæsningsbuffere i PCAP-format og omarbejdning af trådsynkronisering. Starttiden for Suricata er også blevet forkortet ved at bruge caching, udvidet portgruppering og forbedret algoritme til IP-adresseudskiftning.
- LibHTP-, FTP-, ENIP-håndtererne samt koden til MIME-typeparsing, byte_extract-operationen og base64-dekodning er blevet omskrevet i Rust-sproget.
- Understøttelse af protokoller som DoH (DNS over HTTPS), LDAP, mDNS (Multicast DNS) og Websocket er blevet tilføjet.
- Nye dekoder- og logføringsmoduler til ARP- og POP3-protokoller er blevet tilføjet.
- Der er sikret parsing af SDP-trafik over SIP og SIP over TCP.
- Mulighederne for protokolgenkendelse og regelfremstilling er udvidet. For reglerne er der implementeret nøgleord som LDAP, MIME/EMAIL, vlan.id, DNS, SMTP, FTP, TLS, tcp.wscale, pgsql.query, from_base64, entropy, luaxform og mDNS. Transaktionelle regler er blevet tilføjet for at beskrive begge retninger af en transaktion i én regel.
Funktioner i Suricata:
- Brug af Unified2-formatet til at eksportere resultatet af kontroller, også anvendt af Snort-projektet, hvilket muliggør brug af standardværktøjer til analyse som barnyard2. Mulighed for integration med produkter som BASE, Snorby, Sguil og SQueRT. Støtte for output i PCAP-format;
- Understøttelse af automatisk protokolgenkendelse (IP, TCP, UDP, ICMP, HTTP, TLS, FTP, SMB osv.), hvilket muliggør, at man i regler kun kan arbejde med protokoltypen uden at være bundet til portnumre (for eksempel at blokere HTTP-trafik på en ukonventionel port). Tilstedeværelse af dekodere til protokoller som HTTP, SSL, TLS, SMB, SMB2, DCERPC, SMTP, FTP, LDAP og SSH;
- System til analyse af HTTP-trafik, der bruger HTP-biblioteket til parsing og normalisering af HTTP-trafik, skabt af forfatteren af Mod_Security-projektet. Der findes en modul til at føre detaljeret log over transit HTTP-videregivelse (loggen gemmes i standard Apache-format). Understøttelse af udtræk og kontrol af filer, der overføres via HTTP-protokol samt parsing af komprimeret indhold. Mulighed for identifikation ved URI, Cookies, headers, user-agent, anmodnings-/responses indhold;
- Understøttelse af forskellige græn interfaces til trafikfangst, herunder NFQueue, IPFRing, LibPcap, IPFW, AF_PACKET, PF_RING. Mulighed for at analysere allerede gemte filer i PCAP-format;
- Høj ydeevne, mulighed for at behandle strømme på titusinder af gigabit i sekundet på almindeligt udstyr.
- Højtydende maskmatching-mekanisme for store sæt af IP-adresser. Støtte til udtræk af indhold ved hjælp af masker og regulære udtryk. Udtræk af filer fra trafikken, herunder identifikation ved navn, type eller hash.
- Mulighed for at bruge variabler i regler: man kan gemme information fra strømmen og senere bruge den i andre regler;
- Brug af YAML-format i konfigurationsfiler, der kombinerer synlighed med nem maskinel behandling;
- Fuld understøttelse IPv6;
- Indbygget motor til automatisk defragmentering og gensamling af pakker, der muliggør korrekt behandling af streams uanset rækkefølgen af pakkerne;
- Understøttelse af tunneleringsprotokoller: Teredo, IP-IP, IP6-IP4, IP4-IP6, GRE;
- Understøttelse af dekodning af pakker: IPv4, IPv6, TCP, UDP, SCTP, ICMPv4, ICMPv6, GRE, Ethernet, PPP, ARP, PPPoE, Raw, SLL, VLAN;
- Logningsmode for nøgler og certifikater, der optræder i TLS-baserede forbindelser;
- Mulighed for at skrive skripter i Lua-sprog til udvidet trafik-analyse og implementering af yderligere funktioner, som de standard regler ikke er tilstrækkelige til.
Kilde: opennet.ru
