Společnost Cisco konečná beta verze kompletně přepracovaného systému prevence útoků , známého také jako projekt Snort++, jehož vývoj probíhá s přestávkami od roku 2005. Později v tomto roce se plánuje zveřejnění kandidáta na verzi.
V nové větvi byla zcela přepracována koncepce produktu a architektura. Mezi oblasti, na které se zaměřila příprava nové větve, patří zjednodušení konfigurace a spuštění Snortu, automatizace konfigurace, zjednodušení jazyka pro vytváření pravidel, automatické rozpoznávání všech protokolů, poskytnutí rozhraní pro správu z příkazového řádku, aktivní využívání multithreadingu s možností sdíleného přístupu různých zpracovatelů k jediné konfiguraci.
Byly realizovány následující významné novinky:
- Došlo k přechodu na nový systém konfigurace, který nabízí zjednodušenou syntaxi a umožňuje použít skripty pro dynamické formování nastavení. Pro zpracování konfiguračních souborů se používá LuaJIT. Poskytují se pluginy založené na LuaJIT, které implementují dodatečné možnosti pro pravidla a systém vedení protokolů;
- Byl modernizován motor pro detekci útoků, aktualizována pravidla a přidána možnost zavazování bufferů v pravidlech (sticky buffers). Byl použit vyhledávací engine Hyperscan, což umožnilo použití rychlých a přesněji fungujících vzorů na základě regulárních výrazů v pravidlech;
- Byl přidán nový režim introspekce pro HTTP, který zohledňuje stav relace a pokrývá 99 % situací podporovaných testovacím souborem . V přípravě je kód pro podporu HTTP/2;
- Výrazně byla zvýšena výkonnost režimu hluboké inspekce paketů. Byla přidána možnost vícevláknového zpracování paketů, které umožňuje současné provádění několika vláken se zpracovateli paketů a zajišťuje lineární škálovatelnost v závislosti na počtu jader CPU;
- Byla realizována společná databáze konfigurace a tabulek atributů, která je využívána napříč různými podsystemy, což výrazně snížilo spotřebu paměti eliminací duplicity informací;
- Nový systém protokolování událostí, který používá formát JSON a je snadno integrován s externími platformami, jako je Elastic Stack;
- Přechod na modulární architekturu, možnost rozšíření funkčnosti prostřednictvím připojení pluginů a realizace klíčových subsystémů ve formě vyměnitelných pluginů. V současné době je pro Snort 3 již k dispozici několik stovek pluginů pokrývajících různé oblasti použití, například umožňující přidání vlastních kodeků, režimů introspekce, metod protokolování, akcí a možností v pravidlech;
- Automatické určení fungujících služeb, které eliminuje potřebu ručně specifikovat aktivní síťové porty.
Změny oproti poslednímu testovacímu vydání, které bylo zveřejněno v roce 2018:
- Byla přidána podpora souborů pro rychlé přepsání nastavení oproti výchozí konfiguraci;
- V kódu byla zajištěna možnost používání konstrukcí C++, definovaných ve standardu C++14 (pro kompilaci je vyžadován překladač podporující C++14);
- Byl přidán nový zpracovatel VXLAN;
- Bylo vylepšeno vyhledávání typů obsahu na základě obsahu pomocí aktualizovaných alternativních implementací algoritmů a ;
- Systém inspekce provozu HTTP/2 byl prakticky dospěl k plné připravenosti;
- Zrychleno spuštění díky využití více vláken pro kompilaci skupin pravidel;
- Byl přidán nový mechanismus pro vedení protokolů;
- Bylo zlepšeno rozpoznávání chyb Lua a optimalizována práce s bílými seznamy;
- Byly provedeny změny umožňující provádění změn nastavení za běhu;
- Byl přidán systém inspekce RNA (Real-time Network Awareness), který shromažďuje informace o dostupných síťových prostředcích, hostitelích, aplikacích a službách;
- Pro zjednodušení nastavení bylo ukončeno používání snort_config.lua a SNORT_LUA_PATH.
Zdroj: opennet.ru
