Проект 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