Spoločnosť Cisco o vytvorení kandidáta na vydanie kompletne prepracovaného systému prevencie útokov , známeho tiež ako projekt Snort++, ktorého vývoj sa prerušovane realizuje už od roku 2005. Stabilné vydanie sa plánuje zverejniť v priebehu mesiaca.
V rámci Snort 3 bola kompletné prehodnotená koncepcia produktu a prepracovaná architektúra. Medzi kľúčové oblasti rozvoja Snort 3 patrí: zjednodušenie nastavenia a spustenia Snort, automatizácia konfigurácie, zjednodušenie jazyka na vytváranie pravidiel, automatické rozpoznávanie všetkých protokolov, poskytovanie shellu na správu z príkazového riadku, aktívne využívanie multi-threadingu so zdieľaním rôznych spracovateľov k jednotnej 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 . Pridaný systém inšpekcie 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.
- Pridaná podpora súborov pre rýchle prepísanie nastavení voči predvolenej konfigurácii. Pre zjednodušenie nastavenia sa prestalo používať snort_config.lua a SNORT_LUA_PATH.
Pridaná podpora na dynamické premazávanie nastavení; - 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 ;
- Zrýchlené spúšťanie využitím viacerých vlákien na kompiláciu skupín pravidiel;
- Pridaný nový mechanizmus vedenia logov;
- Pridaný systém inšpekcie RNA (Real-time Network Awareness), zbierajúci informácie o dostupných sieťových prostriedkoch, hostiteľoch, aplikáciách a službách.
Zdroj: opennet.ru
