Фінальны бэта-выпуск сістэмы выяўлення нападаў Snort 3
Кампанія Cisco прадставіла фінальную бэта-версію цалкам перапрацаванай сістэмы прадухілення нападаў Храп 3, таксама вядомай як праект Snort++, праца над якім з перапынкамі вядзецца яшчэ з 2005 года. Пазней у гэтым годзе плануецца апублікаваць кандыдат у рэлізы.
У новай галінцы цалкам пераасэнсавана канцэпцыя прадукта і перапрацавана архітэктура. З напрамкаў, на якія быў зроблены акцэнт пры падрыхтоўцы новай галінкі, адзначаецца спрашчэнне наладкі і запуску Snort, аўтаматызацыя канфігуравання, спрашчэнні мовы пабудовы правілаў, аўтаматычнае вызначэнне ўсіх пратаколаў, прадастаўлення абалонкі для кіравання з каманднага радка, актыўнае прымяненне шматструменнасці з сумесным доступам розных апрацоўшчыкаў да адзінай канфігурацыі.
Рэалізаваны наступныя значныя навіны:
Ажыццёўлены пераход на новую сістэму канфігурацыі, якая прапануе спрошчаны сінтаксіс і якая дазваляе выкарыстоўваць скрыпты для дынамічнага фармавання налад. Для апрацоўкі файлаў канфігурацыі выкарыстоўваецца LuaJIT. Прадстаўляюцца плагіны на базе LuaJIT з рэалізацыяй дадатковых опцый для правіл і сістэмы вядзення логаў;
Мадэрнізаваны рухавічок вызначэння нападаў, актуалізаваны правілы, дададзена магчымасць прывязкі буфераў у правілах (sticky buffers). Задзейнічаны пошукавы рухавічок Hyperscan, які дазволіў выкарыстоўваць у правілах хуткія і больш сапраўды якія спрацоўваюць шаблоны на аснове рэгулярных выразаў;
Дададзены новы рэжым інтраспекцыі для HTTP, які ўлічвае стан сеансу і які ахоплівае 99% сітуацый, якія падтрымліваюцца тэставым наборам. HTTP Evader. У распрацоўцы знаходзіцца код для падтрымкі HTTP/2;
Істотна павялічана прадукцыйнасць рэжыму глыбокага інспектавання пакетаў. Дададзена магчымасць шматструменнай апрацоўкі пакетаў, якая дапускае адначасовае выкананне некалькіх нітак з апрацоўшчыкамі пакетаў і забяспечвае лінейную маштабаванасць у залежнасці ад колькасці ядраў CPU;
Рэалізавана агульнае сховішча канфігурацыі і табліцы атрыбутаў, якое сумесна выкарыстоўваецца ў розных падсістэмах, што дазволіла прыкметна зменшыць спажыванні памяці дзякуючы выключэнню дублявання інфармацыі;
Новая сістэма часопісавання падзей, якая выкарыстоўвае фармат JSON і лёгка інтэгравальная з вонкавымі платформамі, такімі як Elastic Stack;
Пераход на модульную архітэктуру, магчымасць пашырэння функцыянальнасці праз падлучэнне плагінаў і рэалізацыя ключавых падсістэм у выглядзе заменных плагінаў. У цяперашні час для Snort 3 ужо рэалізавана некалькі сотняў убудоў, якія ахопліваюць розныя вобласці ўжывання, напрыклад, якія дазваляюць дадаць уласныя кодэкі, рэжымы интроспекции, метады часопісавання, дзеянні і опцыі ў правілах;
Аўтаматычнае вызначэнне працуючых службаў, якое пазбаўляе ад неабходнасці ручнога ўказання актыўных сеткавых партоў.
Змяненні ў параўнанні з мінулым тэставым выпускам, які быў апублікаваны ў 2018 годзе:
Дададзена падтрымка файлаў для хуткага перавызначэння налад, адносна канфігурацыі па змаўчанні;
У кодзе забяспечана магчымасць выкарыстання канструкцый C++, вызначаных у стандарце C++14 (для зборкі патрабуецца кампілятар, які падтрымлівае C++14);
Дададзены новы апрацоўшчык VXLAN;
Палепшаны пошук тыпаў кантэнту па зместу з выкарыстаннем абноўленых альтэрнатыўных рэалізацый алгарытмаў Баера-Мура и Hyperscan;
Практычна даведзена да поўнай гатоўнасці сістэма інспектавання трафіку HTTP/2;
Паскораны запуск за кошт выкарыстання некалькіх патокаў для кампіляцыі груп правілаў;
Дададзены новы механізм вядзення логаў;
Палепшана вызначэнне памылак Lua і аптымізавана праца белых спісаў;
Унесены змены, якія дазваляюць рэалізаваць перазагрузку настроек на лета;
Дададзена сістэма інспектавання RNA (Real-time Network Awareness), якая збірае звесткі аб даступных у сетцы рэсурсах, хастах, дадатках і сэрвісах;
Для спрашчэння налады спынена выкарыстанне snort_config.lua і SNORT_LUA_PATH.