Organisationen OISF (Open Information Security Foundation) udgivet et system til detektion og forebyggelse af netværksindtrængen , som tilbyder værktøjer til inspektion af forskellige typer trafik. I konfigurationer af Suricata er det muligt at anvende , der udvikles af projektet Snort, samt reglerne fra og . Kildekoderne til projektet er under GPLv2-licensen.
Vigtige ændringer:
- Der præsenterede nye moduler til parsing og logging for protokoller
RDP, SNMP og SIP, skrevet i Rust. I modulet til parsing af FTP er der tilføjet mulighed for logging via EVE subsystemet, som sikrer output af begivenheder i JSON format; - Som en tilføjelse til den tidligere introducerede understøttelse af TLS-klientidentifikationsmetoden JA3, er understøttelse af metoden , baseret på karakteristika ved forbindelsesforhandlingerne og de angivne parametre for at bestemme hvilken software der anvendes til at etablere forbindelsen (f.eks. gør det muligt at identificere brugen af Tor og andre typiske applikationer). JA3 gør det muligt at identificere klienter, mens JA3S identificerer servere. Resultaterne kan anvendes i regelsproget og i loggene;
- Tilføjet en eksperimentel funktion til at matche med prøver fra store datasæt, realiseret ved hjælp af de nye operationer . For eksempel gælder muligheden for at søge efter masker i store sorte lister med millioner af poster;
- I HTTP-inspektionsmodus er der opnået fuld dækning af alle situationer beskrevet i testsettet (f.eks. omfatter det metoder, der anvendes til at skjule ondsindet aktivitet i trafikken);
- Moduludviklingsværktøjerne i Rust er omklassificeret fra valgfri til obligatorisk standardfunktionalitet. Der er planer om at udvide brugen af Rust i projektets kodebase og gradvist erstatte modulerne med ækvivalenter udviklet i Rust;
- Protokoldetekteringsmotoren er forbedret med hensyn til præcision og behandling af asynkrone trafikstrømme;
- I EVE-loggen er der tilføjet støtte til en ny type poster 'anomaly', hvor der gemmes usædvanlige begivenheder, der identificeres ved dekodning af pakker. I EVE er der også udvidet visningen af VLAN-information og trafikfangegrænseflader. En mulighed for at gemme alle HTTP-headere i http-posterne i EVE-loggen er tilføjet;
- I behandlingerne baseret på eBPF er understøttelse af hardwareacceleration af pakkeopsamling sikret. Hardwareaccelerationen er indtil videre begrænset til Netronome-netværksadaptere, men vil snart også være tilgængelig for andet udstyr;
- Koden er blevet omskrevet til trafikfangst ved hjælp af Netmap-rammeværket. Muligheden for at bruge de udvidede funktioner i Netmap, såsom virtuel switch, er tilføjet. ;
- understøttelse af det nye nøgleord-definitionsskema for "sticky buffers". Det nye skema er defineret i formatet "protokol.buffer", for eksempel for inspektion af URI vil nøgleordet tage formen "http.uri" i stedet for "http_uri";
- Al brugt Python-kode er blevet kontrolleret for kompatibilitet med
Python 3; - Understøttelsen af Tilera-arkitekturen, dns.log tekstloggen og den gamle files-json.log er blevet ophævet.
Funktioner i Suricata:
- Brug af et ensartet format til output af resultaterne af inspektioner , som også bruges af projektet Snort, hvilket muliggør brug af standardværktøjer til analyse, såsom . Mulighed for integration med produkter som BASE, Snorby, Sguil og SQueRT. Support for output i PCAP-format;
- Understøttelse af automatisk identifikation af protokoller (IP, TCP, UDP, ICMP, HTTP, TLS, FTP, SMB osv.), der gør det muligt at arbejde med regler kun baseret på protokoltypen, uden tilknytning til portnummeret (f.eks. blokere HTTP-trafik på en ikke-standard port). Tilstedeværelsen af dekodere til protokoller som HTTP, SSL, TLS, SMB, SMB2, DCERPC, SMTP, FTP og SSH;
- En kraftfuld HTTP-trafikanalysesystem, der bruger et specielt bibliotek HTP til at analysere og normalisere HTTP-trafik, udviklet af forfatteren af Mod_Security-projektet. Der er en modul til at føre detaljerede logfiler over transit HTTP-transmissioner, loggen gemmes i standardformat;
Apache. Understøttelse af udtrækning og verifikation af filer overført via HTTP-protokollen. Understøttelse af analyse af komprimeret indhold. Mulighed for identifikation baseret på URI, cookies, headers, user-agent, samt indholdet af anmodningen/svaret; - 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, evne til at behandle streams op til 10 gigabit/s på almindeligt udstyr.
- Højtydende maskematch-mekanisme med store sæt IP-adresser. Understøttelse af indholdsforskydning baseret på masker og regulære udtryk. Udtrækning af filer fra trafikken, herunder identifikation baseret på navn, type eller MD5-kontrolsum.
- Mulighed for at bruge variable i regler: man kan gemme information fra streamen og senere bruge den i andre regler;
- Brug af YAML-formatet i konfigurationsfiler, hvilket gør det muligt at bevare overskueligheden samtidig med at maskinerne kan behandle dem nemt;
- Fuld understøttelse af 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 tunnelprotokoller: Teredo, IP-IP, IP6-IP4, IP4-IP6, GRE;
- Understøttelse af dekodering af pakker: IPv4, IPv6, TCP, UDP, SCTP, ICMPv4, ICMPv6, GRE, Ethernet, PPP, PPPoE, Raw, SLL, VLAN;
- Logføringsfunktion til nøgler og certifikater, der indgår i TLS/SSL-forbindelser;
- Mulighed for at skrive scripts i Lua-sproget for at sikre udvidet analyse og implementering af yderligere funktioner, der er nødvendige for at definere trafiktyper, som ikke kan håndteres med standardregler;
Kilde: opennet.ru
