DOI: 10.7256/2409-7543.2016.2.18834
Received:
16-04-2016
Published:
24-04-2016
Abstract:
The author considers the methods of network attacks on a computer system detecting and reveals their advantages and drawbacks. The development of new methods and means of protection of computing systems from network attacks is urgent. The author considers the possibility of using artificial neural networks for traffic analysis. The author offers the neural network model of the incoming traffic filtration. The research is aimed at the creation of an adaptive neural network system serving as a cyber-attacks detection complex helping to take the peculiarities of the network traffic into consideration. To design the artificial neural network the author applies the Neural Network Toolbox pack from MATLAB 8.6 (R2015b). The author develops and offers the method of analysis of incoming traffic on the base of a three-layered neural network. The results of its teaching and testing demonstrate the possibility of its successful application for network cyber-attacks detection. The best results can be acquired in computing systems using the limited software suite allowing forming the traits of normal behavior for attacks detection more effectively.
Keywords:
attacks detection, classification, artificial neural network, multilayer perceptron, error back propagation, intrusion detection, network traffic, computer network, supervised learning, anomaly detection
Стремительное развитие и распространение глобальных и локальных сетей изменило вычислительные системы, которые стали более связанными и менее защищенными от злоумышленников, обладающих новыми возможностями для своих разрушительных целей. Расходы на компенсацию убытков, причиненных в результате несанкционированного доступа злоумышленников к потокам данных в сетях постоянно, увеличиваются.
Автоматизация процессов обработки, хранения и передачи информации приводит к возникновению новых проблем, связанных с обеспечением ее безопасности. В это же время, современные вычислительные системы становятся все более сложными из-за динамических изменений в конфигурации и программном обеспечении. Такая ситуация создает практически неограниченные возможности для злоумышленников, которые используют программные приложения и уязвимости операционных систем для успешного проникновения в компьютерную систему.
Складывается устойчивая тенденция к увеличению количества атак на вычислительные системы и сети. Технологии и методы удаленных сетевых атак постоянно совершенствуются, и существующие средства защиты не позволяют полностью пресекать злонамеренный трафик. Эти обстоятельства делают разработку и внедрение новых методов и средств защиты информации в вычислительных сетях весьма актуальными.
В настоящее время используются различные подходы к обнаружению сетевых атак (вторжений), но на практике эти подходы не всегда неэффективны. По этой причине способы и средства обнаружения вторжений должны постоянно исследоваться и совершенствоваться.
Для того чтобы разработать динамическую систему обнаружения вторжений необходимо изучить типы вторжений, типы систем обнаружения вторжений и подходы к анализу и обнаружению вторжений.
Обнаружение вторжений можно определить, как процесс интеллектуального мониторинга событий, происходящих в вычислительной сети или системе, их анализ на наличие признаков нарушения политики безопасности и попытки поставить под угрозу конфиденциальность, целостность, доступность, или обойти механизмы безопасности хоста или сети.
Система обнаружения вторжений захватывает поток данных из сети, применяет определенные правила к этим данным и обнаруживает аномалии в них и сообщает об этом пользователю (администратору). Подобные системы обычно состоят из трех функциональных компонентов, а именно:
- Модуль сбора событий- источник данных о всех событиях в сети.
- Модуль анализа - принимает информацию из источника данных и анализирует данные на наличие признаков атак или нарушений политики безопасности. В нем может использоваться обнаружение следующих угроз:
- Неправильное использование: обнаружение вторжений, которые эксплуатируют известные шаблоны атак, использующие уязвимости программного обеспечения. Основное ограничение этого подхода заключается в том, что он ищет только предварительно указанные «слабые места», и не может быть полезен при обнаружении неизвестных атак.
- Аномалии поведения: анализирующий механизм будет искать какие-то редкие или необычные действия, или активности. Потоки событий в системе, исследуются статистически, чтобы найти те из них, проявление которых выглядит аномальным.
- Модуль реагирования – активируется в том случае, когда анализирующий механизм определил возможную атаку. Реакция может быть активной и пассивной. В первом случае система предпринимает некоторый набор действий, например, блокирование определенного IP-адреса, во-втором пользователю сообщается об угрозе и событие заносится в журнал аудита.
Интенсивные исследования и разработки, проводимые в настоящее время в этом направлении, показывают, что достижение приемлемых уровней защиты информационных ресурсов от все более изощренных атак невозможно на основе применения обычных алгоритмических и программно-аппаратных решений [1- 3]. Современные средства обнаружения вторжений неизбежно должны включать в себя интеллектуальные подсистемы, по крайней мере, в качестве одной из своих составных частей.
Цель работы – разработка системы обнаружения вторжений, обладающей способностью адаптации к изменениям поведения вычислительной сети основанной на использовании аппарата искусственных нейронных сетей.
Искусственная нейронная сеть является одним из подходов технологии создания интеллектуальных систем, основанных на имитации поведения человеческого мозга. Существует большое количество разных конфигураций нейронных сетей с различными принципами функционирования. Для реализации системы обнаружения атак будем использовать многослойную полносвязанную нейронную сеть (многослойный персептрон), в которой каждый нейрон произвольного слоя связан со всеми нейронами предыдущего слоя.
Рис. 1. Простейший трехслойный персептрон.
Многослойный персептрон содержит три типа слоев нейронов: входной, скрытый и выходной (рис. 1). Каждый нейрон сети имеет гладкую нелинейную функцию активации. Многослойные нелинейные нейронные сети позволяют формировать более сложные связи между входами и выходами, чем однослойные линейные. Доказано, что трехслойная нейронная сеть с одним скрытым слоем может быть обучена аппроксимировать с произвольной точностью любую непрерывную функцию [4].
Для построения нейронной сети с хорошей обобщающей способностью необходимо определить меру Вапника-Червоненкиса для данной топологии нейронной сети [5]:
,
где N – размерность данных на входе; K – количество нейронов в скрытом слое; Nw – общее количество весов сети; Nn – общее количество нейронов сети.
Чтобы предотвратить «переобучение» нейронной сети размерность (количество нейронов) скрытого слоя должна быть ниже или равна размерности обучающей выборки.
Для проектирования нейронной сети был использован пакет Neural Network Toolbox из MATLAB 8.6 (R2015b).
Данные для обучения нейронной сети были взяты из базы [6], содержащей наборы данных о легальных сетевых соединениях и атаках. Данные о каждом соединении содержат 41 параметр и разделены на четыре категории, соответствующие типам атак:
1) Denial of Service Attack (DoS) – отказ в доступе легальному пользователю;
2) User to Root Attack (U2R) – злоумышленник получив доступ к системе в качестве рядового пользователя, пытается эксплуатировать уязвимости системы и стать суперпользователем;
3) Remote to Local Attack (R2L) – злоумышленник пытается получить удаленный доступ к системе с неавторизированной машины;
4) Probe – сбор информации о вычислительной сети с целью обхода системы управления ее безопасностью.
При выборе архитектуры нейронной сети было решено учитывать девять параметров (табл. 1) которые обеспечивают полное описание информации, переданной в пакете [7].
Таблица 1. Основные параметры сетевого соединения
Параметр
|
Описание
|
duration
|
Длительность соединения (секунды)
|
protocol_type
|
Тип протокола (tcp, udp, и др.)
|
service
|
Сетевая служба получателя (http, telnet и др.)
|
flag
|
Состояние соединения
|
src_bytes
|
Число байтов переданных от источника получателю
|
dst_bytes
|
Число байтов переданных от получателя источнику
|
land
|
1 если соединение по идентичным портам; 0 в других случаях
|
wrong_fragment
|
Количество «неверных» пакетов
|
urgent
|
Количество пакетов с флагом URG
|
Спроектированная нейронная сеть содержала входной слой, один скрытый слой и выходной слой. Входной слой нейронной сети, имеет 9 нейронов, выходной слой имеет два нейрона, соответствующие нормальной работе и действиям злоумышленника (рис. 2).
Рис. 2. Архитектура нейронной сети
Набор данных (3000 кортежей) был разделен на три группы: для обучения, для тестирования и для подбора наиболее оптимального состояния системы (65% записей использовалось для обучения системы, 20% - тестирование, а 15% - для подбора наиболее оптимального состояния системы).
Для обучения искусственной нейронной сети применялся алгоритм обратного распространения ошибки [8]. В нем вычисляется ошибка, как выходного слоя, так и каждого нейрона обучаемой сети, а также коррекция весов нейронов в соответствии с их текущими значениями. На первом шаге данного алгоритма веса всех межнейронных связей инициализируются случайными значениями (от 0 до 1). После инициализации весов в процессе обучения нейронной сети выполняются следующие шаги:
- прямое распространение сигнала;
- вычисление ошибки нейронов последнего слоя;
- обратное распространение ошибки.
Прямое распространение сигнала производится послойно, начиная со входного слоя, при этом рассчитывается сумма входных сигналов для каждого нейрона и при помощи функции активации генерируется отклик нейрона, который распространяется в следующий слой с учетом веса межнейронной связи согласно. В результате выполнения данного этапа мы получаем вектор выходных значений нейронной сети. Следующий этап обучения – вычисление ошибки нейронной сети как разницы между ожидаемым и действительным выходными значениями.
Полученные значения ошибок распространяются от последнего, выходного слоя нейронной сети, к первому. При этом вычисляются величины коррекции весов нейронов в зависимости от текущего значения веса связи, скорости обучения и ошибки, внесенной данным нейроном. После завершения данного этапа шаги описанного алгоритма повторяются до тех пор, пока ошибка выходного слоя не достигнет требуемого значения.
Результаты обучения и тестирования спроектированной нейронной сети показывают возможность её применения для решения задачи обнаружения сетевых компьютерных атак. Нейронная сеть правильно классифицирует активность в сети в 93% случаев распознавая действия злоумышленника. Результаты исследования позволяют сделать вывод о том, что предложенная нейросетевая система с способна высокой вероятностью распознавать сетевые атаки, при относительно небольшом числе ложных срабатываний.
References
1. Goncharov V.A., Przhegorlinskii V.N. Metod obnaruzheniya setevykh atak, osnovannyi na klasternom analize vzaimodeistviya uzlov vychislitel'noi seti // Vestnik Ryazanskogo gosudarstvennogo radiotekhnicheskogo universiteta. 2011. № 36. C. 3-10.
2. Hofmann A., Sick B. Evolutionary Optimization of Radial Basis Function Networks for Intrusion Detection. Proceedings, International Joint Conference on Neural Networks (Volume 1), 2003. p. 415-420.
3. Middlemiss M., Dick G. Feature Selection of Intrusion detection data using a hybrid genetic of hybrid Intelligent systems. IOS Press Amsterdam, 2003. pp. 519-527.
4. Kruglov V.V., Borisov V.V. Iskusstvennye neironnye seti. Teoriya i praktika. M.: Goryachaya liniya - Telekom, 2001. 382 s.
5. Osovskii S. Neironnye seti dlya obrabotki informatsii. M.: Finansy i statistika, 2002. 344 s.
6. KDD Cup 1999 Data [Elektronnyi resurs] http://kdd.ics.uci.edu/databases/kddcup99 (data obrashcheniya: 13.02.2016)
7. Kayacik H.G., Zincir-Heywood A.N., Heywood M.I. Selecting Features for Intrusion Detection: A Feature Relevance Analysis on KDD 99 Intrusion Detection Datasets. Proceedings of the Third Annual Conference on Privacy, Security and Trust (PST-2005), October 2005.
8. Mustafaev A.G. Primenenie iskusstvennykh neironnykh setei dlya rannei diagnostiki zabolevaniya sakharnym diabetom // Kibernetika i programmirovanie. 2016. № 2. S. 1-7. DOI: 10.7256/2306-4196.2016.2.17904. URL: http://e-notabene.ru/kp/article_17904.html
|