Исследование и моделирование нейросетевых алгоритмов обнаружения аномальных вторжений в компьютерные сети
Ключевые слова: нейронная сеть, аномальные вторжения, нейросетевой детектор.
Современные средства обнаружения аномальных вторжений, как правило, включают в себя интеллектуальные подсистемы. В настоящее время основу таких интеллектуальных подсистем в наибольшей степени составляют искусственные нейронные сети, основанные на различных принципах функционирования или на сочетании нейросетевого подхода с другими методами статистической обработки данных. Реализован нейросетевой детектор, способный к автоматическому обучению, кластеризации входящих соединений по определенному набору признаков и выдающий однозначное решение о наличии или отсутствии атаки в данном соединении. Такой детектор может быть использован в качестве предупредительного инструмента для системных администраторов в различных сетях. Из первичного множества необработанных данных были созданы два множества - множество данных для обучения, состоящее из временного окна в семь недель и порядка пяти миллионов записей, а также обработанное множество для тестирования и содержащее около двух миллионов записей. Множество для тестирования содержало несколько типов атак, которые не были изначально представлены в обучающем множестве. Это позволяет проверить работу детектора на ранее неизвестных ему атаках. Исследовались четыре категории компьютерных атак: DoS; U2R; R2L и Probe. Для решения задачи обнаружения аномальных вторжений в компьютерные сети в работе использовались искусственные нейронные сети на основе нейронов Кохонена. Входными сигналами для нее являются параметры сетевого соединения, которые характеризуют сетевой трафик и содержат информацию о времени соединения, типе протокола, количестве переданных байт, количестве возникновения ошибок во время соединения и т.д. Количество нейронных элементов распределительного слоя соответствовало количеству атрибутов сетевого трафика и выбрано равным 41. Показано, что использование предложенного детектора позволяет повысить осведомленность администратора сети о текущих событиях, а также уменьшает время реакции на возможные сетевые атаки. Благодаря быстрому и самостоятельному развертыванию такую нейронную сеть можно применять даже на вычислительно слабых системах, что может быть важно при устаревшем парке техники.
Шелухин О.И.,
МТУСИ, Москва, Заведующий Кафедрой "Информационная безопасность и автоматизация", профессор, д.т.н., [email protected]
Чернышев А.И.,
МТУСИ, Москва, аспирант кафедры "Информационная безопасность и автоматизация", [email protected]
Постановка задачи
При решении задач, связанных с обеспечением сетевой защиты информации от несанкционированного доступа, в настоящее время используют средства обнаружения и предотвращения сетевых атак. Основными и наиболее перспективными методами, используемыми в разработке и работе таких средств, являются сетевое и хостовое обнаружение сетевых атак на основе статистических и сигнатурных методик, которые необходимо разработать и реализовать [1|. Большинство подходов к обнаружению атак используют форму анализа контролируемого пространства на основе правил или статистических методов. В качестве контролируемого пространства могут выступать журналы регистрации или сетевой трафик. Анализ опирается па набор заранее определенных правил, которые создаются администратором или самой СОВ, Сетевые атаки постоянно изменяются, поскольку злоумышленники используют индивидуальные подходы, а также в связи с регулярными изменениями в программном обеспечении и аппаратных средствах компьютерных систем. Развертывание атаки во времени либо одновременные действия нескольких злоумышленников затрудняют обнаружение атаки . Из-за разнообразия атак даже постоянные обновления правил нет гарантии точной идентификации атак. Одним из путей устранения названных проблем является использование нейронных сетей (НС).
Применение нейронных сетей в СОВ обосновывается тем, что нейронные сети обладают свойством обучаемости
или адаптивности к новым условиям постановки задачи, при этом сохраняется архитектура сети и алгоритм ее функционирования. Это, в свою очередь, позволяет использовать одну и ту же модель в различных задачах.
В работе исследуется архитектура НС сетей с целью выбора нейронной сети для обнаружения сетевых атак, рассматривается формирование обучающей выборки для обучения нейросетевого детектора, и представлены результаты экспериментальных исследований.
Анализ базы данных
В качестве исходных данных использовалась база данных [3]. Из первичного множества необработанных данных были созданы два подмножества - множество данных для обучения, состоящее из временного окна в семь недель и порядка пяти миллионов записей, а также обработанное множество для тестирования с временным окном в две недели и содержащее около двух миллионов записей. Каждая запись представляет собой TCP соединение, с набором характеристик. Кроме этого каждая запись промаркирована как нормальная или как запись с атакой, при чем в каждой записи представлена одна и только одна атака. Каждая подобная запись занимает около 100 ко информации.
Все атаки поделены на четыре категории:
• DoS — отказ в обслуживании, характеризуется взрывной генерацией трафика, что приводит к перегрузке и блокированию сервера;
• U2R - предполагает получение зарегистрированным пользователем привилегий локального суперпользователя (администратора);
• R2L характеризуется получением доступа незарегистрированного пользователя к компьютеру со стороны удаленной машины;
• Probe заключается в сканировании портов с целью получения конфиденциальной информации.
Для построения нейронной сети и выполнения изначального задания необходимо предоставить ряд характеристик соединений для их обработки средствами нейронных сетей. В данном случае представлены 41 характеристики, поделенные на три больших группы - базовые свойства TCP соединения, свойства передаваемой информации, полученные на уровне домена и ряд функций, вычисленных в 2-х секундном временном окне [3J.
Полный список характеристик представлен в табл. I
Таблица 1
Базовые свойства сигнала
Название Описание Тип
duration длительность подключения в секундах непрерывная
protoco ]_ty pe тип протокола tcp, udp, ctc. дискретная
service сетевой сервис места назначения дискретная
src_bytes количество данных (в байтах) от источника к адресату непрерывная
dstbytcs количество данных от адресата к источнику непрерывная
flag статус подключения {норма/атака) дискретная
land I - подключение с/к одному хосту или порту, 0 - наоборот дискретная
wrong fragment количество битых фрагментов непрерывная
urgent количество срочных пакетов непрерывная
Таблица 2 Свойства контента внутри подключения (на уровне домена)
Название Описание Тип
hot число «горячих» индикаторов непрерывная
numfai ledlogms число неудачных попыток входа непрерывная
loggcdin I при успешном входе, 0 - наоборот дискретная
numjEom promised число «скомпрометированных» условий непрерывная
root shell I - есть права рута, 0 - нет дискретная
sи attempted I - команда su root поддерживается 0 - нет дискретная
mi m root число заходов под root непрерывная
num file creations число операций создания файлов непрерывная
num_shells число подсказок оболочки непрерывная
num access files число операций с файлами доступа непрерывная
numoutboundjemds число исходящих команд в ftp сессии непрерывная
is hot login I - логин принадлежит к «горячему» множеству, 0 - нет дискретная
is_guest_ login I - гостевой логин, 0 - любой другой дискретная
Таблица 3
Свойства трафика, посчитанные в 2-х секундном окне
Название Оп и сан не тип
count число подключений к тому же хосту, что и текущее подключение. за прошедшие 2 секунды непрерывная
Внимание: Следующие свойства относятся к подключениям к одному хосту
serrorrate % подключений с ошибкой "5УЫ" непрерывная
rerrorrate % поключений с ошибкой "ЯШ" непрерывная
samesrvrate % подключений к одному и пому де сервису непрерывная
diffsrvrate % подключений к различным сервисам непрерывная
srvcount число подключений к тому же сервису, что и текущее подключение, за прошедшие 2 секунды непрерывная
Внимание: Следующие свойства относятся к подключениям к одному сервису.
srvserrorrate % соединений С ошибкой "ЧУМ" непрерывная
srvrerror rate % соединений с оошибкой "НЕТ непрерывная
srv diff host rate % соединений к разным хостам непрерывная
Постановка задачи.
Задача соревнования сводится к следующему - создать нейронную сеть, детектирующую атаки. При этом должны учитываться: количество правильно определенных атак, количество ложных срабатываний, скорость работы и универсальность предложенного решения.
Для решения поставленной задачи была создана комплексная нейронная сеть [2], состоящую из самоорганизующейся карты Кохонена И второй нейронной сети для непосредственной дифференциации соединений с аномалиями от нормальных соединений. Входными сигналами для карты Кохонена являлись параметры сетевого соединения характеризующие сетевой трафик и содержащие информацию о времени соединения, типе протокола, количестве переданных байт, количестве возникновения ошибок во время соединения и т.д. Количество входов было выбрано равным количеству атрибутов сетевого трафика, т.е. п = 42.
Рабочий слой нейронной сети состоит из нейронов Кохонена. Нейрон слоя Кохонена, наиболее похож на входной вектор сигналов, а также его ближайшие соседи могут быть изменены следующим образом: внутренние веса нейрона могут быть скорректированы для лучшего соответствия входному вектору. Слой Кохонена играет ключевую роль в Классификации данных и осуществляет кластеризацию входного пространства образов, в результате чего образуются кластеры различных образов, каждому из которых соответствует свой нейронный элемент соответствующий определенному классу соединений. Обучение такой нейронной сети может проводится конкурентным способом - по правилу «победитель получает все» (winner-take-all) [4, 5J.
T-Comm #12-2014
103
Пусть входной вектор имеет формат х = (xl,...xn). Тогда выход j-ro элемента скрытого слоя будет вычисляться но формуле:
Где wji - весовой коэффициент r-го входа j-ro нейрона, wjO -пороговый коэффициент.
После вычисления значения выходных коэффициентов всех нейронов скрытого слоя определяется максимальный; max(yj). Нейрону, который выдал максимальный сигнал на выходе, присваивается I, всем остальным - 0. Кроме того, веса нейрона корректируются в сторону, соответствующую весам входного вектора, как указано выше.
После кластеризации полученная матрица вида MxN, где N - количество нейронов в самоорганизующейся карте (в нашем случае 100) а М - количество входных значений в выборке (500), подается па вход другой нейронной сети. Эта нейронная сеть состоит из скрытого слоя и выходного слоя из 2-х нейронов, первый из которых отвечает за обнаружение аномалий, а второй за сигнализацию о нормальном соединении.
Выходной сдой, состоящий из двух линейных нейронных элементов, осуществляет отображение кластеров, сформированных слоем Кохонена, в два класса, которые характеризуют чистые и вирусные входные образы
На скрытый слой подаются результаты кластеризации, полученные после применения самоорганизующейся карты. После чего, нейронная сеть выдает решение является ли соединение аномальным или нет.
Реализация мейросегевого детектора
Для непосредственной реализации нейронной сети было принято решение использовать следующую схему: карта Кохонена [5| размером 10x10, что обеспечивает необходимое разрешение кластеризации и вторичная нейронная сеть с 10-ю нейронами в скрытом слое и 2-мя выходными нейронами. Для создания кода нейронной системы был выбран Программный пакет MalLab, обладающий гибким интерфейсом и позволяющий настраивать большое количество параметров нейронных сетей. Ьыло создано несколько моделей нейронных сетей — 4 по количеству классов атак.
Дчя того, чтобы нейронная сеть могла обрабатывать все характеристики соединений необходимо закодировать в числовые значения тс из них, которые представлены в текстовом формате [6J. Таких характеристик 3 - тип протокола, сетевой сервис места назначения и тип атаки, В качестве обучающей выборки использовался массив из 500 соединений, 400 из которых принадлежали множеству атакующих, и 100 - нормальных. Такое соотношение было выбрано исходя из предыдущего умозаключения.
Дтя создания нейронной сети, которая будет являться детектором вторжений, использовался встроенный в MalLab инструмент «nnstart». Это пользовательский интерфейс, позволяющий задать параметры создаваемой нейронной сети, такие как количество нейронов, количество слоев, какая информация будет подаваться на входы пейросети и какие результаты она будут формироваться в итоге (для обучения с учителем).
На рисунке 1 показана схема построенного нейросетево-го детектора, представляющего собой сеть с 42 входами - по количеству характеристик соединения в выборке KDD, 100 нейронами в скрытом слое и, соответственно, 100 выходами.
детектора
Входные Нейроны
данные Кохонена
Рнс, 1. Схема нейросетевого детектора
I (ервый слой нейронных элементов является распределительным. Он распределяет входные сигналы на нейронные элементы слоя Кохонена. Количество нейронных элементов распределительного слоя равно количеству исследуемых характеристик графика. Второй слой состоит из нейронов Кохонена. Подобная нейронная сеть будет формировать на выходе матрицу, размерностью 100x500 (где 100 - количество выходов, 500 - число соединений в выборке). На следующем этапе полученные значения поступают на третью нейронную сеть с 10-ю нейронами в скрытом слое. Четвертый слой состоит из двух линейных нейронных элементов, которые используют линейную функцию активации. Задача этих нейронов сводится к сигнализации о наличии атакующею соединения. В результате нри получении единицы па выходе первого нейрона дополнительного слоя имеем атакующее соединение, а при получении единицы на выходе второго нейрона - нормальное.
Результаты
В результате был получен нейросетевой детектор способный к автоматическому обучению, кластеризации входящих соединений но определенному набору признаков и формирующий однозначное решение о наличии или отсутствии атаки в данном соединении. Результаты работы нейронной сети в виде двумерных матриц для каждого из 4-х классов атак представлены в графическом виде на рис. 2,
Па рисунке 2 представлены сформированные карты Кохонена .тля различных типов атак. На рис. 2а в верхнем левом углу и середине сформированы четкие кластеры для DoS атак. На рис. 26,г в правом нижнем углу сформированы кластеры для атак типа Probe и U2R. На рис. 2г наблюдается четкое распределение атак типа U2R. Приведенные результаты позволяют оценить эффективность дальнейшего обучения скрытого слоя второй нейронной сети, однако, в случае с атаками U2R множество значений слишком невелико, для того, чтобы можно было утверждать о реалистичности полученной модели.
Для иллюстрации причины подобного распределения на рис. 3, показано процентное соотношение атак для каждого типа в первоначальной выборке.
Из таблицы 1 видно, что среди всех четырех классов атак наилучшим образом детектируются атаки Оо5. Это связано с большим количеством таких атак в обучающей выборке, что позволяет создать достаточное обучающее множество для нейронного детектора.
Атаки типа Г12Ь хотя и детектируются со 100 процентным результатом, однако этот результат нельзя считать адекватным, поскольку из-за малого количества подобных атак они многократно повторялись в обучающем множестве, что МОЖНО Проследить из сформированной в результате кластеризации карты Кохонена для таких атак. График обучения детектора также показывает нестандартное протекание процедуры обучения. Это позволяет сделать вывод о том, что детектирование атак типа будет нестабильным.
Проведенные исследования |7| показывают, что рассмотренный в работе детектор способен работать в любой сети, для которой есть возможность получения характеристик, аналогичных набору характеристик из базы данных К Сир 1999.
Выводы
Исследование и имитационное моделирование гомогенных НС на экспериментальных данных КГЮ Сир99 в задачах обнаружения и классификации сетевых атак свидетельствует об эффективности нейросетевых технологий. Показано, что по сравнению с традиционными методами применение ИНС позволяет повысить эффективность систем обнаружения вторжений. Однако устойчивость и точность обнаружения СОВ основанных на ИНС, особенно для редко встречающихся атак, требуют улучшения. В частности, для
повышения уровня обнаружения, уменьшения количества ложных срабатываний и повышения стабильности работы СОВ, а также уменьшения времеии реакции на возможные сетевые атаки следует исследовать алгоритмы основанные на совокупности искусственных нейронных сетей и нечёткой кластеризации.
Литература
1. Шелухин О.И., Д.Ж Сакадема, А.С Филшюва, Обнаружение вторжений в компьютерные сети. Сетевые аномалии. - М.; Горячая линия - Телеком, 2013, - 220 С.
2. Комар М. Методы искусственных нейронных сетей для обнаружения сетевых вторжений // Сборник тезисов седьмой международной научно-технической конференции "Интернет Образование - Наука " (ИОН-2010). - Винница: Винницкий национальный технический университет, 2010. - С. 410-413.
3. http://kdd.ics.uci.edu/databases/kddcup99/kddciip99.html База данных третьего международного конкурса но обнаружению знаний и интеллектуальному анализу данных.
4. Шелухин О.И. Моделирование информационных систем. -М.: Горячая линия - Телеком, 2011. - 536 с.
5. Кохонен Т. Самоорганизующиеся формации топологически правильных карт // Биологическая кибернетика. - 1982. - №43. - С. 59-69.
6. Головко В.А. Нейронные сети: обучение, организация, применение // Нейрокомпьютеры и их применение: учеб. иос. — М., 2001.-256 с.
7. Чернышев А.И. Анализ нейросетевых алгоритмов обнаружения аномальных вторжений в компьютерные сети. Конференция "Телекоммуникационные и вычислительные системы". - М.: МТУС'И, 2013.-С. 142.
Research and modeling neural network algorithm for detecting an abnormal Intrusion
Oleg I. Sheluhin, professor, Department of Information Security Moscow Technical Univ of Communication & Informatics, Moscow, Russia, [email protected] Anton I. Chernyshev, Department of Information Security Moscow Technical Univ. of Communication & Informatics, Moscow, Russ'ia, chemyshevanton@gmaiLcom
Abstract
Modern means of detecting abnormal intrusion usually include intelligent subsystems. Nowadays the basis of such intelligent subsystems is mostly made up of artificial neural networks. In this paper we implemented neural network detector capable of automatic learning, clustering incoming connections on a specific set of features and issue a clear decision on the presence or absence of attacks in a particular connection. Primary raw data set was divided in two sets - the set of training data, consisting of the time window of seven weeks, and about five million records, as well as set processed for testing and containing about two million records. Four categories of computer attacks were investigated: DoS; U2R; R2L and Probe. To solve the problem of detection of abnormal intrusion into computer networks we used the Artificial Neural Networks based on Kohonen neurons . Inputs for it are the network connection settings that characterize network traffic and provide information about connection time, protocol type, number of bytes transferred, the number of errors during connections, etc. Number of neural elements in distribution layer corresponded to the amount of network connection settings and was chosen to be 41. It is shown that the proposed use of the detector allows the network administrator to raise awareness of current events, and also reduces the response time to network attacks.
Keywords: neural network, abnormal invasion, neural detector.
References
1. Sheluhin O.I, Sakalema D.G., Filinova A.S. Intrusion detection into computer networks. Network anomalies. Moscow, 2013. 220 p.
2. Komar M. Artificial neural networks for network intrusion detection / Book of abstracts of the seventh international scientific conference "Internet Education - Science", 2010. Pp. 410-413.
3. http://kdd.ics.uci.edu/databases/kddcup99/kddcup99.html The Third International Knowledge Discovery and Data Mining Tools Competition Data base.
4. Sheluhin O.I. Modeling of information systems. Moscow, 2011. 536 p.
5. Kohonen T. Sell-organised formation of topologically correct feature maps / Biological Cybernetics. 1982. No 43. Pp. 59-69.
6. Golovko V.A Neural networks: teaching, organization, application / Neurocomputers and their applicationk Moscow, 2001. 256 p.
7. Chernyshev A.I. Analysis of neural network algorithms for detecting abnormal intrusion into computer networks, Conference 'Telecommunications and Computer Systems", MTUCI, 2013. Pp. 142.