СРАВНИТЕЛЬНЫЙ АНАЛИЗ АЛГОРИТМОВ МАШИННОГО ОБУЧЕНИЯ ДЛЯ ПРОВЕДЕНИЯ КЛАССИФИКАЦИИ СЕТЕВОГО ЗАШИФРОВАННОГО ТРАФИКА
Костин Денис Владимирович,
ассистент кафедры "Информационная безопасность и автоматизация", Московский технический университет связи и информатики, Москва, Россия, [email protected]
Шелухин Олег Иванович,
Заведующий кафедрой "Информационная безопасность и автоматизация", профессор, д.т.н.,
Московский технический университет связи и информатики, Москва, Россия, [email protected]
Ключевые слова: классификация трафика, зашифрованный трафик, машинное обучение, система обнаружения вторжений.
Рассмотрена классификация сетевого зашифрованного трафика Skype, Tor, PuTTY (SSHv2), CyberGhost (VPN) по типам приложений для обнаружения угроз безопасности методами машинного обучения с использованием алгоритмов Naive Bayes, C4.5, AdaBoost и Random Forest. Для проведения анализа было собранно более двух миллионов сетевых пакетов от четырёх приложений, передающих зашифрованный трафик: Skype, Tor, PuTTY (SSHv2), CyberGhost (VPN), после чего были сформированы обучающая и тестовая выборки. В качестве алгоритмов машинного обучения выбраны алгоритмы Naive Bayes, C4.5, AdaBoost и Random Forest, как наиболее известные и использующие различные подходы на этапе обучения. Для оценки качества классификатора использовались такие критерии, как точность, полнота, F-мера и ROC AUC. Целью работы является сравнительный анализ эффективности алгоритмов классификации зашифрованного трафика методами машинного обучения. Pассматривались два различных подхода проведения классификации: формирование и анализ потоков для сетевых пакетов, чьи IP-адреса отправителя/получателя и сетевой протокол совпадают, а также перехват и анализ каждого сетевого пакета. При использовании каждого подхода были выделены различные атрибуты, по которым проводилась классификация.
Для работы в режиме реального времени графически показана зависимость эффективности классификатора от количества сетевых пакетов в потоке. Для оценки эффективности предложенного классификатора в различных условиях, дополнительно были собраны сетевые пакеты в другой сети, после чего уже обученный классификатор был вновь протестирован. Полученные результаты могут быть использованы для построения классификаторов трафика и систем обнаружения вторжений, эффективно обрабатывать зашифрованный трафик, используемый различными сетевыми приложениями.
Для цитирования:
Костин Д.В., Шелухин О.И. Сравнительный анализ алгоритмов машинного обучения для проведения классификации сетевого зашифрованного трафика // T-Comm: Телекоммуникации и транспорт. - 2016. - Том 10. - №9. - С. 43-52.
For citation:
Kostin D.V., Sheluhin O.I. Comparison of machine learning algorithms for encrypted traffic classification. T-Comm. 2016. Vol. 10. No.9, рр. 43-52. (in Russian)
Постановка задачи
Угрозы, вызванные атаками на распределенные компьютерные сети, такие как Интернет, требуют эффективных методов их выявления и реагирования. Наибольшую проблему вызывают атаки, имеющие аномальное поведение в характеристиках выбранного пакета атрибутов телекоммуникационного трафика [1,2]. Одним из направлений разработки систем обнаружения вторжений является классификация сетевого трафика, позволяющая осуществлять контроль качества обслуживания, эффективно управлять пропускной способностью канала. В настоящий момент наиболее популярны два метода классификации сетевого трафика: анализ номеров портов пакетов транспортного уровня OSI и анализ полезной нагрузки пакетов.
Анализ портов один из самых простых и быстрых методов определения типов приложений, однако, всё чаще приложения используют динамическое распределение портов, то есть один и тот же порт может быть использован различными приложениями. Обычно динамическое распределение используется приложениями для обхода брандмауэров и других систем защиты, что негативно сказывает на точности классификации, которая составляет 30-70% [3].
Метод анализа полезной нагрузки пакетов (Deep Packet Inspection, DPI) имеет более высокую точность работы и основывается на поиске меток среди служебных полей пакета, которые смогут однозначно отнести сетевой поток к определённому приложению [4]. Данный метод имеет высокую степень распространения, однако, tie учитывает возможность шифрования полезной нагрузки пакета, что сведёт на пет любые попытки поиска меток.
С недавнего времени активно развивается идея классификации трафика с помощью методов машинного обучения. Суть данного подхода заключается в выделении определённых атрибутов у сетевых пакетов (потоков) и формировании на их основе обучающей выборки, которая подаётся на вход специальным алгоритмам для обучения. Обученные алгоритмы смогут с определённой точностью определить тип приложения без использования анализа портов или поиска меток среди полезной нагрузки. Поэтому несомненным преимуществом данного метода можно считать возможность классификации зашифрованного трафика, что может быть полезно для обнаружения вредоносных приложений, передающих зашифрованные сетевые пакеты, а также других сетевых приложений, нарушающих политику информационной безопасности организации.
Целью работы является сравнительный анализ эффективности алгоритмов классификации Naive Bayes, С4.5, AdaBoost и Random Forest сетевого зашифрованного трафика Skype, Tor, PuTTY (SSHv2), CyberGhost (VPN) по типам приложений для обнаружения угроз безопасности методами машинного обучения.
Критерии оценки эффективности классификации
Для оценки эффективности алгоритмов классификации обычно используются следующие показатели: точность, полнота (также называемая True Positive Rate, TPR) и F-мера [5, 6]. После проведения классификации возможно получение четырёх видов результатов: TP (True Positive - Истинно положительный), TN (True Negative - Истинно огрицатель-ный), FP (False Positive - Ложно положительный), FN {False
Negative - Ложно отрицательный). Поясним значение данных терминов на примере приложения Skype в котором: TP - текущее приложение классифицировано как Skype, и оно таковым является; TN - текущее приложение не является Skype и классифицировано как не Skype; FP - текущее приложение не Skype, ею классифицировано как Skype; FN -текущие приложение Skype, ею классифицировано как tie Skype. Тогда, для оценки точности следует воспользоваться следующей формулой
(1)
TP
Р = -
TP+FP
Полнота может быть оценена по формуле TP
R = TPR - -
(2)
TP+FN
Получила распространение также F-мера (сбалансированная F-мера, мера Ван Ризбергена), которая используется как единая метрика, объединяющая полноту и точность [7]. Она вычисляется как гармоническое среднее полноты и точности:
/г PR (31
F-мера = 2--->
P + R
Наряду с изложенными в дальнейшем будет использоваться параметр, обозначаемый как False Positive Rate (FPR), рассчитываемый по формуле (4):
(4)
FPR =-
FP
FP+TN
Для визуального анализа качества классификатора удобно воспользоваться ROC-кривой (receiver operating characteristic) — кривой, которая показывает зависимость TPR от FPR при изменении некоторого порога ы, который часто может быть представлен каждым последующим значением в используемой выборке [5]. При этом кривая всегда берёт своё начало в точке (0;0) и заканчивает в точке (1;1). Важной характеристикой ROC-кривых является AUC (Area Under Curve), которая соответствует площади под кривой. Чем больше AUC, тем лучше классификатор. В идеальном случае AUC = 1.
Формирование и характеристики используемых
наборов данных
Особенности классификации зашифрованного трафика рассмотрены для четырёх приложений: Skype, Tor, PuTTY (SSHv2), CyberGhost (VPN). На рисунке 1 представлена структурная схема сети, использованная для сбора сетевых пакетов исследуемых приложений. Пунктирными стрелками отображена основанная сеть (сеть 1), которая имеет локальное обращение к серверу SSH и удалённое обращение через сеть интернет к серверам приложений Skype, Тог и VPN. Сплошными стрелками отображения дополнительная сеть (сеть 2), которая имеет удалённое обращение ко веем серверам приложений. Дополнительная сеть используется для анализа возможности классификации трафика при обучении в основной сети, но тестировании в другой сети. Каждая сеть имеет клиентский компьютер с базой данных (БД) для выполнения и получения сетевых запросов и ответов, сетевые пакеты которых записываются в базу данных.
В таблицах 1 и 2 приведены числовые характеристики собранных сетевых пакетов для обучающей и двух тестовых выборок, выборки были использованы для классификации трафика па основе анализа каждого сетевого пакета.
Клиент 2 с 6Д
Таблица 3
а
I
Клиент 1 с БД
Удалённые серверы Skype, Tor, VPN
Ur
Интернет
Г
----Сеть 1
- Сеть 2
Ч, Э5Н-сервер
Рис, I. Структурная с\сма сети для сбора сетевых пакетов
Таблица 1
Характеристика используемого набора данных по типу трафика при анализе сетевых пакетов
Тип Кол-во пакетов Кол-во Кол-во
трафика в обучающей пакетов пакетов
выборке (сеть в тестовой в тестовой
1) выборке (сеть 1 ) выборке (сеть 2)
TCP 1518492 145738 204505
(62.76%) (41.99%) (50.16%)
UDP 901044 201316 203198
(37.23%) (58%) (49.84%)
Другой 106 (0.01%) 30(0.01%) 0 (0%)
Всего 2419642 347084 407703
Таблица 2
Характеристика используемого набора данных по типу приложения при анализе сетевых пакетов
Приложение Кол-во Кол-во Кол-во
пакетов пакетов пакетов
в обучающей в тестовой в тестовой
выборке (сеть i ) выборке (сеть 1 ) выборке (сеть 2)
Skype 398099 100897 102043
(16.45%) (29.07%) (25.03%)
Tor 398121 30794 100302
(16.46%) (8.87%) (24.6%)
PuTTY(SSHv2) 1093239 (45.18%) ! 14944 (33.12%) 104203 (25.56%)
CyberG-liosl(VPN) 530183 (21.91%) 100449 (28.94%) 101155 (24.81%)
Для того чтобы произвести классификацию на основе формирования сетевых потоков, с помощью разработанного программного обеспечения уже собранные сетевые пакеты (табл. 1) были преобразованы и потоки. В таблицах 3 и 4 приведены численные характеристики использованных сетевых потоков.
Характеристика используемого набора данных по типу трафика при анализе сетевых потоков
Тип потока Кол-во потоков в обучающей выборке (сеть 1 ) Кол-во потоков в тестовой выборке (сеть 1)
TCP 1976(72.86%) 101 (45.09%)
UDP 736(27.14%) 123(54.91%)
Всего 2712 224
Таблица 4
Характеристика используемого набора данных по типу приложения при анализе сетевых потоков
Приложение Кол-во потоков в обучающей выборке (сеть 1 ) Кол-во потоков в тестовой выборке (сеть 1}
Skype 789(29.09%) 81 (36.16%)
Tor 647(23.86%) 49 (21.88%)
PuTTY(SSHv2) 670(24.71%) 52(23.21%)
CybcrGliost(VPN) 606 (22.34%) 42(18.75%)
В работе реальной сети могут использоваться не только вышеуказанные приложения, но и многие другие, которые будут выполнять роль шума (фона) при работе классификатора. Для тестирования классификатора в условиях подобного «шума», были дополнительно собраны сетевые пакеты от различных приложений, характеристики которых приведены в таблицах 5 и 6. Для «фонового» трафика в выборках определён отдельный класс, промаркированный «Unknown» («Неизвестное»).
Таблица 5
Характеристика используемого набора «фоновых» данных по типу трафика при анализе сетевых потоков
Тип потока Кол-во потоков Кол-во потоков
в обу чающей выборке в тестовой выборке
(сеть 1 ) (сеть 1)
TCP 737(78.32%) 451 (73.57%)
UDP 204 {21.68%) 162 (26.43%)
Всего 941 613
Таблица б
Характеристика используемого набора «фоновых» данных по типу трафика при анализе сетевых пакетов
Тип потока Кол-во потоков Кол-во потоков
в обучающей выборке в тестовой выборке
(сеть 1 ) (сеть 1 )
TCP 199723 (33.38%) 77088 (35.05%)
UDP 398524 (66.62%) 142854(64,95%)
Всего 598247 219942
Алгоритмы машинного обучения
В качестве алгоритмов машинного обучения исследовались алгоритмы Naive Bayes, С4.5, AdaBoost п Random Korest.
]) Naive Bayes (наивный байесовский классификатор) - классификатор, построенный на основе теоремы Банеса с предположением о статистической независимости используемых атрибутов [6].
Видно, что наилучшие результаты получены при использовании алгоритма Random Forest и AdaBOost, показатели точности, полноты, F-меры и ROC AUC которых совпадают и составляют 97.7, 97.5, 97.5 и 100% соответственно.
На рисунке 4 приведены ROC кривые тестируемых приложений для исследуемых алгоритмов. Лучшие результаты достигнуты при использовании алгоритмов Random Forest и A da Boost, так как кривые проходят через верхний левый угол, то есть площадь под кривой (AUC) близка к I. Анализ формы кривых для алгоритмов Naive Bayes и С4.5 показывает, что алгоритмы хуже всего классифицируют трафик Тог и SSH.
Можно заметить, что ограниченный захват пакетов положи* тельно сказался на эффективности классификатора и превосходит показатели при захвате всех пакетов, принадлежащих сетевому потоку. Наилучшие результаты достигаются при формировании потоков, состоящих из 14 сетевых пакетов, как это видно из рис. 5. При этом условии наблюдается абсолютная точность классификации по всем показателям. Тем не менее, для надёжной классификации на уровне 99% точности достаточно сформировать поток состоящий всего из грех сетевых пакетов. В результате может быть достигнуто высокое быстродействие анализа в режиме реального времени.
'il"
FPR
в} Random Forní
ri Atfí &OC-ST
Рис. 4. ROC кривые тестирования алгоритмов классификации для алгоритмов: a) Naive Bayes: б) С4.5; в) Random Forest; г) AdaBoost
Несмотря на высокие результаты, метод, основанный на формировании и анализе сетевых потоков, имеет следующий недостаток: для проведения классификации необходимо захватить все пакеты сетевого потока, что усложняет анализ данных в режиме реального времени. Однако, данный недостаток может быть частично устранён, если захватывать не все пакеты, принадлежащие сетевому потоку, а лишь некоторое количество.
Проведём анализ зависимости количества пакетов в сетевом потоке от эффективности классификатора. Для этого сформируем обучающие и тестовые выборки при количестве пакетов в сетевом потоке от 2 до 20 . При большем количестве пакетов возникают существенные задержки при анализе трафика в режиме реальною времени. В качестве алгоритма машинного обучения использован алгоритм Random Forest, показавший лучшие результаты по предыдущим тестам.
На рисунке 5 отображены полученные в результате эксперимента кривые зависимости точности, полноты, F-меры и показателя ROC AUC в зависимости от количества пакетов в потоке. При этом кривые полноты и F-меры совпадают.
lit- — О— О- -Ö--® -Ö---0 -Ö- -Ö --» -
jeu
1
osea
- TOWOCTV
- + - Пата ta
* F-uûpii
о HOC AUC
FPR
1
Рис. 5. Зависимость точности, полноты, F-меры н ROC AUC от количества пакетов и сетевом потоке
Исследована эффективность применения данного метода при обучении классификатора в одной сети, но тестировании в другой. Для этого была сформирована обучающая и тестовая выборки для сетевых потоков, состоящих из 3 и 14 пакетов для трафика собранного в другой сети (сети 2). Характеристики использованных выборок приведены в таблицах 7 и 8. В таблице 9 представлены результаты классификации алгоритмом Random Forest для трёх пакетов, а в таблице 10 для четырнадцати пакетов. Как и следовало ожидать, в случае классификации потоков, состоящих из 14 пакетов, эффективность классификации повышается. Полученные результаты говорят о применимости данного метода при обучении в одной сети, а тестировании в другой, так как показатели точности, полноты, F-меры п ROC AUC остаются достаточно высокими.
Таблица 7
Характеристика используемого набора данных но типу трафика при анализе сетевых потоков
Тип Кол-во потоков Кол-во потоков
потока в обучающей выборке (сеть 1) при в тестовой выборке (сеть 2) при
3 пакетах I4 пакетах 3 пакетах 14 пакетах
TCP 502839 106224 68115 14548
(62.71%) (62.56%) (50.26%) (50.23%)
UDP 299015 63576 67406 14414
(37.29%) (37.44%) (49.74%) (49.77%)
Всего 801854 169800 135521 28962
7Т>
Таблица 11
Результаты классификации алгоритмом Random Forest при тестировании в другой сети при анализе каждого сетевого пакета
Приложение Точность Полнота F-мера ROC AUC
S kype 0.597 0.966 0.738 0.887
Tor 0.661 0.681 0.671 0.700
VPN 0.982 0.994 0.988 0.999
SSII 0.762 0.269 0.398 0.699
Средняя 0.750 0.725 0.696 0.821
Результаты анализа работы классификатора в условиях наличия «фонового» трафика представлены на рисунке 13. Здесь отображены показатели точности, полноты, F-меры и ROC AUC для исследуемых алгоритмов по типам приложений. В отличие от метода, основанного на формировании потоков, наблюдается значительное снижение показателей качества у многих алгоритмов. При этом лучшие результаты наблюдаются при использовании алгоритма С4.5, средняя точность, полнота, F-мера и ROC AUC которого соответственно 93.7, 93.6, 93.6 и 0.98%.
Hi Random Forest
Рис. 14. ROC кривые тестирования алгоритмов классификации зашумлённого трафика для алгоритмов: a) Naive Bayes; б) С4.5; в) Random Forest; г) AdaBoost
По ROC кривым, представленным па рис. ¡4, можно сделать вывод, что при использовании «фонового» трафика удалось получить более качественный классификатор, чем при отсутствии «фонового» трафика. Это означает, что данный подход предпочтительнее использовать именно для классификации трафика е «фоном».
По представленным результатам можно сделать вывод, что метод, основанный на анализе каждого сетевого пакета, имеет худшие показатели качества, чем у метода, основанного на формировании и анализе сетевых потоков, однако может быть применён для классификации приложений при наличии «фонового» графика.
Выводы
Сравнительный анализ алгоритмов машинного обучения для классификации зашифрованного трафика показал, что при использовании метода, основанного на формировании и анализе сетевых потоков, для проведения классификации необходимо захватить все пакеты сетевого потока, что усложняет анализ данных в режиме реального времени. Однако, данный недостаток может быть частично устранён, если захватывать не все пакеты, принадлежащие сетевому потоку, а лишь некоторое количество.
Формирование сетевых потоков, состоящих из небольшого количества пакетов, может успешно использоваться для классификации трафика в режиме реального времени с высокими показателями точности при использовании алгоритма Random Forest, как при тестировании в той же сети, так и в других сетях. Наилучшие результаты достигаются при формировании потоков, состоящих из 14 сетевых пакетов.
Наличие «фонового» трафика существенно снижает точность классификации. Так для анализируемых данных точность классификации трафика S куре снизилась па 50%, а точность классификации для других приложений снижается до уровня 75-85%. 1 [оказано, что алгоритм Naive Bayes непригоден для классификации в условиях наличия «фонового» трафика из-за большого количества ложных срабатываний. При этом точность классификации на уровне 99% при наличии «фонового» трафика может быть достигнута при использовании алгоритмов Random Forest и AdaBoost и формировании потоков, состоящих из S сетевых пакетов. Алгоритм С4.5 хуже справился с классификацией трафика Skype, Tor, SSH и Unknown, по сравнению с алгоритмами Random Forest и AdaBoost.
1 [оказано, что метод, основанный на анализе каждого сетевого пакета, имеет худшие показатели качества, чем у метода, основанного на формировании и анализе сетевых потоков, однако может быть применён с высокой эффективностью для классификации приложений при наличии «фонового» трафика.
Литература
1. Шелухин О.И., Симонян А.Г.. Иванов 10.А, Аномалии и угрозы в беспроводных сетях при передаче IP приложений И T-Comm: Телекоммуникации и транспорт. 2012. Т. 6. №11, С. 72-76.
2. Шелухин О.И.. Судариков P.A. Анализ информативных признаков в задачах обнаружения аномалий графика статистическими методами // T-Comm: Телекоммуникации и транспорт. 2014. №3. С. 14-18.
3. Kim H.. С ¡aff}'. К. С., Fomenkov M, В иг man О , Falun Isos M., Lee К.-Y. Internet traffic classification demystified myths, caveats, and the best practices //In: Proc. ACM CoNEXT, 2008, p. 11.
4. The Perils of Deep Packet Inspection // Symantec URL: http://www.symantec.cotn/connect/articles/perils-deep-packet-inspection {дата обращения: 24.02.2016).
5. H. Паклин, В. Орешков. Бизнес Аналитика: от данных к знаниям (+CD): Учебное пособие. 2 изд. СПб.: Питер, 2013. 704 с.
6. С. Рассел, П. Норе иг. Искусственный интеллект: современный подход. 2 изд. М,: Издательский дом "Вильяме", 2006. 1408 с.
7. C.J. van Rijsbergen. Information Retrieval. Butterworth's and Co.. London, U.K., 2 edition, 1979.
8. Rojas R, AdaBoost and the super bowl of classifiers a tutorial introduction to adaptive boosting. Freie University, Berlin, Tech. Rep, 2009, pp. 1-5.
9. J R. Quinlan. Improved Use of Continuous Attributes in C4.5 П Journal of Artificial Intelligence Research 4, 1996. pp. 77-90.
10. Hastie T.. Tibshirani A'., Friedman J. The Elements of Statistical Learning: Data Mining, Inference, and Prediction. 2nd cd. // SpringerVerlag, 2009. 746 p.
7T>
œMPUTER SCIENCE
COMPARISON OF MACHINE LEARNING ALGORITHMS FOR ENCRYPTED TRAFFIC CLASSIFICATION
Denis V. Kostin, Teaching assistant of department of Information security and Automation, M.Sc, MTUCI,
Moscow, Russia, [email protected]
Oleg I. Sheluhin, Head of department of Information security and Automation, professor, D.Sc, MTUCI,
Moscow, Russia, [email protected]
Abstract
In this paper, we survey approaches for classification and analysis of encrypted traffic using machine learning for detection intrusions. For the analysis were collected over two million network packets from the four applications that use encrypted traffic: Skype, Tor, PuTTY (SSHv2), CyberGhost (VPN). In order to classify encrypted traffic five machine learning algorithms are employed. These are Naive Bayes, C4.5, AdaBoost and Random Forest. To evaluation, the quality of the classifier used precision, recall, F-mesure and ROC AUC. The aim of the research is comparison of machine learning algorithms for encrypted traffic classification. We have considered two different methods for encrypted traffic classification.
These are network flow classification where network packets with same IP-address of the source/destination and transport protocol and each packet classification. After that were chosen different attributes of each method to create a training and test data sets. The effectiveness of the classifier dependence on the number of network packets in the stream has been established. The first method allows yielding high precision measurements for real time classification. Network packets from other network have been collected to evaluate the quality of the classifier trained in the original network, but other network testing. The results of this work can be used for the construction of traffic classifiers, and intrusion detection systems that can work with encrypted traffic.
Keywords: traffic classification, encrypted traffic, machine learning, intrusion detection system
References
1. Sheluhin O.I., Simonyan A.G., Ivanov Y.A Amomalii i ugrozi v besprovodnih setyah pri peredache ip prilozhenii / T-Comm:. 2012. Vol. 6. No. 11. Pp. 72-76. (in Russian)
2. Sheluhin O.I., Sudarikov R. A. Analiz informativnih priznakov v zadachah obnaruzheniya anomalii trafica statisticheskimi // T-Comm, 2014. No. 3. Pp. 14-18. (in Russian)
3. Kim H., Claffy K.C., Fomenkov M., Barman, D., Faloutsos M., Lee, K.-Y. Internet traffic classification demystified myths, caveats, and the best practices. In: Proc. ACM CoNEXT, 2008, p. 11.
4. The Perils of Deep Packet Inspection, available at: http://www.symantec.com/connect/articles/perils-deep-packet-inspection (Accessed: 24.02.2016).
5. N. Paklin V. Oreshkov. Biznes Analitica: ot dannih k znaniyam (+CD), 2013, 2nd ed. SPb.: Piter, 704 p. (in Russian)
6. Russel S., Norvig P. Artificial Intelligence. A Modern Approach, 2nd ed, 2006. 1408 p.
7. C.J. van Rijsbergen. Information Retrieval. Butterworth's and Co., London, U.K., 2 edition, 1979.
8. Rojas R. AdaBoost and the super bowl of classifiers a tutorial introduction to adaptive boosting. Freie University, Berlin, Tech. Rep, 2009. pp. 1-5.
9. J.R. Quinlan. Improved Use of Continuous Attributes in C4.5. Journal of Artificial Intelligence Research 4, 1996. pp 77-90.
10. Hastie T., Tibshirani R., Friedman J. The Elements of Statistical Learning: Data Mining, Inference, and Prediction. 2nd ed. SpringerVerlag, 2009. 746 p.