Традиционные методы анализа сетевого трафика
Классификация сетевого трафика с помощью традиционных методов предполагает использование различных подходов, каждый из которых имеет свои сильные и слабые стороны. Рассмотрим основные методы и их ограничения, возникающие при обработке замаскированного и зашифрованного трафика.
-
Метод Server Name Indication (SNI)
Метод SNI основывается на анализе информации о домене, которую шифрованное соединение передает в виде открытого текста при установлении TLS-сессии. Поскольку информация о доменном имени указывается в заголовке «Server Name» на этапе рукопожатия TLS, этот метод позволяет идентифицировать серверы и сервисы, даже если последующий трафик шифруется.
Ограничения метода SNI:
- Недостаточная точность при маскировке портов и трансляции адресов: В случаях, когда IP-адреса и порты изменяются или используются обфусцированные адреса, точность снижается, так как связь между SNI и конкретным приложением может быть разорвана.
- Невозможность идентификации при использовании VPN: SNI-заголовок становится недоступным для анализа, если трафик идет через VPN, так как он скрывается шифрованием туннеля.
- Отсутствие данных для всех протоколов: Не все протоколы и приложения передают данные через TLS, а потому анализ на основе SNI не применим к ним.
-
Инспекция полезной нагрузки (Payload Inspection)
Инспекция полезной нагрузки включает детальный анализ содержимого пакетов для выявления паттернов и особенностей, характерных для конкретного протокола или приложения. Этот метод позволяет с высокой точностью определять тип передаваемых данных и классифицировать их на основе содержимого.
Ограничения инспекции полезной нагрузки:
- Затраты на вычислительные ресурсы: Анализ полезной нагрузки требует значительных ресурсов, так как предполагает изучение содержимого каждого пакета.
- Проблемы с конфиденциальностью: Полный доступ к данным внутри пакета вызывает вопросы конфиденциальности, особенно при работе с личными или корпоративными данными.
- Невозможность анализа зашифрованного трафика: Шифрование трафика (TLS или VPN) делает инспекцию содержимого пакетов невозможной, что снижает эффективность метода в современных условиях, где значительная часть трафика шифруется.
-
Методы статистического машинного обучения
Методы статистического машинного обучения строят классификацию на основе различных метрик и характеристик трафика (таких как размеры пакетов, частота пакетов и временные интервалы между ними). Модели могут обучаться на статистических данных, что позволяет в ряде случаев эффективно идентифицировать определённые типы трафика.
Ограничения методов статистического машинного обучения:
- Необходимость чистых и размеченных данных: Для успешной работы моделей статистического обучения требуются качественные размеченные данные, которые трудно собирать, особенно для малораспространённых протоколов.
- Чувствительность к ресурсозатратам: Этот метод требует значительных вычислительных ресурсов, что замедляет процесс анализа в условиях больших объёмов данных.
- Низкая эффективность при маскировке и обфускации трафика: Протоколы, которые маскируют свои метаданные или постоянно изменяют паттерны трафика, могут значительно затруднить анализ, так как статистические модели будут показывать низкую точность.
В результате, традиционные методы, хоть и могут показывать высокую точность в некоторых случаях, имеют множество ограничений, что затрудняет их применение для классификации современных типов трафика.
Нейросетевой подход в распознавании маскируемого сетевого трафика
Наше исследование рассматривает возможности глубокого обучения как более точной и гибкой альтернативы традиционным методам. Мы реализовали модели на базе сверточных нейронных сетей (CNN) и архитектуры ResNet, адаптировав их для высокоточной классификации зашифрованного VPN и прокси-трафика.
Данные
Для классификации сетевого трафика использовался набор данных в формате Netflow 10 (IPFIX), созданный для стандартизации передачи IP-информации от экспортера к коллектору, поддерживаемый такими производителями, как Cisco, Solera, VMware, Citrix. Спецификации IPFIX приведены в RFC 7011–7015 и RFC 5103.
Сбор данных
Сбор данных осуществлялся с помощью машины с системой глубокой инспекции пакетов (DPI), подключенной к другим устройствам, создающим трафик через различные VPN. Это позволило зафиксировать уникальные IP и порты, генерируемые VPN с динамическими назначениями при блокировках. Таким образом был получен богатый массив уникальных комбинаций IP и портов для обучения модели нейронной сети.
Собранные данные включали следующие параметры:
Тип данных | Описание |
octet_delta_count | Входящий счетчик длиной N x 8 бит для количества байт, связанных с IP-потоком. |
packet_delta_count | Счетчик входящих пакетов длиной N x 8 бит для количества пакетов, связанных с IP-потоком. |
protocol_identifier | Байт IP-протокола. |
ip_class_of_service | Класс IP или услуги. |
source_port | Порт отправителя. |
source_ipv4 | IPv4 отправителя. |
destination_port | Порт получателя. |
destination_ipv4 | IPv4 получателя. |
bgp_source_as_number | Номер автономной системы источника BGP (N может быть 2 или 4). |
bgp_destination_as_number | Номер автономной системы назначения BGP (N может быть 2 или 4). |
input_snmp | Идентификатор виртуальной локальной сети, связанный с входящим интерфейсом. |
output_snmp | Идентификатор виртуальной локальной сети, связанный с интерфейсом выхода. |
ip_version | Версия протокола IPv4 или IPv6. |
post_nat_source_ipv4 | IPv4 нат источника. |
post_nat_source_port | Порт нат источника. |
frgmt_delta_packs | Дельта фрагментированных пакетов. |
repeat_delta_pack | Дельта ретрансляций. |
packet_deliver_time | Задержка (RTT/2), мс. |
protocol_code | Код протокола с использованием класса автономной системы для нейронной сети. |
Обработка данных перед обучением
Данные были разделены на обучающую (80%) и тестовую (20%) выборки. Применялась корректировка по классам для борьбы с дисбалансом, а также разметка на основе данных IPFIX для выделения конкретных классов.
Обучение
Нейронные сети обучались с использованием двух архитектур и подбора гиперпараметров. Соотношение классов протоколов в обучающей выборке:
Протокол | Соотношение |
DNS | 18.67% |
HTTP | 1.38% |
HTTPS | 16.27% |
DoH | 2.66% |
ICMP | 4.83% |
Bittorrent | 24.73% |
AdGuard VPN | 2.34% |
VPN Unlimited | 12.18% |
Psiphon 3 | 12.41% |
Lantern | 4.53% |
Тестирование
Модели оценивались на тестовом наборе с использованием метрик точности, полноты и F1-меры:
- Recall = TP / (TP + FN)
- Precision = TP / (TP + FP)
- F1 Score = 2 * Recall * Precision / (Recall + Precision)
где TP — истинно положительные, FN — ложноотрицательные, FP — ложноположительные классификации.
Эксперимент проводился на VPN, отличающихся диапазоном IP-адресов, что повысило объективность результатов. Модель с архитектурой ResNet продемонстрировала более высокую точность в классификации VPN-протоколов.
Результаты
Классическая сверточная нейронная сеть
Протокол | TP | FP | FN | F1 Score |
AdGuard VPN | 28 | 9 | 50 | 0.49 |
VPN Unlimited | 3 | 3 | 22 | 0.21 |
Psiphon 3 | 8455 | 160 | 399 | 0.97 |
Архитектура ResNet
Протокол | TP | FP | FN | F1 Score |
AdGuard VPN | 60 | 5 | 18 | 0.84 |
VPN Unlimited | 5 | 9 | 20 | 0.26 |
Psiphon 3 | 8847 | 1030 | 7 | 0.95 |
Архитектура ResNet показала более высокую эффективность в распознавании VPN-трафика и может служить надежной основой для задач классификации зашифрованного трафика.
Результаты экспериментов подтверждают, что архитектура ResNet, благодаря своей способности извлекать сложные признаки и гибким гиперпараметрам, превосходит классическую CNN в классификации зашифрованного сетевого трафика. Особенность ResNet – остаточные соединения, эффективно решающие проблему градиентного затухания в глубоких нейронных сетях – позволила модели добиться высокой точности классификации протоколов.
Заключение
В данной статье мы рассмотрели методы распознавания маскируемого сетевого трафика, охватывающие как классические, так и нейросетевые подходы. Традиционные методы предоставляют базовые возможности, но имеют ограничения в условиях динамически изменяющегося трафика и шифрования. Современные нейронные сети предлагают более высокую точность и гибкость, позволяя эффективно идентифицировать маскируемый трафик, даже когда классические методы оказываются неэффективными. Таким образом, переход к нейросетевым подходам обозначает значительный шаг вперед в области сетевой безопасности.