Ազդագիր , развивающий инструменты для захвата и анализа трафика, выпуск инструментария для глубокого инспектирования пакетов , продолжающего развитие библиотеки . Проект nDPI основан после безуспешной попытки передачи изменений в OpenDPI, который остался без сопровождения. Код nDPI написан на языке Си и под лицензией LGPLv3.
Ազդագիր определять в трафике используемые протоколы уровня приложения, анализируя характер сетевой активности без привязки к сетевым портам (может определять известные протоколы, обработчики которых принимают соединения на нестандартных сетевых портах, например, если http отдаётся не с 80 порта, или, наоборот, когда какую-то другую сетевую активность пытаются закамуфлировать под http через запуск на 80 порту).
Отличия от OpenDPI сводятся к поддержке дополнительных протоколов, портированию для платформы Windows, оптимизации производительности, адаптации для применения в приложениях для мониторинга трафика в режиме реального времени (убраны некоторые специфичные возможности, замедлявшие движок),
возможности сборки в форме модуля ядра Linux и поддержке определения субпротоколов.
Всего поддерживается определения 238 протоколов и приложений, от
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
Նոր թողարկումում:
- Информация о протоколе теперь выводится сразу при определении, не дожидаясь получения полных метаданных (даже когда специфичные поля ещё не разобраны из-за неполучения соответствующих сетевых пакетов), что актуально для анализаторов трафика, которым необходимо сразу реагировать на определённые виды трафика. Для приложений, которым нужен полный разбор протокола, предложен API ndpi_extra_dissection_possible(), позволяющий убедиться, что все метаданные протокола определены.
- Реализован более глубокий разбор TLS с извлечением сведений о корректности сертификата и SHA-1 хеше сертификата.
- В приложение nDPIreader добавлен флаг «-C» для экспорта в формате CSV, что даёт возможность при помощи дополнительного инструментария ntop достаточно сложные статистические выборки. Например, для определения IP пользователя, который дольше всего смотрел фильмы в NetFlix:
$ ndpiReader -i netflix.pcap -C /tmp/netflix.csv
$ q -H -d ‘,’ «select src_ip,SUM(src2dst_bytes+dst2src_bytes) from /tmp/netflix.csv where ndpi_proto like ‘%NetFlix%’ group by src_ip»192.168.1.7,6151821
- Добавлена поддержка предложенной в определения вредоносной активности, скрытой в шифрованном трафике, используя анализ размера пакетов и времени отправки/задержек. В ndpiReader метод активируется опцией «-J».
- Обеспечена классификация протоколов по категориям.
- Добавлена поддержка расчёта IAT (Inter-Arrival Time) для определения аномалий в использовании протокола, например, для выявления использования протокола при совершении DoS-атак.
- Добавлены возможности анализа данных на основе вычисляемых метрик, таких как энтропия, среднее значение, стандартное отклонение и дисперсия.
- Предложена начальная версия биндингов для языка Python.
- Добавлен режим определения в трафике читаемых строк для выявления утечек данных. В
ndpiReader режим включается опцией «-e». - Добавлена поддержка метода идентификации TLS-клиентов , позволяющего на основе особенностей согласования соединений и задаваемых параметров определять какое ПО используется для установки соединения (например, позволяет определить использование Tor и других типовых приложений).
- Добавлена поддержка методов идентификации реализаций SSH () и DHCP.
- Добавлены функции для сериализации и десериализации данных в
форматах Type-Length-Value (TLV) и JSON. - Добавлена поддержка протоколов и сервисов: DTLS (TLS over UDP),
Hulu,
TikTok/Musical.ly,
WhatsApp Video,
DNSoverHTTPS,
Datasaver,
Line ,
Google Duo, Hangout,
WireGuard VPN,
IMO,
Zoom.us. - Улучшена поддержка анализа TLS, SIP, STUN,
Viber,
WhatsApp,
AmazonVideo,
SnapChat,
FTP,
QUIC
OpenVPN UDP,
Facebook Messenger и Hangout.
Ընտանիք: opennet.ru
