Работу DPI можно условно разделить на четыре последовательных этапа:
- получение проходящего через систему сетевого трафика;
- классификация пакетов и потоков;
- анализ их характеристик и содержимого;
- применение заданной политики к обнаруженному трафику.
На практике современные DPI-системы работают не только с отдельными пакетами. Они могут рассматривать последовательность пакетов как единый поток или сетевую сессию, что дает значительно больше контекста для анализа.
Рассмотрим основные этапы подробнее.
Перехват пакетов через сеть устройствами DPI
Чтобы проанализировать трафик, DPI-система сначала должна получить к нему доступ.
Один из вариантов — inline-размещение, когда устройство устанавливается непосредственно на пути прохождения трафика. В этом случае пакеты физически проходят через систему, поэтому она может не только анализировать их, но и сразу применять управляющее действие: разрешить передачу, заблокировать соединение, ограничить скорость или применить другую установленную политику.
Именно такой принцип характерен, например, для NGFW и IPS, работающих в режиме предотвращения вторжений.
Другой вариант — получение копии трафика через SPAN-порт, TAP или аналогичный механизм. Такой подход чаще применяется в системах мониторинга и обнаружения угроз. Система видит проходящий трафик и может выявлять подозрительную активность, но непосредственно остановить пакет на пути его следования она уже не может.
Выбор схемы зависит от задачи. Для активной защиты требуется возможность воздействия на трафик, а для сетевого мониторинга часто достаточно анализа его копии.
Классификация пакетов
После получения трафика DPI-система должна понять, с чем именно она имеет дело.
Первичная классификация может выполняться по IP-адресам, портам и транспортным протоколам, но DPI этим не ограничивается.
Система может учитывать:
- признаки прикладных протоколов;
- сигнатуры приложений;
- последовательность обмена данными;
- параметры сетевой сессии;
- особенности поведения потока;
- характеристики содержимого пакетов.
Это особенно важно потому, что номер порта уже далеко не всегда однозначно определяет приложение. Различные сервисы могут использовать стандартные порты, а несколько совершенно разных типов трафика — передаваться через HTTPS.
Поэтому DPI позволяет перейти от условного правила «разрешить TCP-трафик через порт 443» к более содержательной политике, основанной на понимании того, какое приложение или тип трафика использует это соединение.
Анализ пакетов
После классификации выполняется непосредственно глубокий анализ.
В зависимости от возможностей конкретного решения DPI может использовать разные методы:
Сигнатурный анализ. Система ищет известные последовательности и признаки, характерные для определенных приложений, протоколов или угроз.
Анализ протоколов. DPI проверяет, соответствует ли структура обмена правилам заявленного протокола. Нетипичное поведение может указывать на попытку атаки или обхода средств защиты.
Поведенческий и эвристический анализ. Исследуются характеристики сетевой активности, позволяющие обнаруживать аномалии даже без точного совпадения с известной сигнатурой.
Анализ содержимого. При наличии технической возможности система исследует полезную нагрузку пакетов и ищет данные или признаки, соответствующие заданным политикам.
Сигнатурные и протокольные методы широко применяются, например, в IPS. При этом одна только сигнатурная проверка не гарантирует обнаружения неизвестных или существенно измененных угроз, поэтому современные системы комбинируют несколько механизмов анализа.
Отдельная задача — зашифрованный трафик. Если содержимое соединения защищено TLS, DPI не может просто прочитать полезную нагрузку. Для полноценного анализа содержимого необходимы дополнительные механизмы SSL/TLS Inspection с расшифрованием трафика в контролируемой точке, что увеличивает требования к производительности и требует аккуратной настройки с учетом требований безопасности и конфиденциальности.
Управление трафиком
После классификации и анализа DPI-система применяет к трафику соответствующую политику.
В зависимости от задачи это может быть:
- разрешение соединения;
- блокировка пакета или сессии;
- ограничение скорости передачи данных;
- изменение приоритета трафика;
- перенаправление потока;
- регистрация события;
- передача информации другим системам безопасности;
- формирование предупреждения для администратора.
DPI поэтому используется не только для кибербезопасности, но и для управления качеством сетевых сервисов (QoS).
Например, организация может предоставить более высокий приоритет корпоративной телефонии и видеоконференциям, а для ресурсоемкого второстепенного трафика установить ограничения. Возможность классифицировать приложения позволяет применять такие политики точнее, чем при использовании только IP-адресов и портов.