Быстрое и повсеместное распространение Интернета привело к бурному развитию компьютерных сетей, что позволило существенно расширить возможности для компаний, предоставляющих свои услуги через глобальную сеть. К глобальной сети подключены миллионы устройств и пользователей, благодаря чему множество фирм и потребителей взаимодействуют между собой. Для реализации своих услуг компании используют информационные ресурсы, которые позволяют выполнять обработку информации, относящуюся к их клиентам. Некорректная работа или недоступность сервисов может повлечь значительные потери, как финансовые, так и клиентские.
Именно по этим причинам в последние годы информационные ресурсы и сервисы все чаще сталкиваются с вредоносным воздействием, осуществляемым с использованием протоколов межсетевого взаимодействия – удаленной сетевой атакой.
Среди множества видов сетевых атак наибольшее распространение получила атака типа DDoS. По данным статистики [2-3,7] данный вид угрозы занимает одно из лидирующих мест ежегодно. Причинами распространения подобного вредоносного сетевого воздействия является простота реализации, исчерпывающие сведения о механизме исполнения и малые требования к знаниям и вычислительным ресурсам злоумышленника.
DDoS-атака (Distributed Denial of Service) – вид злонамеренной деятельности, ставящей своей целью довести компьютерную систему до состояния, когда обслуживание правомерных пользователей и корректное выполнение возложенных на нее функций невозможно. DDoS-атака осуществляется одновременно с большого числа компьютеров, совокупность которых представляет собой ботнет [11].
Материалы и методы исследования
Для успешного противодействия сетевым атакам разрабатываются методы и механизмы защиты; практически все современные программные и программно-аппаратные средства защиты используют целый набор методов. Из-за высокой стоимости средств защиты многие компании отказываются от их приобретения и эксплуатации, что приводит к существенному росту финансовых и клиентских потерь при осуществлении сетевых атак. Основные механизмы, применяемые в современных средствах противодействия DDoS-атакам, представлены в таблице 1 [1].
Таблица 1
Основные механизмы защиты. Сравнительный анализ
|
Метод |
||||
Критерий |
Анализ состояний |
Нейронные сети |
Экспертные системы |
Сигнатурные методы |
Статистические методы |
Уровень наблюдения |
Сеть, ОС, приложение |
Сеть, ОС |
Сеть, ОС |
Сеть, ОС, приложение |
Сеть, ОС |
Аномалии/ Злоупотребления |
-/+ |
+/+ |
+/+ |
-/+ |
+/- |
Верифицируемость |
+ |
- |
+ |
+ |
- |
Адаптивность |
- |
+ |
+ |
- |
+ |
Устойчивость |
+ |
- |
+ |
+ |
- |
Вычислительная сложность |
Низкая |
Средняя |
Высокая |
Низкая |
Средняя |
Одним из наиболее эффективных и перспективных методов обнаружения DDoS-атак является механизм работы нейронных сетей, широко применяющийся в современных средствах защиты.
Искусственная нейронная сеть – математическая модель, а также её программная или аппаратная реализация, построенная по принципу организации и функционирования биологических нейронных сетей [9-10]. Производительность нейронной сети напрямую зависит от выбранной архитектуры, параметров и метода обучения.
Каждый нейрон представляет собой единицу обработки информации в нейронной сети. В модели нейрона можно выделить три основных элемента [5-6,8]:
1. Набор синапсов – входные значения, предаваемые в нейрон. Каждый синапс характеризуется своим весом.
2. Сумматор – складывает значения входных сигналов, взвешенных относительно соответствующих синапсов нейрона.
3. Функция активации – ограничивает амплитуду выходного значения сигнала нейрона.
В модели нейрона также реализован пороговый элемент, который отражает увеличение или уменьшение входного сигнала, подаваемого на функцию активации.
В математическом представлении функционирование нейрона можно описать следующими уравнениями:
(1)
(2)
где – входные сигналы; – синаптические веса нейрона k; порог; функция активации; выходной сигнал нейрона.
В качестве функции активации была выбрана сигмоидальная функция, график которой напоминает букву S. Данная функция задается следующим выражением:
(3)
где параметр наклона сигмоиды.
Следующим важным этапом в процессе создания нейронной сети является реализация обучения. Эффективность работы нейронной сети напрямую зависит от качественной настройки синаптических весов.
Обучение – это процесс, в котором свободные параметры нейронной сети настраиваются посредством моделирования среды, в которую эта сеть встроена. Тип обучения определяется способом настройки этих параметров.
Процесс обучения предполагает следующую последовательность событий:
1. В нейронную сеть поступают стимулы из внешней среды – входные значения.
2. В результате изменяются свободные параметры нейронной сети – синаптические веса.
3. После изменения внутренней структуры нейронная сеть отвечает на возбуждения уже иным образом.
В качестве алгоритма обучения был выбран один из наиболее известных [8] методов – метод обратного распространения ошибки. Обучение предполагает два вычислительных прохода по всем слоям сети: прямого и обратного. При прямом проходе входной вектор подается на входные узлы сети, после чего распространяется от слоя к слою. В результате генерируется набор выходных сигналов, который и является фактической реакцией сети. Во время прямого прохода все синаптические веса сети фиксированы; во время обратного прохода синаптические веса настраиваются в соответствии с правилом коррекции ошибок, а именно: фактический выход сети вычитается из желаемого отклика, в результате формируется сигнал ошибки. Этот сигнал впоследствии распространяется по сети в направлении, обратном направлению синаптических связей. Синаптические веса настраиваются с целью максимального приближения выходного сигнала сети к желаемому.
Вычисление сигнала ошибки сети задается следующей формулой:
(4)
где сигнал ошибки нейрона j на итерации n, желаемый отклик нейрона j, сигнал, генерируемый на выходе нейрона j.
Обучение нейронной сети происходит путем расчета необходимой величины корректировки каждого из синаптических весов по следующей формуле:
(5)
где положительное значение, называемое постоянной момента, параметр скорости обучения, i – синаптическая связь нейрона j с нейроном i, локальный градиент нейрона j, поступивший сигнал от нейрона i в нейрон j. Правая часть выражения (5) необходима для повышения скорости обучения без потери устойчивости, левая часть является классическим дельта-правилом изменения синаптических весов.
Локальный градиент определяется в соответствии с положением слоя, где находится нейрон:
(6)
Осуществив вычисление локального градиента нейронов, необходимо произвести постепенный расчет их новых весовых коэффициентов по формуле (5), начиная с выходного слоя. Новые весовые коэффициенты вычисляются после каждого обучающего примера.
В качестве обучающей выборки использована база сетевых атак одного из ведущих университетов [12]. В данную базу включены основные виды сетевых атак, в том числе атаки типа DDoS. База данных состоит из текстовых файлов, в каждой строке которых содержится образ соединения, включающий 41 параметр сетевого трафика; образ соединения отмечен как «атака» или «не атака».
В связи с тем, что обучение нейронной сети будет осуществляться на примере DDoS-атак, исходная база данных была оптимизирована: выделены основные параметры соединения, достаточные для идентификации DDoS-атак и убраны записи сетевых образов, не относившихся к выбранному типу вредоносного воздействия.
В результате была составлена новая база данных, включающая записи 6 видов DDoS-атак: back, land, neptune, pod, smurf, teardrop. Каждая запись содержит 28 переменных; наиболее важные параметры представлены в таблице 2 [12].
Таблица 2
Основные параметры сетевого трафика
№ |
Параметр |
Описание |
1 |
duration |
Продолжительность соединения |
2 |
service |
Служба |
3 |
flag |
Флаг терминального состояния IP-соединения |
4 |
src_byte |
Количество байт, передаваемых от источника к приемнику |
5 |
dst_byte |
Количество байт, переданных от приемника к источнику |
6 |
land |
Равенство порта отправителя порту получателя |
7 |
wrong_fragment |
Количество отброшенных пакетов |
8 |
urgent |
Число пакетов с флагом URG |
При обучении нейронной сети и её дальнейшем использовании необходимо произвести предварительное нормирование параметров поступающих примеров, поскольку значения параметров могут отличаться друг от друга на несколько порядков. После нормализации значения элементов находятся в промежутке от 0 до 1 [4].
Нормализация каждого элемента происходит по формуле:
, (7)
где значение элемента до нормализации, минимальное и максимальное значения элементов, нормализованный параметр.
Результаты исследования
Для практической реализации нейронной сети была выбрана архитектура многослойного персептрона – многослойная нейронная сеть прямого распространения. Сеть состоит из множества входных узлов, образующих первый слой, нескольких скрытых слоев вычислительных нейронов и одного выходного слоя нейронов. Входной сигнал распространяется по сети в прямом направлении, от слоя к слою.
Для определения количества скрытых слоев и числа нейронов в каждом скрытом слое были проведены исследования эффективности работы нейронных сетей различных структур по ключевым параметрам.
Вначале оценивалась эффективность работы нейронной сети с разным количеством нейронов в единственном скрытом слое. Размер обучающей выборки во всех экспериментах составил 70 % от составленной базы данных. Далее изучалось влияние количества слоев нейронной сети на успешность вычислений, в каждом скрытом слое нейронной сети находилось 28 нейронов. После этого производился поиск оптимального количества нейронов второго скрытого слоя. Эффективность работы нейронной сети оценивалась по следующим критериям: скорость обучения, количество ошибок и вычислительная сложность.
Оптимальный результат показала нейронная сеть со следующей архитектурой:
- входной слой;
- первый скрытый слой из 28 нейронов;
- второй скрытый слой из 14 нейронов;
- выходной слой.
Используя полученные данные, в среде Microsoft Visual Studio был разработан программный комплекс на языке C#, который включает несколько режимов работы: обучение, тестирование и диагностику. В режиме обучения происходит изменение синаптических весов согласно выбранному алгоритму обучения. Реализованные опции, такие как скорость обучения, диапазон угла наклона сигмоиды, параметр порога и величина момента градиентного спуска, позволяют настраивать режим обучения. В режиме тестирования осуществляется анализ корректности подобранных синаптических весов нейронной сети; в режиме диагностики нейронная сеть выполняет проверку лог-файлов на наличие аномалий, свидетельствующих о DDoS-атаке.
На основе разработанного программного комплекса были проведены исследования влияния параметров обучения на эффективность работы нейронной сети: начальные значения параметров были заданы случайным образом, их коррекция осуществлялась вручную в процессе обучения. Сравнительный анализ начальных и предложенных значений параметров проводился путем подсчета ошибок первого и второго рода в режиме тестирования нейронной сети с использованием тестовой выборки. Ошибки первого рода представляют собой ситуацию, когда авторизованные пользователи классифицируются как нарушители; ошибки второго рода – когда нарушители классифицируются как авторизованные пользователи.
Рисунок 1. Сравнительный анализ работы нейронной сети
Выводы
При обработке обучающей выборки общее число ошибок из 200 000 примеров при начальных параметрах достигало 0,762 %. После оптимизации параметров обучения общее число ошибок снизилось до 0,298 %. Для обучения нейронной сети были выбраны следующие значения параметров:
- скорость обучения: 0,300;
- угол наклона сигмоиды: 2,0;
- параметр порога: 0,250;
- величина момента: 0,200.
Рецензенты:
Ключко В.И., д.т.н., профессор, профессор кафедры ИСП Кубанского государственного технологического университета, г. Краснодар;
Пиотровский Д.Л., д.т.н., профессор, зав. кафедрой АПП Кубанского государственного технологического университета, г. Краснодар.
Библиографическая ссылка
Частикова В.А., Картамышев Д.А., Власов К.А. НЕЙРОСЕТЕВОЙ МЕТОД ЗАЩИТЫ ИНФОРМАЦИИ ОТ DDOS-АТАК // Современные проблемы науки и образования. – 2015. – № 1-1. ;URL: https://science-education.ru/ru/article/view?id=18343 (дата обращения: 06.10.2024).