После почти четырёх лет нахождения на стадии альфа-разработки представлен (https://blog.snort.org/2018/08/snort-3-beta-available-now.html) первый бета выпуск полностью переработанной системы предотвращения атак Snort 3.0 (https://github.com/snort3/snort3), также известной как проект Snort++, работа над которым с перерывами ведётся ещё с 2005 года.
Кроме переосмысления концепции и переработки архитектуры в Snort 3 реализованы следующие значительные новшества:
- Осуществлён переход на новую систему конфигурации, предлагающую упрощённый синтаксис и позволяющую использовать скрипты для динамического формирования настроек. Для обработки файлов конфигурации используется LuaJIT. Предоставляются плагины на базе LuaJIT с реализацией дополнительных опций для правил и системы ведения логов;
- Модернизирован движок определения атак, актуализированы правила, добавлена возможность привязки буферов в правилах (sticky buffers). Задействован поисковый движок Hyperscan, позволивший использовать в правилах быстрые и более точно срабатывающие шаблоны на основе регулярных выражений;
- Добавлен новый режим интроспекции для HTTP, учитывающий состояние сеанса и охватывающий 99% ситуаций, поддерживаемых тестовым набором HTTP Evader (https://noxxi.de/research/http-evader.html). В разработке находится код для поддержки HTTP/2;
- Существенно увеличена производительность режима глубокого инспектирования пакетов. Добавлена возможность многопоточной обработки пакетов, допускающая одновременное выполнение нескольких нитей с обработчиками пакетов и обеспечивающая линейную масштабируемость в зависимости от числа ядер CPU;
- Реализовано общее хранилище конфигурации и таблицы атрибутов, которое совместно используется в разных подсистемах, что позволило заметно снизить потребления памяти благодаря исключению дублирования информации;
- Новая система журналирования событий, использующая формат JSON и легко интегрируемая с внешними платформами, такими как Elastic Stack;
- Переход на модульную архитектуру, возможность расширения функциональности через подключение плагинов и реализация ключевых подсистем в виде заменяемых плагинов. В настоящее время для Snort 3 уже реализовано 225 плагинов, охватывающих различные области применения, например, позволяющие добавить собственные кодеки, режимы интроспекции, методы журналирования, действия и опции в правилах;
- Автоматическое определение работающих служб, избавляющее от необходимости ручного указания активных сетевых портов.
URL: https://blog.snort.org/2018/08/snort-3-beta-available-now.html
Новость: https://www.opennet.dev/opennews/art.shtml?num=49200