От классики к нейросетям: Исследуем потенциал глубокого обучения в распознавании маскируемого трафика

28 октября 2024
Технологии
От классики к нейросетям: Исследуем потенциал глубокого обучения в распознавании маскируемого трафика
Анализ и классификация сетевого трафика - одна из ключевых задач в обеспечении устойчивости и безопасности современных компьютерных сетей. В условиях растущих объемов данных и усложнения методов их шифрования, актуальность классификации сетевых потоков постоянно увеличивается.

Традиционные методы анализа сетевого трафика

Классификация сетевого трафика с помощью традиционных методов предполагает использование различных подходов, каждый из которых имеет свои сильные и слабые стороны. Рассмотрим основные методы и их ограничения, возникающие при обработке замаскированного и зашифрованного трафика.

  1. Метод Server Name Indication (SNI)

Метод SNI основывается на анализе информации о домене, которую шифрованное соединение передает в виде открытого текста при установлении TLS-сессии. Поскольку информация о доменном имени указывается в заголовке «Server Name» на этапе рукопожатия TLS, этот метод позволяет идентифицировать серверы и сервисы, даже если последующий трафик шифруется.

Ограничения метода SNI:

  • Недостаточная точность при маскировке портов и трансляции адресов: В случаях, когда IP-адреса и порты изменяются или используются обфусцированные адреса, точность снижается, так как связь между SNI и конкретным приложением может быть разорвана.
  • Невозможность идентификации при использовании VPN: SNI-заголовок становится недоступным для анализа, если трафик идет через VPN, так как он скрывается шифрованием туннеля.
  • Отсутствие данных для всех протоколов: Не все протоколы и приложения передают данные через TLS, а потому анализ на основе SNI не применим к ним.
  1. Инспекция полезной нагрузки (Payload Inspection)

Инспекция полезной нагрузки включает детальный анализ содержимого пакетов для выявления паттернов и особенностей, характерных для конкретного протокола или приложения. Этот метод позволяет с высокой точностью определять тип передаваемых данных и классифицировать их на основе содержимого.

Ограничения инспекции полезной нагрузки:

  • Затраты на вычислительные ресурсы: Анализ полезной нагрузки требует значительных ресурсов, так как предполагает изучение содержимого каждого пакета.
  • Проблемы с конфиденциальностью: Полный доступ к данным внутри пакета вызывает вопросы конфиденциальности, особенно при работе с личными или корпоративными данными.
  • Невозможность анализа зашифрованного трафика: Шифрование трафика (TLS или VPN) делает инспекцию содержимого пакетов невозможной, что снижает эффективность метода в современных условиях, где значительная часть трафика шифруется.
  1. Методы статистического машинного обучения

Методы статистического машинного обучения строят классификацию на основе различных метрик и характеристик трафика (таких как размеры пакетов, частота пакетов и временные интервалы между ними). Модели могут обучаться на статистических данных, что позволяет в ряде случаев эффективно идентифицировать определённые типы трафика.

Ограничения методов статистического машинного обучения:

  • Необходимость чистых и размеченных данных: Для успешной работы моделей статистического обучения требуются качественные размеченные данные, которые трудно собирать, особенно для малораспространённых протоколов.
  • Чувствительность к ресурсозатратам: Этот метод требует значительных вычислительных ресурсов, что замедляет процесс анализа в условиях больших объёмов данных.
  • Низкая эффективность при маскировке и обфускации трафика: Протоколы, которые маскируют свои метаданные или постоянно изменяют паттерны трафика, могут значительно затруднить анализ, так как статистические модели будут показывать низкую точность.

В результате, традиционные методы, хоть и могут показывать высокую точность в некоторых случаях, имеют множество ограничений, что затрудняет их применение для классификации современных типов трафика. 

Нейросетевой подход в распознавании маскируемого сетевого трафика

Наше исследование рассматривает возможности глубокого обучения как более точной и гибкой альтернативы традиционным методам. Мы реализовали модели на базе сверточных нейронных сетей (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 – остаточные соединения, эффективно решающие проблему градиентного затухания в глубоких нейронных сетях – позволила модели добиться высокой точности классификации протоколов. 

Заключение

В данной статье мы рассмотрели методы распознавания маскируемого сетевого трафика, охватывающие как классические, так и нейросетевые подходы. Традиционные методы предоставляют базовые возможности, но имеют ограничения в условиях динамически изменяющегося трафика и шифрования. Современные нейронные сети предлагают более высокую точность и гибкость, позволяя эффективно идентифицировать маскируемый трафик, даже когда классические методы оказываются неэффективными. Таким образом, переход к нейросетевым подходам обозначает значительный шаг вперед в области сетевой безопасности.

Мы используем файлы cookies для оптимизации функциональности сайта и улучшения качества услуг. Нажимая «Принять», вы даете согласие на работу с этими файлами. Чтобы узнать больше, пожалуйста, прочтите нашу Политику конфиденциальности.