Финальный бета-выпуск системы обнаружения атак Snort 3
24 апреля 2020 года
Компания Cisco представила финальную бета-версию полностью переработанной системы предотвращения атак Snort 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.
Источники
[править]
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии[править]
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.