Доступна система обнаружения атак Suricata 5.0

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

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

  • Представлены новые модули разбора и ведения лога для протоколов RDP, SNMP и SIP, написанные на языке Rust. В модуль для разбора FTP добавлена возможность ведения лога через подсистему EVE, обеспечивающую вывод событий в формате JSON;
  • В дополнение к появившейся в прошлом выпуске поддержке метода идентификации TLS-клиентов JA3 добавлена поддержка метода JA3S, позволяющего на основе особенностей согласования соединений и задаваемых параметров определять какое ПО используется для установки соединения (например, позволяет определить использование Tor и других типовых приложений). JA3 даёт возможность определять клиентов, а JA3S — серверы. Результаты определения можно использовать в языке задания правил и в логах;
  • Добавлена экспериментальная возможность сопоставления с выборкой из больших наборов данных, реализуемая при помощи новых операций dataset и datarep. Например, возможность применима для поиска масок в больших чёрных списках, насчитывающих миллионы записей;
  • В режиме инспектирования HTTP обеспечено полное покрытие всех ситуаций, описанных в тестовым наборе HTTP Evader (например, охватывает методы, применяемые для скрытия в трафике вредоносной активности);
  • Средства разработки модулей на языке Rust переведены из опций в разряд обязательных штатных возможностей. В дальнейшем планируется расширение применения Rust в кодовой базе проекта и постепенная замена модулей на аналоги, разработанные на Rust;
  • Движок определения протоколов улучшен в области повышения точности и обработки асинхронных потоков трафика;
  • В EVE-лог добавлена поддержка нового типа записей «anomaly», в которых сохраняются нетипичные события, выявляемые при декодировании пакетов. В EVE также расширено отражение информации о VLAN и интерфейсах захвата трафика. Добавлена опция для сохранения всех HTTP-заголовков в http-записях лога EVE;
  • В обработчиках на базе eBPF обеспечена поддержка аппаратных механизмов ускорения захвата пакетов. Аппаратное ускорение пока ограничено сетевыми адаптерами Netronome, но скоро появится и для другого оборудования;
  • Переписан код для захвата трафика при помощи фреймворка Netmap. Добавлена возможность использования расширенных возможностей Netmap, таких как виртуальный коммутатор VALE;
  • Добавлена поддержка новой схемы определения ключевых слов для «липких буферов» (Sticky Buffers). Новая схема определена в формате «протокол.буфер», например, для инроспектирования URI ключевое слово примет вид «http.uri» вместо «http_uri»;
  • Весь используемый Python код проверен на совместимость с Python 3;
  • Прекращена поддержка архитектуры Tilera, текстового лога dns.log и старого лога files-json.log.

Особенности 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 для обеспечения расширенного анализа и реализации дополнительных возможностей, необходимых для определения видов трафика, для которых не достаточно стандартных правил.
  • Источник: http://www.opennet.ru/opennews/art.shtml?num=51686