Организация OISF (Open Information Security Foundation) представила (https://suricata-ids.org/2017/07/27/suricata-4-0-released/) релиз системы обнаружения и предотвращения сетевых вторжений Suricata 4.0 (http://suricata-ids.org/). Suricata обеспечивает ускорения работы через задействование вычислений на стороне GPU (CUDA и OpenCL), поддерживает многопоточность для оптимального задействования мощностей многоядерных систем и имеет развитые средства инспектирования различных видов трафика. В конфигурациях Suricata допустимо задействование базы сигнатур (http://www.snort.org/vrt), развиваемой проектом Snort, а также наборов правил Emerging Threats (http://rules.emergingthreats.net/) и Emerging Threats Pro (http://rules.emergingthreatspro.com/). Исходные тексты проекта распространяются под лицензией GPLv2. Ветка Suricata 4.0 примечательна переходом к реализации некоторых компонентов на языке Rust с использованием библиотеки для создания парсеров Nom (https://github.com/Geal/nom). В частности на языке Rust предложены новые парсеры для разбора трафика NFS, NTP и DNS, которые включаются при сборке Suricata с использованием опций "--enable-rust" и "--enable-rust-experimental". Поддержка компонентов на Rust пока носит экспериментальный характер.
Другие изменения:
- Значительно переработан движок для разбора TCP-сеансов, который стал работать быстрее и требовать меньше настроек в режиме предотвращения вторжений;
- При инспектировании протоколов DNS и NFS реализована поддержка восстановления после возникновения приостановок сеанса (TCP GAP (https://redmine.openinfosecfoundation.org/issues/2093));
- В движке определения атак реализован режим высокопроизводительного сопоставления по нескольким шаблонам;
- Добавлены новые правила и улучшены существующие для инспектирования
HTTP, SSH и других протоколов;
- Добавлена поддержка декодирования, журналирования и сопоставления порядковых номеров сертификатов (serial) для TLS. Существенно расширены возможности по отражению сеансов TLS в логе;
- Добавлена поддержка STARTTLS и ведения лога TLS-сеансов при инспектировании протоколов SMTP и FTP;
- Добавлена поддержка декодирования, журналирования и извлечения файлов для сеансов NFS;
- В EVE JSON, обеспечивающий вывод событий в формате JSON, добавлена поддержка логирования входящего и исходящего IP-адреса и номеров портов для трафика, инкапсулированного в туннелях;
- Добавлены средства ротации логов unified2 без перезапуска;
- Добавлена возможность сохранения в логе HTTP-запросов и тела ответов при генерации предупреждений;
- Обеспечена (https://blog.inliniac.net/2016/12/20/suricata-bits-ints-and-.../) возможность использования регулярных выражений в правилах для определения произвольных параметров, которые необходимо извлечь из трафика и отразить в логе. Например, можно извлечь такие дополнительные данные, как номер версии программы или email получателя письма.
Особенности Suricata:
- Использование для вывода результатов проверки унифицированного формата Unified2 (http://searchsecuritychannel.techtarget.com/tip/0,289483,sid...), также используемого проектом Snort, что позволяет использовать стандартные инструменты для анализа, такие как barnyard2 (http://www.securixlive.com/barnyard2/index.php). Возможность интеграции с продуктами 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 для обеспечения расширенного анализа и реализации дополнительных возможностей, необходимых для определения видов трафика, для которых не достаточно стандартных правил.
URL: https://suricata-ids.org/2017/07/27/suricata-4-0-released/
Новость: http://www.opennet.dev/opennews/art.shtml?num=46934