Организация OISF (Open Information Security Foundation) представила релиз системы обнаружения и предотвращения сетевых вторжений Suricata 4.1, которая предоставляет развитые средства инспектирования различных видов трафика. В конфигурациях Suricata допустимо задействование базы сигнатур, развиваемой проектом Snort, а также наборов правил Emerging Threats и Emerging Threats Pro. Исходные тексты проекта распространяются под лицензией GPLv2.
Основные изменения:
- Добавлена поддержка разбора и ведения лога для протоколов SMBv1/2/3, NFSv4, Kerberos, DHCP и IKEv2. Для FTP реализована возможность извлечения передаваемых файлов. Для TFTP предложена поддержка ведения лога. Для ICMPv4 добавлена поддержка отслеживания потока.
Для HTTP добавлена возможность распаковки Flash-файлов. Код новых модулей инспектирования протоколов реализован на языке Rust;
- Добавлена поддержка отслеживания соединений и ведения лога для протокола TLS 1.3. Реализована поддержку метода профилирования/идентификации TLS-клиентов JA3, позволяющего определять какое ПО используется для установки соединения (например, позволяет определить использование Tor и других типовых приложений);
- Проведена оптимизация кода для обхода обработчиков захвата пакетов, который переписан с использованием подсистемы XDP (eXpress Data Path), позволяющей в Linux запускать BPF-программы на уровне сетевого драйвера с возможностью прямого доступа к DMA-буферу пакетов и на стадии до выделения буфера skbuff сетевым стеком. Для пользователей Windows предложен новый режим IPS, основанный на использовании WinDivert;
- Улучшен код извлечения файлов, в котором появилась поддержка дедупликации, именования файлов на основе хэша и сохранения метаданных в формате json. Добавлен инструментарий для чистки архива извлечённых файлов;
- В EVE JSON, обеспечивающий вывод событий в формате JSON, добавлена поддержка определения метаданных через ключевое слово metadata в правилах и возможность получения информации о трафике через плагин flowbits. Для DNS-записей реализован новый более компактный формат;
- Добавлена возможность разом обработать все pcap-файлы в заданном каталоге. Добавлен режим сохранения PCAP-логов в сжатом виде;
- Расширена поддержка заголовка XFF (X-Forwarded-For);
- Добавлена поддержка Community Flow Id - единых идентификаторов для Suricata и Bro/Zeek;
- Так как новые модули поддержки протоколов написаны на Rust, при сборке Suricata в число включённых по умолчанию зависимостей добавлен компилятор Rust.
- В состав включено приложение для обновления правил - Suricata-Update 1.0.
Особенности 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 для обеспечения расширенного анализа и реализации дополнительных возможностей, необходимых для определения видов трафика, для которых не достаточно стандартных правил.
|