Scientific journal
Modern problems of science and education
ISSN 2070-7428
"Перечень" ВАК
ИФ РИНЦ = 0,940

NEURAL NETWORK METHOD FOR INFORMATION PROTECTION FROM DDOS-ATTACKS

Chastikova V.A. 1 Kartamyshev D.A. 1 Vlasov K.A. 1
1 Kuban State Technological University
In this article was analyzed some of existing methods and mechanisms of protection from network attacks; been studied the effectiveness of the neural networks of different structures. To search for the most effective architecture of the neural network conducted a number of studies. The best architecture on the results of research – is a neural network type of multilayer perceptron. Learning of neural network performed by using the error back-propagation algorithm. For learning was used signature database of network attacks, including more than 4 million records. This network has been implemented as a software package using the Microsoft Visual Studio. The computer program includes a training mode, benchmarking and diagnostic records. On the basis of the developed software carried out testing of implemented protection methods. During the study of the algorithm been performed optimization the parameters of neural network training. Researches have shown that the application of the proposed method significantly increased the work efficiency and reduced number of errors in detection neural network.
perceptron
neural network
DDoS-attack
Network attack

Быстрое и повсеместное распространение Интернета привело к бурному развитию компьютерных сетей, что позволило существенно расширить возможности для компаний, предоставляющих свои услуги через глобальную сеть. К глобальной сети подключены миллионы устройств и пользователей, благодаря чему множество фирм и потребителей взаимодействуют между собой. Для реализации своих услуг компании используют информационные ресурсы, которые позволяют выполнять обработку информации, относящуюся к их клиентам. Некорректная работа или недоступность сервисов может повлечь значительные потери, как финансовые, так и клиентские.

Именно по этим причинам в последние годы информационные ресурсы и сервисы все чаще сталкиваются с вредоносным воздействием, осуществляемым с использованием протоколов межсетевого взаимодействия – удаленной сетевой атакой.

Среди множества видов сетевых атак наибольшее распространение получила атака типа 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.

Рецензенты:

Ключко В.И., д.т.н., профессор, профессор кафедры ИСП Кубанского государственного технологического университета, г. Краснодар;

Пиотровский Д.Л., д.т.н., профессор, зав. кафедрой АПП Кубанского государственного технологического университета, г. Краснодар.