Доступна система глибокого інспектування пакетів nDPI 3.0

Проект ntop, що розвиває інструменти для захоплення та аналізу трафіку, опублікував випуск інструментарію для глибокого інспектування пакетів nDPI 3.0, що продовжує розвиток бібліотеки OpenDPI. Проект 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 пакети: 57 bytes: 7904 flows: 28
SSL_No_Cert packets: 483 bytes: 229203 flows: 6
FaceBook packets: 136 bytes: 74702 flows: 4
DropBox пакетів: 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) з /tmp/netflix.csv where ndpi_proto like '%NetFlix%' group by src_ip»

    192.168.1.7,6151821

  • Додано підтримку запропонованої в Cisco Joy техніки визначення шкідливої ​​активності, прихованої у шифрованому трафіку, використовуючи аналіз розміру пакетів та часу відправки/затримок. У ndpiReader метод активується опцією "-J".
  • Забезпечено класифікацію протоколів за категоріями.
  • Додано підтримку розрахунку IAT (Inter-Arrival Time) визначення аномалій у використанні протоколу, наприклад, виявлення використання протоколу під час здійснення DoS-атак.
  • Додано можливості аналізу даних на основі обчислюваних метрик, таких як ентропія, середнє значення, стандартне відхилення та дисперсія.
  • Запропоновано початкову версію біндингу для мови Python.
  • Додано режим визначення в трафіку рядків для виявлення витоків даних. У
    ndpiReader режим включається опцією "-e".

  • Додано підтримку методу ідентифікації TLS-клієнтів JA3, що дозволяє на основі особливостей узгодження з'єднань і параметрів, що задаються, визначати яке ПЗ використовується для встановлення з'єднання (наприклад, дозволяє визначити використання Tor і інших типових додатків).
  • Додано підтримку методів ідентифікації реалізацій SSH (HASSH) та DHCP.
  • Додані функції для серіалізації та десеріалізації даних у
    форматах Type-Length-Value (TLV) та JSON.

  • Додана підтримка протоколів та сервісів: DTLS (TLS over UDP),
    хулу,
    TikTok/Musical.ly,
    WhatsApp Video,
    DNSoverHTTPS,
    Datasaver,
    Line
    Google Duo, Hangout,
    WireGuard VPN,
    ІМО,
    Zoom.us.

  • Поліпшено підтримку аналізу TLS, SIP, STUN,
    Viber,
    WhatsApp
    AmazonVideo,
    SnapChat,
    FTP,
    QUIC
    OpenVPN UDP,
    Facebook Messenger та Hangout.

Джерело: opennet.ru

Додати коментар або відгук