22.04.2024

Выпуск системы обнаружения атак Suricata 7.0

После двух с половиной лет разработки организация OISF (Open Information Security Foundation) опубликовала релиз системы обнаружения и предотвращения сетевых вторжений Suricata 7.0, которая предоставляет средства инспектирования различных видов трафика. В конфигурациях Suricata допустимо задействование базы сигнатур, развиваемой проектом Snort, а также наборов правил Emerging Threats и Emerging Threats Pro. Исходные тексты проекта распространяются под лицензией GPLv2.

Основные изменения:

  • Добавлена поддержка фреймворка DPDK (Data Plane Development Kit) для повышения производительности компонентов обнаружения (IDS) и предотвращения (IPS) вторжений за счёт прямой работы с сетевым оборудованием и обработки сетевых пакетов минуя сетевой стек ядра.
  • Реализована возможность ускорения компонентов обнаружения вторжений (IDS) при помощи механизма AF_XDP (eXpress Data Path), который предоставляет средства для запуска BPF-программ на уровне сетевого драйвера, с возможностью прямого доступа к DMA-буферу пакетов. Применение AF_XDP позволяет захватывать пакеты, перенаправляя их в обработчик в пространство пользователя в обход сетевого стека ядра.
  • Добавлены новые ключевые слова для инспектирование заголовков протоколов HTTP и HTTP2
  • Реализована возможность обнаружения и сохранения в лог клиентских TLS-сертификатов.
  • Добавлен парсер для протокола Bittorrent.
  • В реализации системы предотвращения вторжений (IPS) по умолчанию для правил с исключениями применено отбрасывание пакетов (операция DROP).
  • Документирована и проверена с использованием схемы JSON подсистема ведения логов EVE, обеспечивающая вывод событий в формате JSON.
  • Объявлена стабильной поддержка протокола HTTP/2 (ранее компоненты для HTTP/2 преподносились как экспериментальные). Для HTTP/2 реализована поддержка сжатия методом deflate и запросов с указанием диапазона запрашиваемых байт (byte-range).
  • Добавлена поддержка API NETMAP 14.
  • Добавлена возможность выборочного ведения логов PCAP через применение опции «conditional» в секции «pcap-log». По умолчанию осуществляется логгирование в pcap-файл всех пакетов. Если выставить значение «alerts» в опции «conditional» — в логе будут отображаться только потоки, для которых сгенерированы предупреждения. При помощи значения tag можно записывать в лог только пакеты с определёнными тегами.
  • Предложена начальная реализация библиотеки libsuricata для использования функциональности Suricata в других продуктах.
  • Добавлена поддержка VLAN Layer 3.
  • Реализованы оптимизации производительности и потребления памяти.
  • Добавлена поддержка механизма изоляции приложений Landlock, позволяющего ограничить взаимодействие с внешним окружением группы процессов. Landlock позволяет процессу создать защищённые изолированные окружения, реализованные в форме дополнительного слоя над существующими системными механизмами управления доступом. Логика предоставления доступа определяется при помощи BPF-программы, но в отличие от seccomp-bpf Landlock не фильтрует системные вызовы и их аргументы, а позволяет ограничить использование объектов ядра, таких как иерархии файлов (например, запретить доступ к файлам за пределами рабочего каталога).
  • Добавлена поддержка протоколов QUICv1, GQUIC, PostgreSQL, IKEv1.
  • Добавлена поддержка VN-Tag.
  • На языке Rust переписан модуль Modbus.
  • Добавлена поддержка отслеживания потоков и логгирования для протокола ESP (Encapsulating Security Payload).
  • Добавлен парсер MinimalTtelnet.
  • Добавлены счётчики активных потоков и TCP-пакетов.
  • В правила добавлены новые ключевые слова для DHCP, Kerberos, SNMP, TLS и QUIC. В правила на базе API frames добавлены ключевые слова для NFS, SMB, DNS, telnet и SSL/TLS.

Особенности Suricata:

  • Использование для вывода результатов проверки унифицированного формата Unified2, также используемого проектом Snort, что позволяет использовать стандартные инструменты для анализа, такие как barnyard2. Возможность интеграции с продуктами BASE, Snorby, Sguil и SQueRT. Поддержка вывода в формате PCAP;
  • Поддержка автоматического определения протоколов (IP, TCP, UDP, ICMP, HTTP, TLS, FTP, SMB и т.п.), позволяющая оперировать в правилах только типом протокола, без привязки к номеру порта (например, блокировать HTTP трафик на нестандартном порту). Наличие декодировщиков для протоколов HTTP, SSL, TLS, SMB, SMB2, DCERPC, SMTP, FTP и SSH;
  • Мощная система анализа HTTP-трафика, использующая для разбора и нормализации HTTP-трафика специальную библиотеку HTP, созданную автором проекта Mod_Security. Доступен модуль для ведения подробного лога транзитных HTTP пересылок, лог сохраняется в стандартном формате Apache. Поддерживается извлечение и проверка передаваемых по протоколу HTTP файлов. Поддержка разбора сжатого контента. Возможность идентификации по URI, Cookie, заголовкам, user-agent, телу запроса/ответа;
  • Поддержка различных интерфейсов для перехвата трафика, в том числе NFQueue, IPFRing, LibPcap, IPFW, AF_PACKET, PF_RING. Возможен анализ уже сохранённых файлов в формате PCAP;
  • Высокая производительность, способность обрабатывать на обычном оборудовании потоки до 10 гигабит/cек.
  • Высокопроизводительный механизм сопоставления по маске с большими наборами IP адресов. Поддержка выделение контента по маске и регулярным выражениям. Выделение файлов из трафика, в том числе их идентификация по имени, типу или контрольной сумме MD5.
  • Возможность использования переменных в правилах: можно сохранить информацию из потока и позднее использовать ее в других правилах;
  • Использование формата YAML в файлах конфигурации, что позволяет сохранить наглядность при лёгкости машинной обработки;
  • Полная поддержка IPv6;
  • Встроенный движок для автоматической дефрагментации и пересборки пакетов, позволяющий обеспечить корректную обработку потоков, независимо от порядка поступления пакетов;
  • Поддержка протоколов туннелирования: Teredo, IP-IP, IP6-IP4, IP4-IP6, GRE;
  • Поддержка декодирования пакетов: IPv4, IPv6, TCP, UDP, SCTP, ICMPv4, ICMPv6, GRE, Ethernet, PPP, PPPoE, Raw, SLL, VLAN;
  • Режим ведения лога ключей и сертификатов, фигурирующих в рамках соединений TLS/SSL;
  • Возможность написания скриптов на языке Lua для обеспечения расширенного анализа и реализации дополнительных возможностей, необходимых для определения видов трафика, для которых недостаточно стандартных правил.

Источник: https://www.opennet.ru/opennews/art.shtml?num=59463 Источник.