УДК 004

Кластеризация сетевого трафика методами машинного обучения

Совертека Захар Константинович – студент факультета «Информатика и системы управления» Московского государственного технического университета им. Н.Э. Баумана

Воронин Сергей Михайлович – студент факультета «Информатика и системы управления» Московского государственного технического университета им. Н.Э. Баумана

Березин Андрей Дмитриевич – студент факультета «Информатика и системы управления» Московского государственного технического университета им. Н.Э. Баумана

Научный руководитель Бонч-Бруевич Андрей Михайлович – кандидат технических наук, доцент факультета «Информатика и системы управления» Московского государственного технического университета им. Н.Э. Баумана

Аннотация: В работе проведено исследование использования искусственного интеллекта для кластеризации различных протоколов прикладного уровня сетевого трафика между двумя хостами. Сетевым трафиком можно назвать объем данных, переданных между двумя устройствами за конечный отрезок времени. Эти данные могут быть разного вида: аудио, видео, пакеты сетевых протоколов, сообщения. В тоже время трафик может быть вредоносным, неприемлемым и нарушающим политику, выходящим за рамки обычных бизнес-процессов. Все это может ставить под угрозу активы организации, влиять на продуктивность ее сотрудников. Машинное обучение (МО) – это метод искусственного интеллекта, который позволяет компьютерам, без участия людей обнаруживать связь между свойствами объекта анализа и искомого значения в данных и использовать ее для принятия решений или выполнения трудоемких задач. Одним из основных достоинств машинного обучения, при достаточной обученности модели, является возможность быстро замечать малейшие изменения в рядовом поведении пользователя, которые могли бы быть интерпретированы, как опасные действия ведущие к эксплуатации уязвимостей. В работе был рассмотрен метод кластеризации трафика. При этом требуется разделить набор данных на обучающую и тестовую выборку. Разбиение необходимо для понимания того, что модель может работать с любыми входными значениями. Для обучения модели машинного обучения использовалась обучающая выборка. Данный шаг используется для подбора коэффициентов существующего алгоритма МО. Следующий этап состоит в проверке на эффективность созданной модели. С помощью тестовой выборки определяем величину ошибки ранее выбранного метода. В итоге программа выводит новые кластеры данных, которые соответствуют протоколам прикладного уровня сетевого трафика. Интегрирование решений, основанных на кластеризации сетевого трафика в информационные системы, поможет не только обезопасить сети и сократить время принятия решения для предотвращения попадания в сеть вредоносного трафика, но и выявить новые угрозы.

Ключевые слова: кластеризация, сетевой трафик, машинное обучение, кластер, F1-мера, сетевая безопасность, метрики.

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

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

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

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

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

Задачу кластеризации можно определить следующим образом:

Пусть имеется множество исследуемых объектов, каждый из которых характеризуется множеством атрибутов. Требуется разбить данное множество на группы (кластеры), атрибуты которых имеют сходные значения (либо взаимосвязаны). В качестве атрибутов сетевых данных могут использоваться средняя длина пакета, средняя продолжительность, размер потока и т.д. Объектом будут являться сетевые потоки, состоящие из последовательности сетевых пакетов, которыми обменивается пара узлов с целью межпроцессного взаимодействия через компьютерные сети.

Общую схему работы большинства методов кластеризации можно расписать по определённым этапам:

Подготовка данных

На данном этапе аналитик занимается обработкой только что полученного набора данных. Сюда можно отнести:

  • очистку объектов исследования;
  • заполнение пустых ячеек;
  • избавление от неопределенных данных;
  • деление на обучающую и тестовую выборку.

Так как неполные данные не представляют из себя ценности, то их лучше убрать. Это позвол

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

Определение значений меры сходства между объектами

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

  • Евклидово расстояние (геометрическое расстояние в многомерном пространстве);
  • Расстояние Чебышева (полезно, когда нужно определить объекты как «различные»);
  • Манхеттеновское расстояние (расстояние средних разностей по координатам. Не подвержено большим выбросам переменных).

Если значения выборки не удается отобразить на координатной плоскости, то их приводят к численному виду.

