Анализ сетевого трафика с использованием метода машинного обучения
Ускорение обработки огромных информационных массивов как одна из основных целей методики обнаружения вредоносного трафика с использованием анализа данных. Особенности настройки гиперпараметров алгоритма, который реализует метод машинного обучения.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 18.01.2021 |
Размер файла | 23,1 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
Размещено на http://www.allbest.ru
Анализ сетевого трафика с использованием метода машинного обучения
Черникова Е.И.
Аннотация: В статье приводится рассматривается и оценивается применение алгоритма машинного обучения «Случайный лес» для обнаружения вредоносного трафика в сети. Также даётся краткое описание алгоритма и объяснение, почему алгоритм может быть использован для анализа трафика.
Ключевые слова: анализ трафика, алгоритмы машинного обучения, случайный лес, сетевой трафик.
Abstract: The article describes and evaluates the use of the Random Forest machine learning algorithm for detecting malicious traffic on the network. It also provides a brief description of the algorithm and an explanation of why the algorithm can be used to analyze traffic.
Keywords: traffic analysis, traffic monitoring, machine learning algorithms, random forest, network traffic.
Одна из актуальных проблем при анализе сетевого трафика заключается в том, чтобы правильно отличать легитимный трафик от вредоносного или поддельного, что является одной из задач информационной безопасности в организациях.
C быстрым развитием информационных технологий появляются новые и более производительные методы, помогающие отличаться вредоносный трафик от не вредоносного, такие, как методы машинного обучения.
Обнаружение вредоносного трафика можно рассматривать как проблему классификации [1], так как её основная цель - определение, является ли поток вредоносным. Обнаружение вторжений с использованием анализа данных в последние годы вызывает все больший интерес. Одним из основных преимуществ такого подхода является ускорение обработки огромных массивов данных. Следовательно, в основе системы обнаружения вторжений быть использован алгоритм машинного обучения.
В рамках данной статьи будет рассмотрен один из алгоритмов, машинного обучения, который может быть использован для классификации трафика в сети - «Случайный лес».
В основе алгоритма [2] лежит идея построения определённого количества деревьев решений, которые тренируются при помощи метода бэггинга [3]. Для классификации нового объекта из входного вектора, объект обрабатывается всеми построенными деревьями решений. Каждое дерево классифицирует объект, что называется «голосованием». Лесом выбирается решение, имеющее наибольшее количество голосов (по всем деревьям в лесу).
Алгоритм построения случайного леса, состоящего из N деревьев, формально может быть описан следующим образом.
Для каждого п = 1,...,N:
1. сгенерировать выборку Хп с помощью метода бутстрэп;
2. построить решающее дерево Ьп по выборке Хп по следующему алгоритму:
а. по заданному критерию неоднородности выбирается лучший признак, и осуществляется разбиение в дереве по нему до исчерпания выборки или до выполнения условий остановки;
б. при каждом разбиении выбирается т случайных признаков из п исходных. Для задач классификации т = fn.
3. Итоговый классификатор принимает решение голосованием по большинству в случае решения задачи классификации.
Обучение и настройка алгоритма «Случайный лес» включается в себя следующие действия:
1. Выбор и обработка набора обучающих данных;
2. Добавление в классы с наименьшим количеством данных
дополнительных образцов (resampling) или уменьшение классов с наибольшим количеством образцов(undersampling);
3. Выбор гиперпараметров для улучшения эффективности работы алгоритма (число деревьев, число признаков для выбора расщепления, минимальное число объектов, при котором выполняется расщепление, максимальная глубина деревьев).
Для обучения алгоритма использовались свежие данные 2017 и 2018 годов с сайта Канадского института кибербезопасности [4], [5]. Все данные представлены в формате csv и имеют примерно одинаковое количество признаков и содержат одинаковые виды атак.
Наборы данных содержат доброкачественные и самые современные распространенные атаки, которые отражают реальные данные (собирались pcap-файлы). Затем собранные в формате pcap данные при помощи программы CICFlowMeter [6] конвертировались в csv-файлы, которые содержат 80 признаков для характеристики каждого потока, сформированного на основе временной метки, IP источника, IP адреса и портов, и присвоенных меток классов.
Изначальное соотношение меток классов атак для всех записей в наборе данных представлено в таблице 1.
Можно сделать вывод о необходимости удаления излишних записей класса Benignи добавления записей класса WebAttack и DoSSlowloris.
Табл. 1
Название метки класса |
Количество записей |
|
Benign |
12615805 |
|
Bot |
286191 |
|
Web Attack |
3108 |
|
DoSGoldenEye |
51801 |
|
DoSSlowloris |
16786 |
|
DDoS LOIC |
577921 |
|
DDoS HOIC |
686012 |
|
FTP-Patator |
201289 |
|
SSH-Patator |
193486 |
|
DoS Hulk |
461912 |
|
DoSSlowhttptest |
145389 |
Исходя из описанных отношений меток классов перед началом обучения и настройки алгоритма необходимо, насколько возможно, сбалансировать классы в данных для обучения.
Было решено сократить количество записей с меткого класса Benignдо 300000 записей, увеличить количество записей с метками DoSSlowloris и WebAttack до 100000.
Табл. 2
Глубина дерева/ Число признаков /Кол-во реш. дер. |
R-m |
Pm |
Pi |
||
{'max depth' |
10, 'max features': 'sqrt', 'n estimators': 10} |
0.95 |
0.97 |
0.96 |
|
{'max depth' |
10, 'max features': 'sqrt', 'n estimators': 50} |
0.95 |
0.97 |
0.96 |
|
{'max depth' |
10, 'max features': 'sqrt', 'n estimators': 100} |
0.96 |
0.97 |
0.95 |
|
{'max depth' |
10, 'max features': None, 'n estimators': 10} |
0.96 |
0.96 |
0.95 |
|
{'max depth' |
10, 'max features': None, 'n estimators': 50} |
0.96 |
0.96 |
0.95 |
|
{'max depth' |
10, 'max features': None, 'n estimators': 100} |
0.96 |
0.96 |
0.95 |
|
{'max depth' |
20, 'max features': 'sqrt', 'n estimators': 10} |
0.96 |
0.97 |
0.96 |
|
{'max depth' |
20, 'max features': 'sqrt', `n estimators': 50} |
0.96 |
0.97 |
0.95 |
|
{'max depth' |
20, 'max features': 'sqrt', `n estimators': 100} |
0.97 |
0.97 |
0.96 |
|
{'max depth' |
20, 'max features': None, `n estimators': 10} |
0.96 |
0.97 |
0.96 |
|
{'max depth' |
20, 'max features': None, `n estimators': 50} |
0.96 |
0.97 |
0.96 |
|
{'max depth' |
20, 'max features': None, `n estimators': 100} |
0.96 |
0.97 |
0.96 |
Для настройки гиперпараметров алгоритма были выбраны следующие показатели:
1. Глубина дерева: 10, 20;
2. Количество решающих деревьев: 10,50,100;
3. Число признаков для выбора расщепления: sqrt(n) или n, где n- количество признаков.
В результате использования встроенной функции библиотеки машинного обучения, которая перебирает все комбинации параметров между собой и при помощи кросс-проверки оценивает эффективность алгоритма, были получены следующие результаты (таблица 2).
Основываясь на полученных данных, для обучения алгоритма были выбраны следующие гиперпараметры: глубина дерева - 20, число признаков для расщепления - sqrt(n), количество решающих деревьев - 100.
Для обучения и оценки данные использовались в процентном соотношении 70 на 30, где 70 - отводилось на обучения, 30 - на тестирование.
В результате оценки эффективности были получены следующие результаты метрик:
вредоносный трафик информационный алгоритм
Recall=0.89 Prescision=0.85 Fi= 0.86
В ходе анализа матрицы ошибок было выявлено, что самая большая ошибка классификации происходит при определении атаки DoSSlowhttptest - почти половина её записей определяется алгоритмом как FTP-Patator. Количество узлов, принятых за вредоносные, которые таковыми не являются - 5337 из 4161965. Количество узлов, принятых за невредоносные, которые таковыми не являются -193 из 4156821, что свидетельствует о хороших результатах.
Исходя из полученных выше оценок и анализа матрицы ошибок, алгоритм имеет хороший показатели и может быть использован для дальнейшей работы.
Литература
1. Classification Techniques for Intrusion Detection [Эл. ресурс].- Режим доступа: http://citeseerx.ist.psu.edu/- (Дата обращения: 19.11.2018);
2. RandomForests/ LeoBreiman// [Электронный ресурс]. - Режим доступа: https://www.stat.berkeley.edu/~breiman/randomforest2001.pdf.
3. Лекции по алгоритмическим композициям / К. В. Воронцов // [Электронный ресурс]. - Режим доступа: http://www.machinelearning.ru/wiki/-(Дата обращения 18.03.2019);
4. Intrusion Detection Evaluation Dataset (CICIDS2017) [Электронный ресурс]. - Режим доступа: https://www.unb.ca/cic/datasets/ids-2017.html- (Дата обращения 18.04.2019);
5. CSE-CIC-IDS2018 onAWS [Электронный ресурс]. - Режим доступа: https://www.unb.ca/cic/datasets/ids-2018.html- (Дата обращения 18.04.2019);
6. Analyzenetworktrafficflows. [Электронный ресурс]. - Режим доступа: http://www.netflowmeter.ca (Дата обращения 18.04.2019)
Размещено на Allbest.ru
...Подобные документы
Необходимые условия экстремума. Разработка машинного алгоритма и программы многомерной оптимизации для градиентного метода с использованием метода равномерного поиска. Проверка необходимых и достаточных условий экстремума для найденной точки минимума.
курсовая работа [249,8 K], добавлен 25.09.2013Искусственные нейронные сети как одна из широко известных и используемых моделей машинного обучения. Знакомство с особенностями разработки системы распознавания изображений на основе аппарата искусственных нейронных сетей. Анализ типов машинного обучения.
дипломная работа [1,8 M], добавлен 08.02.2017Исследование основ метода движения трафика в сети. Ознакомление с IP адресацией и IP пакетами, протоколами. Определение понятия и функций сокета. Создание программного приложения мониторинга трафика (поступления и отправки пакетов между абонентами).
курсовая работа [474,7 K], добавлен 20.04.2015Обзор области генерации сетевого трафика. Описание выбранных методов, моделей, алгоритмов решения задач. Создание модели поведения пользователя, распределение количества посещённых страниц сайта. Выбор средств реализации программного продукта (проекта).
курсовая работа [1,3 M], добавлен 30.06.2017Способ моделирования сетевого трафика случайным точечным процессом. Ступени разработки моделей процессов в сети. Определение статистик числа отсчетов на интервалах. Принятое в теории фрактальных процессов обозначение интенсивности точечного процесса.
контрольная работа [5,6 M], добавлен 14.12.2015Обработка текстовых данных, хранящихся в файле. Задачи и алгоритмы обработки больших массивов действительных и натуральных чисел. Практические задачи по алгоритмам обработки данных. Решение задачи о пяти ферзях. Программа, которая реализует сортировку Шел
курсовая работа [29,2 K], добавлен 09.02.2011Защита беспроводных соединений с использованием протоколов WPA, WEP. Контроль за аутентификацией пользователей и кодированием сетевого трафика. Глушение клиентской станции. Угрозы криптозащиты. Анонимность атак. Протоколы безопасности беспроводных сетей.
контрольная работа [38,3 K], добавлен 23.01.2014Методы машинного обучения в задачах рубрикации, положительные и отрицательные примеры. Отсечение по центрам тяжести и ближайшим соседям. Оптимальный линейный сепаратор Support Vector Machines. Особенности применения тезауруса. Расчет веса конъюнкции.
лекция [405,0 K], добавлен 01.09.2013Анализ модели политики безопасности. Программы сетевого общения (Instant Messengers и чаты). Удаление информации без возможности восстановления. Устройства хранения, файловые системы, уязвимости. Пример защиты ПК методом фильтрации сетевого трафика.
курсовая работа [97,2 K], добавлен 17.12.2015Организация файлов и доступ к ним. Файловые операции. Программирование с использованием встроенных функций ввода-вывода; линейных, разветвляющихся и циклических вычислительных процессов с использованием If-else, оператора выбора Case; массивов и матриц.
курсовая работа [5,8 M], добавлен 24.05.2014Решение по информационной безопасности. Системы для датацентров. Что такое оборудование центра обработки данных. Основные понятия и принципы моделирования. Выбор метода решения задач. Метод допустимых направлений Зойтендейка, алгоритм Франка–Вульфа.
курсовая работа [57,3 K], добавлен 18.05.2017Использование классификаторов машинного обучения для анализа данных. Создание модели, которая на основании параметров, влияющих на течение диабета, выявляет показатель возвращения больного в ухудшенное состояния после оказанного лечения (реадмиссию).
дипломная работа [625,2 K], добавлен 10.06.2017Современные подходы к организации транспортных сетей, принцип передачи потока данных, технология и механизм работы VPLS. Сравнительный анализ туннелей MPLS и обычных туннелей VPN. Анализ распределения трафика на основе методов трафика инжиниринга.
курсовая работа [1,0 M], добавлен 12.11.2011Моделирование системы массового обслуживания. Анализ зависимости влияния экзогенных переменных модели однофазной одноканальной СМО на эндогенные переменные. План машинного эксперимента множественного регрессионного анализа и метода наименьших квадратов.
лабораторная работа [107,5 K], добавлен 15.06.2010Історія машинного перекладу як науково-прикладного напряму. Теорія машинного перекладу. Особливості використання систем, орієнтованих на персональні комп’ютери. Напрямки розвитку та застосування машинного перекладу. Приклади систем машинного перекладу.
реферат [21,5 K], добавлен 19.02.2011Изучение понятия и основных видов массивов. Ввод массива с клавиатуры и вывод на экран. Сортировка массивов. Метод простых обменов (пузырьковая сортировка). Сортировка простым выбором и простым включением. Решение задач с использованием массивов Паскаля.
курсовая работа [82,1 K], добавлен 18.03.2013Разработка программы для решения инженерных задач с использованием функций, процедур и сложных типов данных, в том числе динамических массивов и объединений. Интерфейс ввода/вывода. Схемы алгоритмов отдельных подзадач. Технические требования к программе.
курсовая работа [60,7 K], добавлен 26.11.2012Система компьютерной обработки данных для сбора, систематизации, статистической обработки, анализа результатов учебного процесса за четверть, полугодие, год. Модуль обработки данных о качестве обучения, итогов успеваемости и данных о движении учащихся.
реферат [22,5 K], добавлен 05.02.2011Термины "логический" и "физический" как отражение различия аспектов представления данных. Методы доступа к записям в файлах. Структура систем управления базами данных. Отличительные особенности обработки данных, характерные для файловых систем и СУБД.
лекция [169,7 K], добавлен 19.08.2013Популярность алгоритмов машинного обучения для компьютерных игр. Основные техники обучения с подкреплением в динамической среде (компьютерная игра "Snake") с экспериментальным сравнением алгоритмов. Обучение с подкреплением как тип обучения без учителя.
курсовая работа [1020,6 K], добавлен 30.11.2016