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

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

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

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

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

$ ./nDPIreader -i eth0 -s 20 -f “host 192.168.1.10” Detected protocols: DNS packets: 57 bytes: 7904 flows: 28 SSL_No_Cert packets: 483 bytes: 229203 flows: 6 FaceBook packets: 136 bytes: 74702 flows: 4 DropBox packets: 9 bytes: 668 flows: 3 Skype packets: 5 bytes: 339 flows: 3 Google packets: 1700 bytes: 619135 flows: 34

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

  • Улучшена поддержка методов анализа шифрованного трафика ( ETA – Encrypted Traffic Analysis).
  • Реализована поддержка улучшенного метода идентификации TLS-клиентов JA3+, позволяющего на основе особенностей согласования соединений и задаваемых параметров определять какое ПО используется для установки соединения (например, позволяет определить использование Tor и других типовых приложений). В отличие от ранее поддерживаемого метода JA3, JA3+ отличается меньшим числом ложных срабатываний.
  • Число выявляемых сетевых угроз и проблем, связанных с риском компрометации (flow risk), расширено до 33. Добавлены новые определители угроз, связанных с предоставлением совместного доступа к рабочему столу и файлам, подозрительным HTTP-трафиком, вредоносными JA3 и SHA1, обращением к проблемным доменам и автономным системам, использованием в TLS сертификатов с подозрительными расширениями или слишком долгим сроком действия.
  • Проведена значительная оптимизация производительности, по сравнению с веткой 3.0 скорость обработки трафика возросла в 2.5 раза.
  • Добавлена поддержка GeoIP для определения местоположения по IP-адресу.
  • Добавлен API для вычисления RSI (Relative Strenght Index).
  • Реализованы средства управления фрагментацией.
  • Добавлен API для расчёта однородности потока (jitter).
  • Добавлена поддержка протоколов и сервисов: AmongUs, AVAST SecureDNS, CPHA (CheckPoint High Availability Protocol), DisneyPlus, DTLS, Genshin Impact, HP Virtual Machine Group Management (hpvirtgrp), Mongodb, Pinterest, Reddit, Snapchat VoIP, Tumblr, Virtual Asssitant (Alexa, Siri), Z39.50.
  • Улучшен разбор и определение протоколов AnyDesk, DNS, Hulu, DCE/RPC, dnscrypt, Facebook, Fortigate, FTP Control, HTTP, IEC104, IEC60870, IRC, Netbios, Netflix, Ookla speedtest, openspeedtest.com, Outlook / MicrosoftMail, QUIC, RTSP, RTSP via HTTP, SNMP, Skype, SSH, Steam, STUN, TeamViewer, TOR, TLS, UPnP, wireguard.

Release. Ссылка here.