Spoločnosť Cisco konečná beta verzia úplne prepracovaného systému prevencie útokov , známy tiež ako projekt Snort++, ktorého vývoj je prerušený už od roku 2005. Neskôr v tomto roku sa plánuje publikovať kandidát na vydanie.
V novej vetve bola úplne prehodnotená koncepcia produktu a prepracovaná architektúra. Medzi smermi, na ktoré sa kládol dôraz pri príprave novej vetvy, patrí zjednodušenie nastavenia a spustenia Snort, automatizácia konfigurácie, zjednodušenie jazyka na tvorbu pravidiel, automatické určenie všetkých protokolov, poskytnutie rozhrania pre správu z príkazového riadku, aktívne využívanie viacerých vlákien so zdieľaním rôznych spracovateľov na jednej konfigurácii.
Boli implementované nasledujúce významné novinky:
- Prešiel sa na nový systém konfigurácie, ktorý ponúka zjednodušenú syntax a umožňuje používanie skriptov na dynamické vytváranie nastavení. Na spracovanie konfiguračných súborov sa používa LuaJIT. Poskytujú sa pluginy založené na LuaJIT, ktoré implementujú ďalšie možnosti pre pravidlá a systém logovania;
- Bol modernizovaný engine na identifikáciu útokov, aktualizované pravidlá, pridaná možnosť viazania bufferov v pravidlách (sticky buffers). Bol využitý vyhľadávací engine Hyperscan, čo umožnilo používať v pravidlách rýchlejšie a presnejšie spúšťajúce šablóny založené na regulárnych výrazoch;
- Pridaný nový režim introspekcie pre HTTP, ktorý berie do úvahy stav relácie a pokrýva 99% situácií podporovaných testovacou sadou . V súčasnosti sa vyvíja kód na podporu HTTP/2;
- Výrazne sa zvýšila výkonnosť režimu hĺbkovej analýzy paketov. Bola pridaná možnosť viacvláknového spracovania paketov, ktorá umožňuje súčasné vykonávanie viacerých vlákien s spracovateľmi paketov a zabezpečuje lineárnu škálovateľnosť v závislosti od počtu CPU jadier;
- Implementované bolo spoločné úložisko konfigurácie a tabuľky atribútov, ktoré sa spoločne využívajú v rôznych podsystémoch, čo výrazne znížilo spotrebu pamäte vďaka vylúčeniu duplicity informácií;
- Nový systém protokolovania udalostí využívajúci formát JSON, ktorý sa ľahko integruje s vonkajšími platformami, ako je Elastic Stack;
- Prechod na modulárnu architektúru, možnosť rozšírenia funkčnosti prostredníctvom pripojenia pluginov a implementácia kľúčových subsystémov vo forme nahraditeľných pluginov. V súčasnosti je pre Snort 3 už implementovaných niekoľko stoviek pluginov, pokrývajúcich rôzne oblasti použitia, ako sú vlastné kodeky, introspekčné režimy, metódy protokolovania, akcie a možnosti v pravidlách;
- Automatické rozpoznávanie spustených služieb, ktoré eliminuje potrebu ručne uvádzať aktívne sieťové porty.
Zmeny v porovnaní s predchádzajúcou testovacou verziou, ktorá bola vydaná v roku 2018:
- Pridaná podpora súborov na rýchle prepisovanie nastavení vo vzťahu k predvolenej konfigurácii;
- V kóde bola zabezpečená možnosť používania konštrukcií C++, definovaných v štandarde C++14 (na zostavenie je potrebný kompilátor podporujúci C++14);
- Pridaný nový spracovateľ VXLAN;
- Vylepšené vyhľadávanie typov obsahu na základe obsahu pomocou aktualizovaných alternatívnych realizácií algoritmov a ;
- Systém inšpekcie HTTP/2 je prakticky pripravený na plnú prevádzku;
- Zrýchlené spúšťanie využitím viacerých vlákien na kompiláciu skupín pravidiel;
- Pridaný nový mechanizmus vedenia logov;
- Vylepšené rozpoznávanie chýb Lua a optimalizovaná práca bielych zoznamov;
- Implementované zmeny umožňujúce dynamické preťaženie nastavení;
- Pridaný systém inšpekcie RNA (Real-time Network Awareness), ktorý zhromažďuje informácie o dostupných sieťových prostriedkoch, hostiteľoch, aplikáciách a službách;
- Na zjednodušenie nastavenia bola zastavená používanie snort_config.lua a SNORT_LUA_PATH.
Zdroj: opennet.ru
