Вызовы (challenges) в реализации DPI методом полного протокольного декодирования

Пономаренко Роман
http://t.me/rerand0m
rerandom@ispras.ru

Модель OSI

Прикладной
Представления
Сеансовый
Транспортный
Сетевой
Канальный
DHCP, DNS, HTTP, FTP, POP3, SSL,
SSL, WEP, MIME
PPTP, RTP, SOCKS, SPDY
TCP, UDP, SCTP, DCCP
IPv4, IPv6, OSPF, ICMP
Wi-Fi, WiMAX, ATM, Ethernet, Token Ring

"Глубина" разбора

SPI:
Сетевой
Канальный
MPI:
Сеансовый
Транспортный
Сетевой
Канальный
DPI:
Прикладной
Представления
Сеансовый
Транспортный
Сетевой
Канальный

"Глубина" разбора

SPI:
83.149.199.92 -> 23.246.51.132
X пакетов, Y Мб
23.246.51.132 -> 83.149.199.92
X пакетов, Y Мб
MPI:
:56778 <==> :443
:59674 <==> :443
:61283 <==> :1337
DPI:
Netflix
stranger things cover
Смотрит 5ю серию

Применение DPI

Классификация приложений и пользователей

  • Тарификация
  • Управление доступом
screenshot of tinkoff mobile

Применение DPI

Выделение полезной нагрузки 7 уровня модели OSI

  • DLP
screenshot of pd

Применение DPI

Выявление особых признаков

  • Выявление и анализ атак
  • Балансировка нагрузки
hackers

Применение DPI

  • Отладка

  • Сетевая криминалистика

photo of network watcher

Подходы к реализации

  • Классификация по портам и/или первым байтам полезной нагрузки
  • Поиск признаков по шаблонам
  • Применение методов машинного обучения
  • Декодирование

Полное протокольное декодирование

decode example

IPS на Wireshark

Dodiya B., Singh U. Malicious traffic analysis using Wireshark by collection of indicators of compromise //Int J Comput Appl. – 2022. – Т. 183. – С. 975-8887.

Jaya I. K. N. A., Dewi I. A. U., Mahendra G. S. Implementation of Wireshark Application in Data Security Analysis on LMS Website //Journal of Computer Networks, Architecture and High Performance Computing. – 2022. – Т. 4. – №. 1. – С. 79-86.

Afzal R., Murugesan R. K. Implementation of a Malicious Traffic Filter Using Snort and Wireshark as a Proof of Concept to Enhance Mobile Network Security //Journal of Telecommunications and Information Technology. – 2022. – №. 1.

Ahmad R. Z. N. et al. A NMAP AND WIRESHARK APPLICATION FOR DATA ANALYSIS AND NETWORK SECURITY //JComce-Journal of Computer Science. – 2023. – Т. 1. – №. 1.

Архитектура в первом приближении

1. Захват

Как Linux захватывает пакеты?

little scheme
dog catching

1. Захват

Как Linux захватывает пакеты?

little scheme
linux capturing scheme (non optimal)

1. Захват

К чему стремимся

little scheme
linux capturing scheme (optimal)

"Глубина" разбора

SPI:
Сетевой
Канальный
MPI:
Сеансовый
Транспортный
Сетевой
Канальный
DPI:
Прикладной
Представления
Сеансовый
Транспортный
Сетевой
Канальный

"Глубина" разбора Протосферой

Картинка кота
Прикладной
Представления
Сеансовый
Транспортный
Сетевой
Канальный
Файл сетевой трассы
Прикладной
Представления
Сеансовый
Транспортный
Сетевой
Канальный

2. Разбор

Инкапсуляция

little scheme
Homer Simpson recursion

Проблема на сеансовом уровне

Прикладной
Представления
Сеансовый
Транспортный
Сетевой
Канальный
tcp stream assembling

3. Сборка сеансов

little scheme
Homer Simpson puzzle

4. Сохранение состояния

little scheme
some state machine

5. Представление результатов

little scheme
export

Архитектура в первом приближении

С модулями

Мы получили production-ready DPI! Да?

naive Leia

Zootopia Sloth scene

out of memory error

"Вторичные" проблемы

  • Общее ускорение работы
  • Управление памятью
  • Расширение функционала

Общее ускорение работы

Распараллеливание

  • Запуск в кластере
  • Пул воркеров
  • Асинхронная обработка
race

Пул воркеров

workers pool scheme

Асинхронный код

async code example

Общее ускорение работы

  • Отбрасывание всего "ненужного"
trash

Управление памятью

static vs dynamic

cat fight Я не нашёл подходящей картинки, наслаждайтесь этой.

Управление памятью

DOD vs OOP

Управление памятью

Большое количество копирований

decode example

Расширение функционала

ether

Эксперимент

chart

1,5 года разработки

Спасибо за внимание