Компания Cisco за формирането на кандидат за версии на напълно преработената система за предотвратяване на атаки , известен също като проект Snort++, по който се работи с прекъсвания от 2005 година. Стабилна версия се планира да бъде публикувана в рамките на месец.
В клон Snort 3 концепцията на продукта е напълно преразгледана и архитектурата е преработена. Сред ключовите направления на развитие на Snort 3 са: опростяване на настройката и стартирането на Snort, автоматизация на конфигурирането, опростен език за изграждане на правила, автоматично определяне на всички протоколи, предоставяне на интерфейс за управление от командния ред, активно прилагане на многопоточност с достъп на различни обработвачи до една и съща конфигурация.
Реализирани са следните значителни нововъведения:
- Преходът към нова конфигурационна система, предлагаща опростен синтаксис и позволяваща използването на скриптове за динамично формиране на настройки. За обработка на конфигурационни файлове се използва LuaJIT. Предоставят се плъгини на базата на LuaJIT с реализация на допълнителни опции за правила и система за водене на логове;
- Модернизирана е системата за определяне на атаки, актуализирани са правилата, добавена е възможността за привързване на буфери в правилата (sticky buffers). Използван е търсещият механизъм Hyperscan, което позволява бързо и по-точно сработване на шаблони, базирани на регулярни изрази;
- Добавен е нов режим на интроспекция за HTTP, който взема предвид състоянието на сесията и обхваща 99% от ситуацията, подкрепена от тестовия набор . Добавена е система за инспектиране на трафик HTTP/2;
- Съществено е увеличена производителността на режима за дълбочинна инспекция на пакетите. Добавена е възможността за многопоточна обработка на пакети, позволяваща едновременна работа на няколко нишки с обработващи единици и осигуряваща линейна мащабируемост в зависимост от броя на ядрата на CPU;
- Реализирано е общо хранилище за конфигурации и таблици с атрибути, което се използва съвместно в различни подсистеми, което значително намали потреблението на памет благодарение на изключването на дублирането на информация;
- Нова система за регистриране на събития, използваща формат JSON и лесно интегрируема с външни платформи, като Elastic Stack;
- Превключване към модулна архитектура с възможност за разширяване на функционалността чрез свързване на плъгини и реализация на ключови подсистеми под формата на заменяеми плъгини. В момента за Snort 3 вече са реализирани стотици плъгини, обхващащи различни области на приложение, като например добавяне на собствени кодеци, режими на интроспекция, методи за регистриране, действия и опции в правилата;
- Автоматично определяне на работещите услуги, което освобождава от необходимостта от ръчно указване на активни мрежови портове.
- Добавена е поддръжка на файлове за бързо пренастройване на настройките, относно конфигурацията по подразбиране. За опростяване на конфигурирането е прекратена употребата на snort_config.lua и SNORT_LUA_PATH.
Добавена е поддръжка за презареждане на настройките в реално време; - В кода е осигурена възможност за използване на конструкции C++, определени в стандарта C++14 (за компилация е необходим компилатор, поддържащ C++14);
- Добавен е нов обработчик VXLAN;
- Подобрено търсене на типове съдържание по съдържанието с използване на обновени алтернативни реализации на алгоритми и ;
- Ускорен е старта чрез използване на множество потоци за компилиране на групи правила;
- Добавен е нов механизъм за водене на дневници;
- Добавена е система за инспектиране RNA (Real-time Network Awareness), събираща информация за наличните в мрежата ресурси, хостове, приложения и услуги.
Източник: opennet.ru
