След година разработка, организация OISF (Open Information Security Foundation) освободи системата за откриване и предотвратяване на мрежови атаки , която предоставя средства за инспекция на различни видове трафик. В конфигурациите на Suricata е допустимо използването на , разработвана от проекта Snort, както и набори от правила и . Изходните кодове на проекта под лицензия GPLv2.
Основни промени:
- Начална поддръжка на HTTP/2.
- Поддръжка на протоколите RFB и MQTT, включително възможността за определяне на протокол и водене на лог.
- Възможност за водене на лог за протокола DCERPC.
- Съществено увеличаване на производителността на логовете чрез подсистемата EVE, осигуряваща извеждане на събития в JSON формат. Ускорението е постигнато благодарение на новия строител на JSON потоци, написан на Rust.
- Увеличена мащабируемост на системата за логове EVE и реализирана възможност за водене на отделен лог-файл за всеки поток.
- Възможност за определяне на условия за нулиране на данни в лог.
- Възможност за отразяване на MAC адреси в логовете EVE и повишаване на детайлността на логовете DNS.
- Увеличаване на производителността на механизма за обработка на потоци (flow engine).
- Поддръжка за идентифициране на реализации на SSH ().
- Реализация на декодер за тунели GENEVE.
- Кодът за обработка е пренаписан на Rust , DCERPC и SSH. Поддръжка на нови протоколи също е реализирана на Rust.
- В езика за определяне на правила в ключовата дума byte_jump е добавена поддръжка на параметъра from_end, а в byte_test — на параметъра bitmask. Реализирано е ключовото слово pcrexform, позволяващо използване на регулярни изрази (pcre) за извличане на подстроки. Добавено е преобразуване urldecode. Добавено е ключовото слово byte_math.
- Предоставяне на възможност за използване на cbindgen за генериране на връзки на езици Rust и C.
- Добавена е начална поддръжка на плъгини.
Характеристики на Suricata:
- Използване на унифициран формат за извеждане на резултатите от проверката , също използван от проекта Snort, което позволява използването на стандартни инструменти за анализ, като . Възможност за интеграция с продуктите BASE, Snorby, Sguil и SQueRT. Поддръжка на изход в PCAP формат;
- Поддръжка на автоматично определяне на протоколи (IP, TCP, UDP, ICMP, HTTP, TLS, FTP, SMB и др.), позволяваща да се работи в правилата само с типа протокол, без привързване към номер на порт (например, блокиране на HTTP трафик на нестандартен порт). Наличие на декодери за протоколи HTTP, SSL, TLS, SMB, SMB2, DCERPC, SMTP, FTP и SSH;
- Мощна система за анализ на HTTP трафик, използваща специална библиотека HTP, създадена от автора на проекта Mod_Security, за разбор и нормализация на HTTP трафика. Достъпен е модул за водене на подробен журнал на транзитни HTTP прехвърляния, журналът се запазва в стандартен формат.
Apache. Поддържа извличане и проверка на файлове, предавани по протокол HTTP. Поддръжка на разбор на компресирано съдържание. Възможност за идентификация по URI, Cookie, заглавия, user-agent, тяло на заявка/отговор; - Поддръжка на различни интерфейси за прихващане на трафик, включително NFQueue, IPFRing, LibPcap, IPFW, AF_PACKET, PF_RING. Възможен е анализ на вече запазени файлове в формат PCAP;
- Висока производителност, способност да обработва потоци до 10 гигабита/сек на обикновено оборудване.
- Високопроизводителен механизъм за съпоставяне по маска с големи набори 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 за осигуряване на разширен анализ и реализиране на допълнителни възможности, необходими за определяне на видове трафик, за които стандартните правила не са достатъчни.
Източник: opennet.ru