Выбор метода кластеризации

На данном этапе аналитик выбирает метод кластеризации, либо их совокупность, например:

  • Иерархический (мало кластеров, возможно ограничение связей);
  • K-средних (универсальный, любой размер кластеров, плоская геометрия, не слишком много кластеров);
  • Агломеративная кластеризация (Мало кластеров, возможно ограничение связей и не Евклидовое расстояние).

Применение метода кластеризации для создания групп сходных объектов

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

Проверка достоверности результатов кластерного решения

На данном этапе оценивается итог реализации модели кластеризации. Делается это с помощью метрик (например, F-мера), которые показывают, насколько хорошо модель машинного обучения справилась со своей задачей (выделила кластеры данных).

image001

Рисунок 1. Работа методов кластеризации.

В итоге кластеризатор смог определить следующие приложения:

  • HTTP;
  • SSH;
  • POP3;
  • FTP;
  • IMAP;
  • DNS;
  • SMTP;
  • XMPP;

Типом «OTHER» помечались узконаправленные приложения, такие как RTP, RSTP, NNTP. То, что он не смог ни к чему отнести, идентифицировались как тип «UNKNOWN».

Данные погрешности и большое количество элементов в классах OTHER и UNKNOWN могли быть вызваны несоответствием кластеров с шаблонами, а также нехваткой информации об определенных приложениях.

Для определения эффективности алгоритма можгут быть использованы следующие метрики: точность, полнота и F1-мера:

;image002image003image004

 image005

Рисунок 2. Матрица ошибок.

Матрица ошибок используется для подсчета полноты и точности, а также показывает, какой порог оптимален для отнесения объектов к определенному классу.

image006

Рисунок 3. Показатели точности.

На рисунке 3 отображены показатели точности использующихся алгоритмов кластеризации. Строился график по количеству взятых кластеров (ось X) и по вероятности правильного прогноза (ось Y). По графику видно, что точность выше у RF – кластеризации. При увеличении количества кластеров точность сильно не меняется, поэтому оптимальным числом кластеров является 200 шт.

image007

Рисунок 4. F1-мера.

По рисунку 4 можно понять, что наибольшую эффективность алгоритм имеет для данных, относящихся к DNS трафику. Чем больше F1-мера, тем безошибочнее кластеризатор относит случайный объект к данному кластеру. 

На практике реальное количество кластеров неизвестно и выбора оптимального решения добиться не получится. Проблема состоит в том, что выявленные приложения предназначены не для одной цели, как например протокол HTTP. Слишком большое количество кластеров увеличит точность кластеризации, но при этом создаст кластеры, которые не будут использованы, а также увеличит вычислительные затраты и время работы алгоритма. В то время как недостаточное количество кластеров может пропустить важные для анализа приложения.

 Конечно же кластеризация является не единственной задачей машинного обучения. Помимо неё существуют и другие задачи:

  • задача регрессии
  • задача классификации
  • задача определение взаимосвязей
  • анализ последовательностей
  • анализ отклонений

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

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

Список литературы

  1. Анализ сетевого трафика в режиме реального времени: обзор прикладных задач, подходов и решений, А.И. Гетьман, Е.Ф. Евстропов, Ю.В. Маркин // ИСПРАН, 109004, Россия, г. Москва, ул. А. Солженицына, дом 25. – 52 с.
  2. Дж. Грас – Data Science. Наука о данных с нуля, 2-е издание, Пер. с англ. – СПб. : БХВ – Петербург, 2021. – 416 с.
  3. Рашка Себастьян, Вахид Мирджалили – Python и машинное обучение: машинное и глубокое обучение с использованием Python, scikit-learn и TenserFlow 2, 3-е издание, Пер. с англ. – СПб. : ООО «Диалектика», 2020. – 848 с.
  4. Обзор методов классификации сетевого трафика с использованием машинного обучения, А.И. Гетьман, М.К. Иконникова // 109004, Россия, г. Москва, ул. А. Солженицына, д. 25. , 2020. – 137 c. – 154 с.

Интересная статья? Поделись ей с другими: