Vydanie kandidáta na systém detekcie útokov Snort 3
Spoločnosť Cisco oznámila, o vývoji kandidáta na vydanie úplne prepracovaného systému prevencie útokov Odfrknite si 3, tiež známy ako projekt Snort++, na ktorom sa s prestávkami pracuje od roku 2005. Stabilné vydanie sa plánuje zverejniť do mesiaca.
Vo vetve Snort 3 bol koncept produktu úplne premyslený a architektúra bola prepracovaná. Medzi kľúčové oblasti vývoja Snortu 3 patrí zjednodušenie nastavenia a spustenia Snortu, automatizácia konfigurácie, zjednodušenie jazyka pre vytváranie pravidiel, automatická detekcia všetkých protokolov, poskytnutie shellu na ovládanie z príkazového riadku, aktívne používanie multithreading so spoločným prístupom rôznych procesorov k jednej konfigurácii.
Boli implementované tieto významné inovácie:
Prešiel sa na nový konfiguračný systém, ktorý ponúka zjednodušenú syntax a umožňuje použitie skriptov na dynamické generovanie nastavení. LuaJIT sa používa na spracovanie konfiguračných súborov. Pluginy založené na LuaJIT sú vybavené implementáciou dodatočných možností pravidiel a logovacieho systému;
Zmodernizoval sa engine na detekciu útokov, aktualizovali sa pravidlá a pribudla možnosť viazať vyrovnávacie pamäte v pravidlách (sticky buffers). Použil sa vyhľadávací nástroj Hyperscan, ktorý umožnil používať rýchle a presnejšie spúšťané vzory založené na regulárnych výrazoch v pravidlách;
Pridaný nový režim introspekcie pre HTTP, ktorý zohľadňuje stav relácie a pokrýva 99 % situácií podporovaných testovacím balíkom HTTP Evader. Pridaný systém kontroly premávky HTTP/2;
Výkon režimu hĺbkovej kontroly paketov sa výrazne zlepšil. Pridaná schopnosť viacvláknového spracovania paketov, čo umožňuje súčasné vykonávanie niekoľkých vlákien s paketovými procesormi a poskytuje lineárnu škálovateľnosť v závislosti od počtu jadier CPU;
Bolo implementované spoločné ukladanie konfigurácií a tabuľky atribútov, ktoré sú zdieľané medzi rôznymi subsystémami, čo výrazne znížilo spotrebu pamäte odstránením duplikácie informácií;
Nový systém zaznamenávania udalostí pomocou formátu JSON a jednoducho integrovateľný s externými platformami, ako je Elastic Stack;
Prechod na modulárnu architektúru, možnosť rozšírenia funkcionality prostredníctvom pripojenia pluginov a implementácie kľúčových subsystémov vo forme vymeniteľných pluginov. V súčasnosti je pre Snort 3 implementovaných niekoľko stoviek pluginov, ktoré pokrývajú rôzne oblasti použitia, napríklad umožňujú pridávať vlastné kodeky, režimy introspekcie, metódy protokolovania, akcie a možnosti v pravidlách;
Pridaná podpora pre súbory na rýchle prepísanie nastavení vzhľadom na predvolenú konfiguráciu. Na zjednodušenie konfigurácie sa prestalo používať snort_config.lua a SNORT_LUA_PATH.
Pridaná podpora pre opätovné načítanie nastavení za behu;
Kód poskytuje možnosť používať konštrukty C++ definované v štandarde C++14 (zostavenie vyžaduje kompilátor, ktorý podporuje C++14);
Pridaný nový obslužný program VXLAN;
Vylepšené vyhľadávanie typov obsahu podľa obsahu pomocou aktualizovaných implementácií alternatívnych algoritmov Boyer-Moore и Hyperscan;
Spustenie je zrýchlené použitím viacerých vlákien na zostavenie skupín pravidiel;
Pridaný nový mechanizmus protokolovania;
Bol pridaný inšpekčný systém RNA (Real-time Network Awareness), ktorý zhromažďuje informácie o zdrojoch, hostiteľoch, aplikáciách a službách dostupných v sieti.