Выпуск системы глубокого инспектирования пакетов nDPI 4.4

Проект ntop, развивающий инструменты для захвата и анализа трафика, опубликовал выпуск инструментария для глубокого инспектирования пакетов nDPI 4.4, продолжающего развитие библиотеки OpenDPI. Проект nDPI основан после безуспешной попытки передачи изменений в репозиторий OpenDPI, который остался без сопровождения. Код nDPI написан на языке Си и распространяется под лицензией LGPLv3.

Система позволяет определять в трафике используемые протоколы уровня приложения, анализируя характер сетевой активности без привязки к сетевым портам (может определять известные протоколы, обработчики которых принимают соединения на нестандартных сетевых портах, например, если http отдаётся не с 80 порта, или, наоборот, когда какую-то другую сетевую активность пытаются закамуфлировать под http через запуск на 80 порту).

Отличия от OpenDPI сводятся к поддержке дополнительных протоколов, портированию для платформы Windows, оптимизации производительности, адаптации для применения в приложениях для мониторинга трафика в режиме реального времени (убраны некоторые специфичные возможности, замедлявшие движок), возможности сборки в форме модуля ядра Linux и поддержке определения субпротоколов.

Всего поддерживается определения около 300 протоколов и приложений, от OpenVPN, Tor, QUIC, SOCKS, BitTorrent и IPsec до Telegram, Viber, WhatsApp, PostgreSQL и обращений к GMail, Office365,
GoogleDocs и YouTube. Имеется декодировщик серверных и клиентских SSL-сертификатов, позволяющий определить протокол (например, Citrix Online и Apple iCloud), используя сертификат шифрования. Для анализа содержимого pcap-дампов или текущего трафика через сетевой интерфейс поставляется утилита nDPIreader.

В новом выпуске:

  • Добавлены метаданные с информацией о причине вызова обработчика для той или иной угрозы.
  • Добавлена функция ndpi_check_flow_risk_exceptions() для
    подключения обработчиков сетевых угроз.
  • Выполнено разделение на сетевые протоколы (например, TLS) и прикладные протоколы (например, сервисы Google).
  • Добавлены два новых уровня конфиденциальности: NDPI_CONFIDENCE_DPI_PARTIAL и NDPI_CONFIDENCE_DPI_PARTIAL_CACHE.
  • Добавлен шаблон для определения использования сервиса Cloudflare WARP
  • Внутренняя реализация hashmap заменена на uthash.
  • Обновлены привязки для языка Python.
  • По умолчанию задействована встроенная реализация gcrypt (для использования системной реализации предложена опция –with-libgcrypt).
  • Расширен спектр выявляемых сетевых угроз и проблем, связанных с риском компрометации (flow risk). Добавлена поддержка новых типов угроз: NDPI_PUNYCODE_IDN, NDPI_ERROR_CODE_DETECTED, NDPI_HTTP_CRAWLER_BOT и NDPI_ANONYMOUS_SUBSCRIBER.
  • Добавлена поддержка протоколов и сервисов:
    • UltraSurf
    • i3D
    • RiotGames
    • TSAN
    • TunnelBear VPN
    • collectd
    • PIM (Protocol Indipendent Multicast)
    • Pragmatic General Multicast (PGM)
    • RSH
    • Продукты GoTo, такие как GoToMeeting
    • Dazn
    • MPEG-DASH
    • Agora Software Defined Real-time Network (SD-RTN)
    • Toca Boca
    • VXLAN
    • MDNS/LLMNR
  • Улучшен разбор и определение протоколов:
    • SMTP/SMTPS (добавлена поддержка STARTTLS)
    • OCSP
    • TargusDataspeed
    • Usenet
    • DTLS
    • TFTP
    • SOAP via HTTP
    • GenshinImpact
    • IPSec/ISAKMP
    • DNS
    • syslog
    • DHCP
    • NATS
    • Viber
    • Xiaomi
    • Raknet
    • gnutella
    • Kerberos
    • QUIC (добавлена поддержка спецификации v2drft 01)
    • SSDP
    • SNMP
    • DGA
    • AES-NI

Release. Ссылка here.