Na een jaar van ontwikkeling heeft de organisatie OISF (Open Information Security Foundation) de release van een systeem voor het detecteren en voorkomen van netwerkindringingen , dat middelen biedt voor inspectie van verschillende soorten verkeer. In de configuraties van Suricata is het toegestaan om , ontwikkeld door het Snort-project, evenals regelsets van en . De broncode van het project onder GPLv2-licentie.
Belangrijkste wijzigingen:
- Vroege ondersteuning voor HTTP/2.
- Ondersteuning voor de protocollen RFB en MQTT, inclusief de mogelijkheid om het protocol te identificeren en logboeken bij te houden.
- De mogelijkheid om logboeken bij te houden voor het DCERPC-protocol.
- Een aanzienlijke verhoging van de prestaties van het loggen via het EVE-systeem, dat gebeurtenissen in JSON-formaat weergeeft. Deze versnelling is bereikt door het gebruik van een nieuwe JSON-stream builder, geschreven in Rust.
- De schaalbaarheid van het EVE-loggingsysteem is verbeterd en de mogelijkheid om aparte logbestanden voor elke thread bij te houden is geĆÆmplementeerd.
- De mogelijkheid om voorwaarden voor het resetten van loggegevens te definiƫren.
- De mogelijkheid om MAC-adressen in het EVE-logboek weer te geven en de detailniveau van het DNS-logboek te verhogen.
- Verbetering van de prestaties van de flow engine.
- Ondersteuning voor de identificatie van SSH-implementaties ().
- Implementatie van een decoder voor GENEVE-tunnels.
- De code voor de verwerking is herschreven in Rust , DCERPC en SSH. Ook is ondersteuning voor nieuwe protocollen in Rust geĆÆmplementeerd.
- In de regelscript-taal is in de sleutelwoord byte_jump ondersteuning voor de parameter from_end toegevoegd, en in byte_test is ondersteuning voor de parameter bitmask toegevoegd. De sleutelwoord pcrexform is geĆÆmplementeerd, waarmee reguliere expressies (pcre) kunnen worden gebruikt voor het vastleggen van substrings. URL-decoden is toegevoegd. De sleutelwoord byte_math is toegevoegd.
- De mogelijkheid om cbindgen te gebruiken voor het genereren van bindings in de talen Rust en C.
- Beginondersteuning voor plugins is toegevoegd.
Kenmerken van Suricata:
- Gebruik van een uniforme opmaak voor het weergeven van resultaten van verificaties , ook gebruikt door het Snort-project, wat het mogelijk maakt om standaardtools voor analyse te gebruiken zoals . Mogelijkheid tot integratie met producten zoals BASE, Snorby, Sguil en SQueRT. Ondersteuning voor uitvoer in PCAP-formaat;
- Ondersteuning voor automatische protocoldetectie (IP, TCP, UDP, ICMP, HTTP, TLS, FTP, SMB, enz.), waardoor regels alleen op het type protocol kunnen worden toegepast, zonder binding aan het poortnummer (bijvoorbeeld het blokkeren van HTTP-verkeer op een niet-standaard poort). Beschikbaarheid van decoders voor de protocollen HTTP, SSL, TLS, SMB, SMB2, DCERPC, SMTP, FTP en SSH;
- Krachtig systeem voor HTTP-verkeeranalyse dat een speciale bibliotheek HTP gebruikt voor het parseren en normaliseren van HTTP-verkeer, ontwikkeld door de auteur van het Mod_Security-project. Een module beschikbaar voor het bijhouden van gedetailleerde logs van transit HTTP-overdrachten, de log wordt opgeslagen in een standaardformaat.
Apache. Ondersteuning voor het extraheren en controleren van bestanden die via het HTTP-protocol worden verzonden. Ondersteuning voor het parseren van gecomprimeerde content. Mogelijkheid tot identificatie via URI, Cookie, headers, user-agent, en de body van verzoeken/responsen; - Ondersteuning voor verschillende interfaces voor het onderscheppen van verkeer, waaronder NFQueue, IPFRing, LibPcap, IPFW, AF_PACKET, PF_RING. Analyse van al opgeslagen bestanden in PCAP-indeling is mogelijk;
- Hoge prestaties, in staat om streams tot 10 gigabit/s te verwerken op standaard hardware.
- Hogeprestatiedetectiemechanisme met maskers voor grote IP-adressenets. Ondersteuning voor het extraheren van content op basis van maskers en reguliere expressies. Extraheren van bestanden uit verkeer, inclusief identificatie op naam, type of MD5-hash.
- Mogelijkheid om variabelen te gebruiken in regels: informatie uit de stream kan worden opgeslagen en later in andere regels worden gebruikt;
- Gebruik van YAML-formaat in configuratiebestanden, wat de duidelijkheid behoudt bij eenvoudige machineverwerking;
- Volledige ondersteuning voor IPv6;
- Ingebouwde engine voor automatische defragmentatie en hersamenstelling van pakketten, die zorgt voor een correcte verwerking van streams, ongeacht de volgorde van ontvangst van pakketten;
- Ondersteuning voor tunnelingprotocollen: Teredo, IP-IP, IP6-IP4, IP4-IP6, GRE;
- Ondersteuning voor het decoderen van pakketten: IPv4, IPv6, TCP, UDP, SCTP, ICMPv4, ICMPv6, GRE, Ethernet, PPP, PPPoE, Raw, SLL, VLAN;
- Loggingmodus voor sleutels en certificaten die betrokken zijn bij TLS/SSL-verbindingen;
- Mogelijkheid om scripts te schrijven in Lua voor geavanceerde analyses en het implementeren van extra functionaliteiten die nodig zijn voor het identificeren van verkeerssoorten waarvoor de standaardregels niet voldoende zijn.
Bron: opennet.ru
