АНАЛИЗ ДАННЫХ СРЕДСТВАМИ МАШИННОГО ОБУЧЕНИЯ
|
Введение 3
1. Анализ DNS трафика средствами искусственных нейронных сетей 5
1.1. DNS-трафик и его аномалии 5
1.2. Рекуррентные нейронные сети 12
1.3. Архитектура LSTM и GRU сетей 15
2. Применение GRU сети для выявления аномальных доменов 23
2.1. Модель решения задачи распознавания DGA 23
2.2. Модификация построенной модели с применением анализа групповой
активности и паттернов взаимодействия пользователей 28
2.3. Результаты практического применения построенной модели 30
Заключение 35
Список литературы 37
Приложение 39
1. Анализ DNS трафика средствами искусственных нейронных сетей 5
1.1. DNS-трафик и его аномалии 5
1.2. Рекуррентные нейронные сети 12
1.3. Архитектура LSTM и GRU сетей 15
2. Применение GRU сети для выявления аномальных доменов 23
2.1. Модель решения задачи распознавания DGA 23
2.2. Модификация построенной модели с применением анализа групповой
активности и паттернов взаимодействия пользователей 28
2.3. Результаты практического применения построенной модели 30
Заключение 35
Список литературы 37
Приложение 39
В настоящее время стремительно развивается практическое применение методов машинного обучения (machine learning) и анализа данных (data mining), что вызвано, с одной стороны, появлением универсальных и полезных моделей, с другой стороны, определённой тенденцией компаний улучшать безопасность и качество услуг с помощью современных методов и технологий. Такая тенденция появилась в последнее десятилетие, прежде всего, за счёт удешевления устройств хранения и обработки данных, и, как следствие, постоянного их логирования, то есть сбора. В свою очередь, это привело к появлению специального термина - «Большие данные» («Big Data»), обозначающего набор технологий оперирования с современными огромными массивами информации. В производстве и тяжелой промышленности происходит активное применение Big Data для решения таких групп задач как: прогнозирование, оптимизация, определение скрытых зависимостей, а также выявление аномалий.
Задача выявления аномалий не имеет единой формулировки и зачастую интерпретируются по-разному в зависимости от характера данных и постав¬ленной цели. На интуитивном уровне аномалиями называют то, что не вписывается в общие правила и законы, справедливые для представленных данных. Например, в DNS данных аномалиями можно назвать принадлежность группы пользователей к ботнету, возникновения нехарактерных запросов и подозрительной активности. Данная задача является актуальной на сегодняшний день, поскольку количество пользователей в сети интернет растет и с этим растут попытки злоумышленников воспользоваться DNS протоколом с целью украсть личную информацию пользователей, компаний.
Целью данной выпускной квалификационной работы является попытка решения задачи выявления аномалий в DNS данных средствами машинного обучения, а именно, аппаратом искусственных нейронных сетей, и последующим внедрением результата в производство.
Для достижения постановленной цели необходимо решить ряд задач.
1. Проанализировать виды аномалий в DNS данных, определить методы ее решения и выделить особенности рекуррентных нейронных сетей, касательно данной задачи.
2. Определить модель рекуррентной нейронной сети и построить алгоритм для повышения качества выявления аномалий, на основе анализа групповой активности в сети.
3. Написать программную реализацию выявления аномалий и внедрить результат в производство.
Работа состоит из введения, двух глав, заключения, списка использован¬ной литературы и приложения. Работа изложена на 38 листах и включает в себя 15 рисунков, 5 таблиц. Список литературы содержит 18 наименований.
Задача выявления аномалий не имеет единой формулировки и зачастую интерпретируются по-разному в зависимости от характера данных и постав¬ленной цели. На интуитивном уровне аномалиями называют то, что не вписывается в общие правила и законы, справедливые для представленных данных. Например, в DNS данных аномалиями можно назвать принадлежность группы пользователей к ботнету, возникновения нехарактерных запросов и подозрительной активности. Данная задача является актуальной на сегодняшний день, поскольку количество пользователей в сети интернет растет и с этим растут попытки злоумышленников воспользоваться DNS протоколом с целью украсть личную информацию пользователей, компаний.
Целью данной выпускной квалификационной работы является попытка решения задачи выявления аномалий в DNS данных средствами машинного обучения, а именно, аппаратом искусственных нейронных сетей, и последующим внедрением результата в производство.
Для достижения постановленной цели необходимо решить ряд задач.
1. Проанализировать виды аномалий в DNS данных, определить методы ее решения и выделить особенности рекуррентных нейронных сетей, касательно данной задачи.
2. Определить модель рекуррентной нейронной сети и построить алгоритм для повышения качества выявления аномалий, на основе анализа групповой активности в сети.
3. Написать программную реализацию выявления аномалий и внедрить результат в производство.
Работа состоит из введения, двух глав, заключения, списка использован¬ной литературы и приложения. Работа изложена на 38 листах и включает в себя 15 рисунков, 5 таблиц. Список литературы содержит 18 наименований.
В данной выпускной квалификационной работе была поставлена задача выявления аномалий в DNS данных средствами машинного обучения, а именно, аппаратом искусственных нейронных сетей, и последующим внедре¬нием результата в производство. Несмотря на то, что DNS призван упростить работу пользователей с доменными именами, его начали использовать зло¬умышленники для своих целей. Одной из актуальных проблем на сегодняш¬ний день является возникновение ботнетов, то есть подмножества зараженных компьютеров в сети, которые для реализации подключения между управляю¬щим сервером и хостами в основном используют домены сгенерированные DGA алгоритмом. Данные домены являются плохо читаемыми и выделяются среди других.
В качестве метода определения и распознавания DGA доменов были рассмотрены рекуррентные нейронные сети. Рекуррентная нейронная сеть мо¬жет связывать поданную ранее информацию и поступающую в настоящий мо¬мент времени и, как следствие, позволяет рассматривать доменное имя как единое целое, выявлять обобщения в построении сгенерированных доменов. Однако, на практике оказывается, что если разрыв между прошлой информа¬цией и настоящей достаточно велик, то эта связь теряется, и подобная сеть неспособна её обрабатывать.
Для решения данной проблемы был предложен подход, получивший название LSTM (Long Short-Term Memory - долгая краткосрочная память). Данная рекуррентная сеть позволяет запоминать значения как на короткие, так и на длинные промежутки времени и была разработана для того, чтобы иметь более устойчивую память, тем самым упрощая для обычной рекуррентной нейронной сети фиксирование долгосрочной зависимости. Позднее она была усовершенствована и оформлена в качестве модели GRU (Gated Recurrent Unit), которая основана на тех же принципах, что и LSTM, но которая исполь¬зует меньше фильтров и операций. В распознавании DGA доменов GRU сеть немного превосходит LSTM благодаря более качественному обучению.
Построенная модель GRU состоит из 128 нейронов и сигмоидальной функцией активации. Преобразование входных доменов происходило кодиро¬ванием позицией символа в алфавите, а также последующим применением слоя внедрения. Представление слов данным способом помогает алгоритму обучению достичь большей производительности. В основном модель, как и предполагалось, реагировала на не читаемость доменных имен. Однако в спи¬сок нечитаемых попадали домены, явно сгенерированные различными про¬граммами на стороне хоста, но не являющимися зловредными.
Для решения данного недостатка был проведен анализ паттернов вза-имодействия пользователей в компьютерной сети, так как одной из характер¬ных особенностей ботнета является то, что если один компьютер в корпора¬тивной сети заражен и является его частью, то скорее всего он “тянет” за собой и другие компьютеры. Внедрения алгоритма выявления групповой активности в модель рекуррентной сети позволило уменьшить время работы программы, а также повысить качество выявления зловредных доменных имен.
Программа, разработанная на основе объединения модели рекуррент¬ной нейронной сети и алгоритма выявления групповой активности, была внед¬рена на сервер компании «ICL Системные технологии» и показала неплохие результаты в нахождении аномалий в DNS данных. Искусственное имитиро¬вание ботнета из 5-6 пользователей в течении 4 часов было успешно выявлено и позволило системному администратору правильно среагировать на возник¬шую аномалию.
В качестве метода определения и распознавания DGA доменов были рассмотрены рекуррентные нейронные сети. Рекуррентная нейронная сеть мо¬жет связывать поданную ранее информацию и поступающую в настоящий мо¬мент времени и, как следствие, позволяет рассматривать доменное имя как единое целое, выявлять обобщения в построении сгенерированных доменов. Однако, на практике оказывается, что если разрыв между прошлой информа¬цией и настоящей достаточно велик, то эта связь теряется, и подобная сеть неспособна её обрабатывать.
Для решения данной проблемы был предложен подход, получивший название LSTM (Long Short-Term Memory - долгая краткосрочная память). Данная рекуррентная сеть позволяет запоминать значения как на короткие, так и на длинные промежутки времени и была разработана для того, чтобы иметь более устойчивую память, тем самым упрощая для обычной рекуррентной нейронной сети фиксирование долгосрочной зависимости. Позднее она была усовершенствована и оформлена в качестве модели GRU (Gated Recurrent Unit), которая основана на тех же принципах, что и LSTM, но которая исполь¬зует меньше фильтров и операций. В распознавании DGA доменов GRU сеть немного превосходит LSTM благодаря более качественному обучению.
Построенная модель GRU состоит из 128 нейронов и сигмоидальной функцией активации. Преобразование входных доменов происходило кодиро¬ванием позицией символа в алфавите, а также последующим применением слоя внедрения. Представление слов данным способом помогает алгоритму обучению достичь большей производительности. В основном модель, как и предполагалось, реагировала на не читаемость доменных имен. Однако в спи¬сок нечитаемых попадали домены, явно сгенерированные различными про¬граммами на стороне хоста, но не являющимися зловредными.
Для решения данного недостатка был проведен анализ паттернов вза-имодействия пользователей в компьютерной сети, так как одной из характер¬ных особенностей ботнета является то, что если один компьютер в корпора¬тивной сети заражен и является его частью, то скорее всего он “тянет” за собой и другие компьютеры. Внедрения алгоритма выявления групповой активности в модель рекуррентной сети позволило уменьшить время работы программы, а также повысить качество выявления зловредных доменных имен.
Программа, разработанная на основе объединения модели рекуррент¬ной нейронной сети и алгоритма выявления групповой активности, была внед¬рена на сервер компании «ICL Системные технологии» и показала неплохие результаты в нахождении аномалий в DNS данных. Искусственное имитиро¬вание ботнета из 5-6 пользователей в течении 4 часов было успешно выявлено и позволило системному администратору правильно среагировать на возник¬шую аномалию.



