ВВЕДЕНИЕ 3
1. ТЕОРИТИЧЕСКИЕ И КОНЦЕПТУАЛЬНЫЕ ОСНОВЫ МЕТОДА
ОБНАРУЖЕНИЯ DDoS-АТАК НА ОСНОВЕ НЕЙРОННОЙ СЕТИ 6
1.1 Структура нейронной сети 6
1.2 Описание выбранного метода обнаружения DDoS-атак 8
1.3 Статистические данные о запросах пользователей 11
1.3 Построение модели входных данных для нейронной сети на основе данных http-запроса 13
1.5 Обучение и тестирование нейронной сети 15
2. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ И АНАЛИЗ ВЫБРАННОГО
АЛГОРИТМА ОБНАРУЖЕНИЯ DDoS-АТАК 17
2.1 Описание разработанного программного обеспечения 17
2.2 Описание классов и методов, используемых для создания
программного обеспечения 24
2.3 Анализ полученных экспериментальных данных 26
ЗАКЛЮЧЕНИЕ 36
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 38
ПРИЛОЖЕНИЕ
В последние годы увеличилось количество атак, направленных на доступность информации, и это логично, так как данный критерий является одним из основных наряду с конфиденциальностью и целостностью для информационной безопасности объекта. Увеличение темпов роста таких атак на web-приложение влечет за собой серьезные финансовые потери для интернет-бизнеса, поэтому, важным аспектом успешного развития сайта является возможность беспрепятственного доступа к web-ресурсам и обеспечение их стабильной работы. Большое количество пользователей делает web-ресурс интересной мишенью для компьютерных атак, в частности, атак, целью которых является значительное ухудшение или прекращения предоставления сервиса легитимным пользователям.
Существует огромное количество факторов, которые влияют на формирования угроз доступности информации. Одной из самых опасных угроз является атака типа «отказ в обслуживании» (DoS-атака). Если атака производится с нескольких компьютеров, то имеет место DDoS-атака (Distributed Denial of Service, распределённая атака типа «отказ в обслуживании»). Данная атака реализуется путем увеличения нагрузки на web-приложение, либо осуществляется на прикладном уровне, для этого выполняется взаимодействие с веб ресурсом по протоколу http.
Каждая надежная система обнаружения DDoS-атак должна удовлетворять некоторым очень важным спецификациям. Во-первых, это высокий уровень обнаружения с минимальным количеством ложных тревог. Во-вторых, требуется обнаружение в реальном времени с использованием небольшого объема памяти и центрального процессорного времени. В-третьих, необходимо обеспечить минимальное вмешательство детектора DDoS-атак в движение трафика. Существует много методов обнаружения атак, направленных на инфраструктуру web-приложения ([8]), но почти все они являются неэффективными, так как различные компоненты современных web-приложений сильно отличаются частотой использования и потреблением аппаратных ресурсов. Многие из существующих методов используют простейшие алгоритмы обработки поступающей информации, поэтому не обнаруживают значительное число атак, направленных на web-приложение.
Проанализировав материалы, посвященные обнаружению данных атак, удалось прийти к выводу, что данные атаки обнаружить бывает очень сложно, а провести их может любой начинающий программист и даже школьник. Поэтому для создания эффективной системы обнаружения требуется применение качественных новых подходов к обработке информации, которые должны основываться на сравнении профиля системы в состояниях различных атак, а также проверять действия пользователя с допустимой моделью его безопасной работы. В последнее время перспективным методом является обнаружение злоупотреблений с помощью нейронных сетей. Этот метод и будет использоваться в данной работе.
Цель работы - разработка алгоритма с использованием нейронных сетей, который по анализу параметров http-запроса осуществляет обнаружение DDoS-атак. В данной работе рассмотрен метод обнаружения DDoS-атаки на основе нейронной сети прямого распространения. Данный метод описан в статье Сорокина С.Н. «Метод обнаружения атак типа “отказ в обслуживании" на web-приложения» ([1]).
Для достижения данной цели потребовалось решить следующие задачи:
1. Изучить особенности атак типа «отказ в обслуживании» на web- приложение;
2. Изучить принципы построения и использования нейронных сетей для задач классификации;
3. Построить модель входных данных для нейронной сети на основе данных http-запроса;
4. Создать генератор http-запросов для проведения экспериментального исследования модели;
5. Спроектировать и разработать приложение для решения задачи обнаружения атак типа «отказ в обслуживании» по http-запросу;
6. Провести эксперименты с помощью приложения для оценки качества предлагаемого алгоритма.
Результатом работы должны стать модель и алгоритм на основе использования нейронной сети и реализующее его приложение, которое классифицирует http-запросы по критерию наличия в нем подозрения на угрозу атаки «отказ в обслуживании», а также генератор http-запросов, который позволит построить обучающие и тестовые выборки для экспериментального исследования разработанной модели и алгоритма.
В данной работе был рассмотрен и разработан метод обнаружения DDoS-атаки на основе нейронной сети прямого распространения. Для построения алгоритма были определены наиболее существенные параметры, которые позволяют эффективно анализировать входящий трафик. Для проведения экспериментального исследования модели был создан генератор http- запросов, который позволяет построить обучающие и тестовые выборки для экспериментального исследования разработанной модели и алгоритма. На основании разработанного алгоритма создано и протестировано программное обеспечение, которое получает вероятность наличия такой атаки по заданному http-запросу. Проанализировав работу алгоритма на различных параметрах, нейронной сети были сделаны выводы:
• Вычислительная эффективность зависит от количества нейронов в скрытых слоях и от размера обучающей выборки.
• Большое количество нейронов в слое не приводит к хорошему результату, а наоборот его ухудшает.
• Если нейронную сеть обучать большое количество раз на одних и тех же выборках, то мы получим эффект переобучения.
• Нейронная сеть ведет себя не закономерно, то есть очень сложно понять, по какому алгоритму выбирать количество слоев, количество нейронов в слоях, размер обучающей выборки, входные параметры и т.д. Поэтому для обучения сети и нахождения эффективного варианта может потребоваться много времени.
• Много времени требуется для нахождения оптимальных входных параметров для нейронной сети.
• В ряде случаев ошибки первого и второго рода зависят обратно пропорционально. То есть с ростом ошибки первого рода уменьшается ошибка второго рода и наоборот.
Экспериментальные результаты показывают, что предложенный метод может быть применен для обнаружения DDoS-атаки. Кроме того разработанная программа может фильтровать входящий трафик в онлайн-режиме, а также легко подстраиваться под любой web-ресурс, так как все параметры для обучения можно изменять под особенности конкретного web- приложения.
1. Сорокин С.Н. Метод обнаружения атак типа “отказ в обслуживании" на web-приложения // Прикладная дискретная математика, №1 (23), 2014. - с.55-64.
2. Бурлаков М.Е. Метод фильтрации входящего на основе двухслойной рекуррентной сети//«Ползуновский вестник», № 3/2, 2012.- с.215-218.
3. Тарасов Я.В. Метод обнаружения низкоинтенсивных DDoS - атак на основе гибридной нейронной сети//Известия ЮФУ. Технические науки. -с.47-56.
4. Choudhari D.M. , Kale Madhav DDOS Attack Detection Based on an En-semble of Neyral Classifier //IJCSNS International Journal of Computer Sci-ence and Network Security, VOL.14 No.7, July 2014. - p. 122-129.
5. Хафизов А.Ф. Нейросетевая система обнаружения атак на WWW - сер-вер // Автореферат диссертации на соискание ученой степени кандидата технических наук, Уфа, 2004г. - с. 1-20.
6. Gavrilis Dimitris, Dermatas Evangelos Real-time detection of distributed denial-of-service attacks using RBF networks and statistical features//- De-partment of Electrical Engineering and Computer Technology, University of Patras, Kato Kastritsi, 17 July2003, - p.235-245.
7. Степанов Р.Г. Технология Data Mining Интеллектуальный Анализ Данных. - Казань: ГОУ ВПО «Казанский Государственный Университет им. В.И. Ульянова-Ленина» Факультет вычислительной математики и кибернетики Кафедра экономической кибернетики, 2008. - 58с.
8. Тоби Сегаран Программируем коллективный разум.- Пер. с англ. - СПб: Символ-Плюс, 2008. - 368 с.
9. Васенков Д.В. Методы обучения искусственных нейронных сетей// Компьютерные инструменты в образовании, № 1, 2007. - с.20-29.
10. Aleksandar Kuzmanovic, Edward W. Knightly Low-rate TCP-targeted de¬nial of service attacks and counter strategies // IEEE/ACM Transactions onNetworking, № 14 (4), 2006. - p.75-85.
11. James Cannady Artificial Neural Networks for Misuse Detection// School of Computer and Information Sciences Nova Southeastern University Fort Lauderdale, 2001. - p.1-20.