Быстрое и повсеместное распространение Интернета привело к бурному развитию компьютерных сетей, что позволило существенно расширить возможности для компаний, предоставляющих свои услуги через глобальную сеть. К глобальной сети подключены миллионы устройств и пользователей, благодаря чему множество фирм и потребителей взаимодействуют между собой. Для реализации своих услуг компании используют информационные ресурсы, которые позволяют выполнять обработку информации, относящуюся к их клиентам. Некорректная работа или недоступность сервисов может повлечь значительные потери, как финансовые, так и клиентские.
Именно по этим причинам в последние годы информационные ресурсы и сервисы все чаще сталкиваются с вредоносным воздействием, осуществляемым с использованием протоколов межсетевого взаимодействия – удаленной сетевой атакой.
Среди множества видов сетевых атак наибольшее распространение получила атака типа 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 (дата обращения: 04.11.2025).



