№ 5 (47) 2013
Л. Г. Комарцова, докт. техн. наук, профессор Калужского филиала МГТУ им. Н. Э. Баумана Ю. Н. Лавренков, аспирант Калужского филиала МГТУ им. Н. Э. Баумана
Применение нейросетевых ассоциативных машин для обнаружения вторжений в локальную сеть
Предложен алгоритм объединения мнений экспертов, построенных на основе многослойного персептрона, с помощью алгоритмических композиций с динамическим механизмом оценки коэффициента доверия к каждому эксперту.
введение
Задачи аппроксимации различного рода зависимостей возникают при проектировании сложных систем и определении их внутренних характеристик [1, 2]. Для обнаружения скрытых закономерностей решаемой задачи можно воспользоваться математическими методами, но они не всегда имеют универсальный характер и подходят для решения широкого круга задач и могут потребовать больших вычислительных затрат [3]. Другое направление для получения аппроксимирующей зависимости связано с использованием искусственных нейронных сетей (НС). Основываясь на том, что НС являются универсальными аппроксиматорами, можно выявлять искомые зависимости в большинстве задач путем анализа информации о функционировании систем и обучении на основе этой информации.
В случае, когда необходимо решить задачу, содержащую сложные внутренние зависимости, которые могут изменяться во времени (в контексте решаемой задачи вторжение в сеть может осуществляться различными методами с использованием разнообразных механизмов [4, 6]), качество решения задачи может быть повышено с помощью ансамблей нейронных сетей. В результате параллельной обработки данных множеством нейронных сетей (экспертов) и последующего объединения выходных сиг-
налов существует вероятность получения решения, превосходящего по качеству результаты каждой нейронной сети, входящей в ансамбль.
При обучении многослойных нейронных сетей наиболее часто используется метод обратного распространения ошибки [5], однако он имеет ряд недостатков, наиболее существенный из которых — неопределенно долгий процесс обучения. В сложных задачах обучение может происходить в течение длительного времени, это приводит к тому, что становится невозможным использовать ансамбли нейронных сетей в системах обнаружения вторжений, так как многие из них должны работать в реальном масштабе времени. Второй недостаток — попадание сети в локальный минимум. Эти недостатки устраняются путем применения различного рода комбинированных процедур, с помощью которых можно осуществить небольшие случайные изменения весовых коэффициентов нейронной сети.
В качестве задачи, решаемой с помощью ансамбля нейронных сетей, рассмотрим задачу обнаружения вторжений в локальную компьютерную сеть. В большинстве случаев выявление вредоносного поведения осуществляют по сигнатурам, описывающим опасные признаки трафика или нестандартное поведение в сети [7]. В случае, когда злоумышленник меняет стратегию атаки, данный метод бесполезен, пока не произведут выявление и анализ новой атаки с после-
№ 5 (47) 2013
дующим формированием сигнатур. В этом случае применение ансамблей нейронных сетей позволяет обнаружить атаку, которая является новой, а использование некоторого множества нейронных сетей, входящих в ансамбль, позволяет увеличить вероятность ее обнаружения.
Постановка задачи и описание алгоритма
При решении сложных задач может возникнуть ситуация, когда попытки получить приемлемое решение, даже при использовании различных алгоритмов, параллельно обрабатывающих и решающих одну и ту же проблему, не дают результатов. В этом случае решение может быть найдено путем объединения нескольких алгоритмов в ком-^ позицию. При использовании нейросете-<а вых методов, основанных на применении 5 нескольких нейронных сетей — ансамблей, ^ входные данные обрабатываются с помо-^ щью комплекса НС.
Ч В настоящей работе многослойные пер-| септроны объединялись в ансамбль ней-¡^ ронных сетей. Обучение каждой нейрон® ной сети проводилось по методу обратно-| го распространения ошибки с применением комбинаторных эвристик. Нейросетевой ансамбль для обнаружения вторжений состо-® ял из трех нейронных сетей. Первая сеть § обучалась стандартным алгоритмом обрат-| ного распространения ошибки (обозначим | ее НС С). При обучении второй нейронной § сети применялся тот же алгоритм обучения,
| но модифицированный комбинаторной эв-й
§ ристикой на основе алгоритма упреждаю-
§ щего поиска [8], который был адаптирован
та для применения в процедуре обучения ней-
§ ронной сети (НС А). Обучение второй НС
^ проводилось по методу обратного распро-
о странения ошибки до тех пор, пока разница ошибок обучения для двух соседних ите-
§ раций была больше некоторого порога, если величина изменения ошибки опускалась
| ниже заданного порога, то применялась
§ эвристика. Далее сеть обучалась по ме-
тоду обратного распространения ошибки. Количество итераций обучения с эвристикой, применяемой за фиксированное время (в данной задаче 50 итераций алгоритма обучения НС), определялось на основе распределения Пуассона [9, 10]. Каждые 50 циклов обучения параметр распределения Пуассона уменьшался на 1, начиная со значения 10. В результате вероятность применения эвристики уменьшалась по мере обучения сети, чтобы на начальном этапе обучения препятствовать попаданию метода обратного распространения ошибки в локальный минимум и дать возможность более детальной настройки параметров сети на завершающих этапах. Структурная схема ассоциативной машины приведена на рис. 1, где х1, х2,..., хк — вектор входного сигнала, у1, у2,..., уь — выходные сигналы, е1, е2,..., вь — сигналы ошибок нейронных сетей, входящих в состав ассоциативной машины, бь б2,..., б11 — вектор желаемых значений, сеть шлюза — механизм, выполняющий объединение решений компонентов ассоциативной машины.
Рассмотрим комбинаторный эвристический алгоритм упреждающего поиска более подробно:
1. Выбрать нейронный элемент из скрытого или выходного слоя нейронной сети. Веса данного нейрона рассматриваем как многомерную начальную точку х0 с числом компонент I = 0, 1, 2, ... N, равным количеству весов, входящих в выбранный нейрон. Полагаем РмИН = fX), где FмИH — ошибка обучения НС, представленная в виде разницы между верным и полученным значениями выходов нейронной сети при подстановке весовых коэффициентов, закодированных в точке х0, в нейронную сеть.
2. По каждой 1-й компоненте, входящей в выбранную точку, провести оптимизацию, зафиксировав остальные:
А. Выбрать случайным образом возможные значения незафиксированной 1-й компоненты для образования г допустимых комбинаций весовых коэффициентов так, чтобы у выбранных комбинаций ошибка обуче-
№ 5 (47) 2013
Xi-X2-Xk-
jei
Алгоритм
обучения
Алгоритм оценки качества обучения
ИНС„
yh
Алгоритм Алгоритм оценки
обучения качества обучения
dh
t)
Алгоритм Алгоритм оценки
обучения качества обучения
Выходной сигнал У
со §
эё §
о
t
€
Рис. 1. Структурная схема ассоциативной машины
ния НС была меньше, чем у х0. Если этого достичь не удалось, повторить шаг 2 для следующей I + 1 компоненты.
Б. Определить наилучшее из г найденных комбинаций весовых коэффициентов и положить значение минимальной ошибки обучения, равное Fг.
В. Произвести упреждающий поиск:
а) для каждой из допустимых комбинаций весовых коэффициентов, найденных на шаге 2А, провести случайный выбор одного из г возможных значений следующей I + 1 компоненты, если предположить, что она не зафиксирована;
б) выбрать наилучшую из найденных комбинаций и зафиксировать значение компоненты I как оптимальное.
Г. Если I = N, перейти к шагу 3. В противном случае выполнить шаг 2 для компоненты (I + 1).
3. Провести случайный поиск для определения наилучшего значения переменной N при фиксированных значениях других переменных. Найденную точку принять за новую базовую точку х0, а ошибку обучения при подстановке комбинации найденных весов из базовой точки за Fмuu.
4. Перейти к шагу 2 с i = 1, если не достигнута требуемая точность.
Для третьей нейронной сети (НС B) обучение проводилось по методу, аналогичному для второй нейронной сети, но в качестве эвристики применялся алгоритм на основе метода комплексов [11, 12], модифицированный для совместного функционирования с алгоритмом обратного распространения ошибки:
1. Выбрать нейронный элемент из скрытого или выходного слоя нейронной сети. На основе весовых коэффициентов строим комплекс, состоящий из P допустимых предполагаемых значений весовых коэффициентов. Количество предполагаемых значений в комплексе зависит от числа весовых коэффициентов k в выбранном нейроне и определяется по формуле:
P = ceiling((\og(0,75k))-3 + elog(a2k)), (1)
где ceiling (v) — функция, возвращающая наименьшее целое число, которое не меньше v, представленное в виде значения с плавающей точкой. Из анализа формулы (1) видно, что чем больше количество весовых коэффициентов у выбранного нейронного
45
№ 5 (47) 2013
I
1
§
со
I
со
I
I
£
0 §
а §
1 §
^
о <0
0 £
1
р
4
элемента, тем меньше предполагаемых допустимых значений весовых коэффициентов будет сгенерировано. Данная процедура необходима для предотвращения возрастания вычислительной сложности алгоритма при увеличении числа нейронов в топологии нейронной сети. В настоящей работе предполагаемое значение весового коэффициента считается допустимым, если при его подстановке в нейронную сеть ошибка обучения изменится не более чем на 15%. Для каждой точки р = 0, 1, 2, ... Р необходимо выполнить следующие действия:
A. Случайным образом определить допустимые предполагаемые значения весовых коэффициентов, представленных в виде вектора х г, где г — количество значений весовых коэффициентов.
Б. Если получены недопустимые значения, вычислить центр тяжести X уже найденных значений весовых коэффициентов как среднее арифметическое соответствующих компонент точек, в которых представлены веса нейрона, и выполнить преобразование для каждой компоненты предполагаемых значений весовых коэффициентов:
хг = хг + 0,5 • (X - хг). (2)
Повторять процедуру до тех пор, пока точка не станет допустимой.
B. Повторить для всех остальных предполагаемых весовых коэффициентов.
2. Выполнить отражение комплекса:
А. Выбрать предполагаемые допустимые значения весовых коэффициентов для данного нейронного элемента, для которых при подстановке в нейронную сеть ошибка обучения будет максимальной:
f (хя) = тах^ (хг)) = Fmax. (3)
Б. Найти центр тяжести X и новые значения:
хт = X + р- (X - хг), (4)
где Р-параметр, задающий расстояние отражения.
В. Если на предыдущем этапе получена допустимая комбинация и f (X") больше Fмакc, то необходимо уменьшить в два раза расстояние между текущей точкой и центром тяжести и продолжить поиск.
Г. Если полученная комбинация допустима и ошибка обучения меньше Fмакc, то перейти к шагу 3.
Д. Если на предыдущем этапе получена недопустимая комбинация, то необходимо уменьшить в два раза расстояние до центра тяжести и продолжать до тех пор, пока комбинация не станет допустимой.
3. Если достигнуты критерии качества обучения, то прекратить поиск и продолжить обучение с помощью метода обратного распространения ошибки.
Для уменьшения времени, затрачиваемого на обучение экспертов, необходимо сформировать их начальные состояния, выраженные предварительной установкой весовых коэффициентов нейронных сетей. При этом следует учесть, что в данной задаче сети функционируют не каждая по отдельности, а в ансамбле. Необходимо использовать принципы оптимизации на основе кооперативной коэволюции с несколькими популяциями, учитывающие совместное функционирование экспертов. В основу видоизменения популяций для получения решений в настоящей работе был положен иммунный алгоритм оптимизации [13], построенный на основе принципов иммунитета живых организмов, т. е. способности иммунной системы к отторжению чужеродных тел. Естественная иммунная система имеет уникальную способность вырабатывать новые типы антител и отбирать наиболее подходящие из них для взаимодействия с попавшими в организм антигенами. Построенная на основе данного свойства искусственная иммунная система обладает мощными и гибкими способностями обработки информации, представляя собой децентрализованную интеллектуальную систему, которая обеспечивает превосходную адаптацию на локальном уровне и эмерджентность поведения на глобальном уровне, что и позво-
46
№ 5 (47) 2013
ляет использовать подобную систему для генерации начального состояния ассоциативной машины.
По аналогии с естественной иммунной системой молекулы в искусственной иммунной системе могут быть представлены в виде совокупности параметров объектов, выраженной в векторной форме. Математически обобщенная форма любой молекулы в пространстве может быть представлена как строка свойств длины L, которая может состоять из атрибутов любого типа, таких как вещественные числа, целые числа, биты или символы. Тип атрибутов обычно зависит от предметной области задачи, которую решает искусственная иммунная система.
Рассмотрим молекулу антитела, представленную набором параметров персеп-трона и антигена, представленного самим персептроном. С точки зрения задачи распознавания, связь между антителами или между антителом и антигеном вычисляется как мера расстояния или мера аффинности между соответствующими строками свойств. Аффинность антитела — это скалярная величина оценки, показывающая близость ре-
зультата к оптимальному значению. В качестве аффинности в данной задаче используется ошибка обучения персептрона, чем она меньше, тем лучше антитело. Таким образом, антиген можно рассматривать как задачу, которую необходимо решить, а антитело — как решение задачи.
Предполагаемые веса нейронных сетей кодируются в антителах, образующих популяцию (рис. 2). В качестве антигена рассматривается задача инициализации начального состояния эксперта. Предположим, что необходимо найти такое сочетание начальных состояний всех трех экспертов, при котором процесс обучения будет происходить за наименьшее время и обеспечивать эффективность совместного функционирования. Для каждой нейронной сети процесс оптимизации идет независимо от остальных. Он заключается в производстве новых антител с помощью операторов мутации, рекомбинации и различного рода операторов инверсии [11]. Когда возникает необходимость оценки эксперта из какой-либо популяции, то эксперты, начальные состояния которых обусловлены функционированием трех раз-
со
0
1 € 1-.:
Структурный граф многослойного персептрона с двумя скрытыми слоями
Рис. 2. Кодирование параметров персептрона в антителе
47
№ 5 (47) 2013
I
1
§
со
I
со
I
I
£
0
1
§
а §
I §
?! а о
<0
0 £
1 р
4
личных популяций антител, объединяются в один ансамбль, и осуществляется оценка эффективности обучения и функционирования НС экспертов из этих начальных состояний. Таким образом, каждая популяция кооперативной коэволюции пытается найти оптимальную часть общего решения. Такой подход позволяет разбить задачу на подзадачи, что снижает сложность решения.
Алгоритм формирования начального состояния ассоциативной машины можно представить следующим образом.
1. Задать обучающую и тестовую выборку. Обучающая выборка может быть получена на основе экспертных оценок.
2. Сформировать топологию нейронных сетей, входящих в состав ассоциативной машины: задать количество и тип нейронов в каждом слое.
3. Функцию для вычисления аффинности Aff задать следующим образом:
Aff = 1Xб - У!
2 I=1
(5)
где Р — число выходов ассоциативной машины, б — желаемая величина 1-го выхода, у — реальное значение 1-го выхода.
4. Используя метод вещественного кодирования сгенерировать антитела в соответствии с топологиями нейронных сетей, введя ограничения на возможные значения весовых коэффициентов, учитывая вид функции активации (для сигмоидальной функции активации диапазон изменения значений весовых коэффициентов ( -1, +1)).
5. Цикл для каждого поколения антител:
5.1. Цикл для каждого антитела:
5.1.1. вычислить аффинность (с соответствующим антигеном) всех антител;
5.1.2. выбрать п лучших (с минимальной аффинностью) антител;
5.1.3. клонировать выбранные клетки. Количество клонов каждого антитела обратно пропорционально ее аффинности: меньше аффинность — больше клонов;
5.1.4. применить операторы мутации ко всем полученным клонам;
5.1.5. вычислить аффинность всех клонов;
5.1.6. повторно выбрать п лучших клеток (с минимальной аффинностью к соответствующему антигену) из множества измененных клонов и поместить их во временную популяцию клеток памяти;
5.1.7. удалить из популяции те клетки, аффинность которых выше порогового уровня, что приведет к уменьшению размера временной популяции;
5.1.8. вычислить аффинности полученной временной популяции;
5.1.9. удалить из популяции те клетки, аффинность которых выше порога сжатия иммунной популяции, что приведет к повторному уменьшению размера популяции;
5.2. Вычислить аффинности всех вновь полученных антител и удалить те клетки, аффинность которых выше порога сжатия.
5.3. Заменить процент худших антител новыми случайно сгенерированными антителами.
5.4. Вычислить значение аффинности для каждого антитела по формуле в пункте 3.
5.5. Вычислить ошибку обучения Еобщ на всей тестовой выборке для ассоциативной машины.
5.6. Проверить условие останова (Еобщ < X, где X — допустимая погрешность).
5.7. В зависимости от результата предыдущего шага вернуться к шагу 5.1 или перейти к шагу 6, если достигнуты требуемые критерии функционирования.
6. Конец.
Применение коэволюционного алгоритма нацелено на получение лучшего решения, выдаваемого ассоциативной машиной, а не отдельными экспертами. При использовании данного алгоритма возможно уменьшение эффективности алгоритмов обучения для отдельных НС, входящих в состав ассоциативной машины. Для каждого ней-росетевого эксперта создается отдельная популяция антител, внутри каждой популяции производится развитие антител, мутация, удаление и т. д. При проверке эксперта производится удаление антител из популя-
48
№ 5 (47) 2013
ции, не удовлетворяющих критериям функционирования нейросетевой ассоциативной машины. Даже если в антителе закодировано лучшее решение для конкретного эксперта, а на уровне ассоциативной машины оно показало неудовлетворительный результат, то оно будет удалено.
Оценка эффективности приведенных алгоритмов оценивалась по двум параметрам: величины рассогласования и времени установки [2]. Рассогласование М — безразмерная величина, являющаяся мерой близости к графику среднеквадратической ошибки оптимального эксперта (нейронной сети, архитектура и алгоритм обучения которой оптимизировались в течение времени, неприемлемого для практического применения) и экспертов, обученных с помощью обычного и модифицированного алгоритма обратного распространения с применением комбинаторных эвристических алгоритмов:
М — Est Ет1п
-1,
(6)
где Ез1 — устойчивое значение среднеквадратической ошибки обучения, Етпп — минимальная среднеквадратическая ошибка эксперта. Рассогласование с идеализированной моделью НС при обучении обычным алгоритмом обратного распространения составляло в среднем 11,24%, при использовании эвристик рассогласование уменьшалось до 8,35%, а также наблюдалось уменьшение времени сходимости алгоритма к оптимальному устойчивому состоянию. Кроме рассмотренных параметров оценки качества работы нейросетевых экспертов, эффективность применения комбинаторных эвристик и коэволюционного алгоритма была доказана в процессе анализа процента правильно классифицируемых угроз в локальной сети (рис. 7) при непосредственном увеличении количества классифицируемых угроз.
Применение комбинированных эвристических процедур направлено на борьбу с локальными минимумами, которые ме-
шают всем алгоритмам обучения, основанным на поиске минимума функции ошибки, включая алгоритм обратного распространения. Таким образом, реализуется стратегия коррекции весов, вынуждающая веса принимать значения близкие к глобальному оптимуму. На рисунке 3 показаны графики ошибки обучения ассоциативной машины с применением стандартного градиентного алгоритма обучения и с его модификацией на основе использования комбинированных эвристических процедур.
По результатам обработки данных методами математической статистики можно сделать следующие выводы: наилучшим классификатором (без учета функционирования ассоциативной машины, оценка эффективности которой будет произведена ниже), как и следовало ожидать, является многослойный персептрон, алгоритм обучения которого был модифицирован эвристикой на основе упреждающего поиска (НС А). Применение данной модификации позволяет найти наилучшее приближение к глобальному экстремуму функции ошибки сети за счет анализа будущих возможных состояний НС. При использовании алгоритма с эвристикой на основе метода комплексов (НС В) процент распознавания несколько выше, чем у алгоритма обратного распространения ошибки (НС С), так как в процессе обучения сети происходит переключение на локальный алгоритм оптимизации (метод комплексов), который и позволяет обеспечить большую точность.
Многослойные персептроны, входящие в ансамбль и образующие ассоциативную машину, отличаются между собой архитектурой, количеством слоев, количеством нейронов в каждом слое, начальными состояниями весовых коэффициентов. Нейронные сети должны быть достаточно различимы, чтобы погрешности, возникающие при поиске решения одной нейронной сетью, были скомпенсированы другими членами ансамбля. После принятия решения каждой нейронной сетью все полученные выходные сигналы определенным образом
со
0
1
€ 1-.:
49
№ 5 (47) 2013
Рис. 3. Оценка эффективности алгоритмов обучения
§
комбинируются в соответствии с заданным алгоритмом. Итоговый результат, полученный таким ансамблем нейронных сетей, может превосходить по качеству результаты отдельных НС.
Полученные базовые алгоритмы, представленные многослойными персептрона-ми, объединяются с помощью нескольких видов алгоритмических композиций: простого голосования, взвешенного голосования и голосования по старшинству. В случае взвешенного голосования для настройки коэффициентов в данной работе применялся метод оценки качества обучения на основе анализа процесса обучения нейронной сети. Рассмотрим методы объединения решений и получения результирующего решения.
Простейшим примером корректирующей операции является среднее арифметическое или простое голосование:
Ь( х) = ОД х).....Ьт (х)) = 1 (х). (7)
1 !=1
В формуле (7) Ь(х) — алгоритмический оператор, Q — корректирующая операция. Объект у будет относиться к тому классу, к которому его относит большинство базовых алгоритмов.
Корректирующая операция, производящая объединение решений базовых алгоритмов, может иметь свободные параметры [11], которые необходимо настраивать по обучающей выборке наряду с параметрами базовых алгоритмов. Примером является взвешенное среднее, называемое также линейной комбинацией базовых алгоритмов:
Ь(х) = F(b1(x).....Ьт (х)) = £ аЬ (х). (8)
!=1
Веса а{ выражают степень доверия к соответствующим базовым алгоритмам.
Голосованием по старшинству называется корректирующая операция, вычисляемая согласно алгоритму: если Ь1(у) = 1, то объект у относится к классу с1, иначе право голоса передается следующему по старшинству алгоритму Ь2. Если Ь2(у) = 1, то объект у относится к классу с2, и т. д. Передача права голоса продолжается до тех пор, пока один из базовых алгоритмов не примет решения. Если же все алгоритмы возвращают нулевое значение, выдается ответ с0, означающий отказ от классификации данного объекта.
При принятии решения с помощью голосования по старшинству возникает пробле-
50
№ 5 (47) 2013
ма выбора порядка представления входных данных каждому алгоритму для получения решения и оценки его пригодности. Порядок функционирования базовых алгоритмов определяет, какой алгоритм первым выдаст ответ, если алгоритм не отказывается принимать решение, полученный ответ считается реакцией на входное воздействие для всего ансамбля. В случае неправильного определения порядка весь ансамбль может выдать неприемлемое решение, и преимущество использования комбинаций из нескольких нейросетей будет потеряно.
Аналогичная проблема возникает и при взвешенном голосовании, так как определение весовых коэффициентов, т. е. степеней доверия отдельным алгоритмам, устанавливает, какой вклад в общее решение вносит каждый из экспертов ансамбля. В случае неправильного подбора коэффициентов преимущество будет отдано алгоритму, слабо приспособленному для решения поставленной задачи. Для ее решения на этапе обучения нейронных сетей, из которых состоит ансамбль, оценивалась динамика процесса обучения. Чем лучше сформированы отдельные члены ансамбля, тем быстрее они способны воспринимать примеры обучающей выборки. В случае оценки качества обучения по среднему
значению среднеквадратической ошибки на всем множестве примеров из обучающей выборки необходим метод, способный дать представление о качестве обучения нейронной сети. Для получения характеристики качества каждой НС при решении данной задачи применялся метод наименьших квадратов [3], с помощью которого проводилась линейная аппроксимация графика ошибок обучения отдельных нейронных сетей из ансамбля. С помощью указанного метода находят коэффициенты линейной зависимости, при которых функция двух переменных принимает наименьшее значение:
Н(а,Ь) = £(у, - (а • х, + Ь))2
(9)
где X/ — номер итерации алгоритма обучения и у, — среднеквадратическая ошибка обучения нейронной сети на данной итерации. Таким образом, при правильном подборе коэффициентов сумма квадратов отклонений экспериментальных данных от найденной прямой будет наименьшей. После предъявления всех экземпляров из обучающей выборки и коррекции весовых коэффициентов нейронной сети вычисляется ошибка обучения нейронной сети на этой итерации. В результате по-
со
0
1 € 1-.:
Рис. 4. График среднеквадратической ошибки для первой НС
51
№ 5 (47) 2013
Рис. 5. График среднеквадратической ошибки для второй НС
I
1 §
со
I
со
I
I £
0
1 §
а §
I §
?! а о
<0
0 £
1 р
4
лучаем зависимость, отражающую весь процесс обучения. Далее полученная зависимость аппроксимируется с помощью метода наименьших квадратов и график ошибок обучения представляется в виде прямой линии.
Например, на рис. 5 видно, что нейронная сеть данной архитектуры лучше приспособлена для решения поставленной задачи, чем сеть, график ошибок которой изображен на рис. 4. После выполнения подобной операции для всех нейронных сетей, входящих в ансамбль, определяется угол между полученной прямой, аппроксимирующей функцию ошибки, и осью абсцисс. Чем больше этот угол, тем быстрее происходило уменьшение ошибки в процессе обучения, а значит, архитектура нейронной сети лучше сформирована для решения конкретной задачи. Поэтому ей следует присвоить более высокую степень доверия. В соответствии с величинами углов каждой нейронной сети присваивается весовой коэффициент во взвешенном голосовании и определяется порядок при голосовании по старшинству.
После обучения методом обратного распространения ошибки с модификацией комбинированными эвристическими процедурами, ансамбль, состоящий из трех нейронных
сетей, обучается выявлять вторжение в локальную компьютерную сеть.
Ассоциативная машина
для обнаружения вредоносного
поведения
Для выявления вредоносного поведения все персептроны были построены по принципу «победитель забирает все». Выходные сигналы нейронов могут рассматриваться как функции принадлежности к соответствующим классам выявляемых угроз. Количество нейронов в выходном слое соответствовало различным угрозам, на которых происходило обучение нейронных сетей. Активация определенного выходного нейрона соответствовала распознаванию некоторого типа вредоносного поведения в сети. На рецепторы входного слоя пер-септронов подается информация о физическом состоянии канала передачи данных, представленного в настоящей работе кабелем связи типа «витая пара». Вторжение может быть осуществлено путем прямого подсоединения к каналу связи и считывания информации с помощью технических средств [7], поэтому должна быть возможность определения попыток подключения к каналу, основанных на детектировании изменений параметров линии связи. По физи-
52
№ 5 (47) 2013
ческой природе параметры линии аналогичны параметрам электрических контуров, составленных из элементов сопротивления Я, индуктивности L и емкости С [15]. Разница лишь в том, что в контурах эти параметры являются сосредоточенными, а в линиях связи они равномерно распределены по всей длине. Когда осуществляется подключение к линии, происходит изменение рассмотренных параметров. Для детектирования модификации параметров линии связи был использован генератор прямоугольных импульсов, построенный на микросхеме NE555 [15]. Отдельные жилы кабеля подключались к ЯС-цепочке генератора и в случае несанкционированного подключения происходило изменение частоты колебаний. Мониторинг канала связи проводился при различных частотах генератора (рис. 6). Частота генератора регулировалась путем изменения сопротивления резисторов в ЯС-цепочке, что делало невозможным злоумышленнику имитировать частоту и скрыть свое подключение. Изменение сопротивления осуществлялось применением в качестве сопротивления в ЯС цепочках полевых транзисторов, изменяя напряжение между затвором и истоком (например, с помощью цифро-аналогового преобразователя AD7524) можно настроить колебания генератора на определенной частоте.
На рисунке 6 видно, что на 3 участке произошло изменение частоты колебаний (уменьшение). Это может быть следствием подключения к каналу связи, что повлекло за собой увеличение емкости конденсатора ЯС цепочки и уменьшение частоты колебаний. Изменение параметров канала передачи информации может быть и не связано с вредоносной деятельностью. Например, емкость канала может измениться при попадании в него жидкости. Поэтому основная задача ассоциативной машины (АМ) не только обнаружить изменение параметров канала передачи, но и отличить вредоносное поведение от случайных помех, вызвавших изменение параметров линии связи.
В результате на рецепторы подавалась информация о разнице эталонной частоты колебаний и фиксируемой в данный момент частоте, но только после выполнения процедуры масштабирования и приведения значений в отрезок от 0 до 1. В настоящей работе у каждой нейронной сети, входящей в ассоциативную машину, группа рецепторов состояла из трех подгрупп, содержащих по 10 рецепторов в каждой. На каждую подгруппу подавалась информация об изменении соответствующей частоты за единицу времени наблюдения (в данной работе за две секунды) от соответствующего генератора. Выходной слой содержал 10 нейронов, каждый
§
эё £
0
1 € 1-.:
0)
ц 300
о *
а
о 250
100
50
5
1
7
2 3 4 6
-
120 140 160
Отсчет времени (сек)
Рис. 6. График частот при мониторинге канала связи
53
№ 5 (47) 2013
нейрон соответствовал определенной детектируемой угрозе. Прежде чем задействовать ассоциативную машину для обнаружения вторжения, состояние канала передачи информации фиксировали на интервале времени в 60 сек. с интервалом в 2 сек., что соответствует оценке параметров канала на трех различных частотах (частоты генераторов изменялись каждые 20 сек.). Формирование значений элементов выборки для обучения НС осуществлялось по формуле:
^ГеЯоЫ - ЪеЯа
(10)
I
1 §
со
I
со
I
I £
0
1 §
а §
I §
?! а о
<0
0 £
1 р
4
где п = 1...30 — значение ¡-й компоненты обучающей выборки, freqobs — фиксируемая частота, freqst — ожидаемое значение частоты на данном временном интервале. Для примера, приведенного на рис. 6, одна из сигнатур для обучающей выборки может быть сформирована так, как показано в табл. 1. Первый выходной нейрон соответствовал отсутствию угрозы вторжения, второй нейрон был сопоставлен началу вторжения в сеть (сеть предварительно исследуется перед началом вредоносной деятельности), третий нейрон соответствовал попаданию в канал жидкости и отсутствию вредоносного поведения и т. д. Выходные
нейроны сопоставлялись угрозам, которые необходимо было детектировать в локальной сети связи. На основе информации, полученной путем мониторинга канала связи, строятся элементы обучающей выборки. При идентификации поведения на рецепторы экспертов подается информация о состоянии сетевых каналов связи. На основе этого эксперты принимают решение о наличии или отсутствии вредоносного поведения.
Необходимо также учесть и поведение сети во время обнаружения вторжения. В случае если ансамбль НС обнаруживает только признаки физического подключения к каналу и отсутствие какой-либо активности атакующей стороны, то нет необходимости прекращать передачу данных, если используется стойкий криптографический алгоритм шифрования передаваемой информации.
Адекватная реакция экспертов позволит сохранить оптимальную скорость передачи данных даже в случае направленного вредоносного поведения атакующей стороны.
Сравнение эффективности применения нейросетевых ассоциативных машин для обнаружения вторжений в локальную сеть осуществлялось на основе вычисления процента правильно идентифицированных угроз
Количество проверяемы* сигнатур
Рис. 7. Сравнение эффективности отдельных НС и ассоциативной машины
54
п =
№ 5 (47) 2013
Таблица 1 §
Пример образца обучающей выборки для ассоциативном машины <и
/ Отсчет времени (сек.) Значение ожидаемой частоты кГц Значение фиксируемой частоты №даЬз, кГц П Желаемое значение выходных нейронов
1 1 237 242,3682 0,0226
2 3 237 237,4873 0,0020
3 5 237 241,4417 0,0187
4 7 237 239,964 0,0125
5 9 237 245,9534 0,0377
6 11 237 238,2143 0,0051
7 13 237 240,1977 0,0134
8 15 237 242,7183 0,0241
9 17 237 238,472 0,0062
10 19 237 246,0638 0,0382
11 21 70 72,54652 0,0363
12 23 70 70,69781 0,0099
13 25 70 73,45286 0,0493
14 27 70 70,0729 0,0010
15 29 70 72,45329 0,035 0100000000
16 31 70 70,79125 0,0113
17 33 70 71,28306 0,0183
18 35 70 72,12428 0,0303
19 37 70 73,08958 0,0441
20 39 70 70,43456 0,0062
21 41 37 38,06307 0,0287
22 43 37 38,56843 0,0423
23 45 37 37,21083 0,0056
24 47 37 37,23643 0,0063
25 49 37 10,28053 0,7221
26 51 37 10,09115 0,7272
27 53 37 10,29551 0,7217
28 55 37 37,58171 0,0157
29 57 37 38,42204 0,0384
30 59 37 37,90976 0,0245
при увеличении количества анализируемых сигнатур вредоносного поведения, как показано на рис. 7.
Комбинаторные эвристики для алгоритмов обучения НС, описанные выше, позволяют повысить эффективность обобщающей способности нейронных сетей. Поэтому для НС А и НС В процент правильно идентифицированных сигнатур, в которых зако-
дированы признаки вредоносного поведения в локальной сети, при увеличении их количества некоторое время выше, чем для сети, обучение которой производилось без использования эвристических алгоритмов. Эффективность функционирования ассоциативной машины обусловлена возможностью использования обобщающих способностей всех трех нейронных сетей. Таким
-ч ПРИКЛАДНАЯ ИНФОРМАТИКА
№ 5 (47) 2013 ' -
образом, качество решения поставленной задачи существенно повышается при использовании совокупности из нескольких нейросетевых экспертов.
Заключение
Композиции алгоритмов отличаются от обычных алгоритмов тем, что объединяют базовые алгоритмы и способны сами решить исходную задачу. Разработанный адаптивный подход для объединения сетей в ассоциативную машину позволяет автоматически выявлять нейросетевые структуры, наилучшим образом приспособленные для решения конкретной задачи в реальном времени, в темпе поступления новых данных. При этом композиция алгоритмов не знает внутреннего устройства вычислительных процессов, ^ получающих базовые решения. а Результаты экспериментов показали 5 высокую эффективность применения раз-^ личного рода эвристик, комбинируемых ^ со стандартными градиентными алгоритма-Ч ми, и механизма кооперативной коэволю-| ции для проведения оптимальной настрой-¡^ ки и обучения нейросетевой ассоциативной ® машины. В результате объединения вычис-| лительных способностей группы НС возможно получение решения более высокого качества, чем полученные базовые решения ® от отдельных нейронных сетей. Данная осо-§ бенность ассоциативных машин крайне важ-| на для анализа угроз в локальной сети, где | требуется высокая оперативность анализа § безопасности каналов передачи информа-
| ции. Композиции, построенные на основе й „
§ использования нейронных сетей, позволяют § более эффективно решать задачу обнару-« жения вторжений в сеть за счет распреде-§ ления вычислительной нагрузки среди мно-^ жества экспертов, что повышает устойчива вость системы и минимизирует частоту ложных срабатываний.
ё
£ Список литературы
£
Ц 1. Комарцова Л. Г., Максимов А. В. Нейрокомпь-§ ютеры: учеб. пособие для вузов. 2-е изд., пере-
раб. и доп. М.: изд-во МГТУ им. Н. Э. Баумана, 2004. — 400 с.
2. Хайкин С. Нейронные сети: полный курс. 2-е изд. / пер. с англ. М.: Вильямс, 2008. — 1104 с.
3. Новиков Ф. А. Дискретная математика для программистов: учеб. для вузов. 3-е изд. СПб.: Питер, 2009. — 384 с.
4. Столингс В. Современные компьютерные сети. СПб.: Питер, 2003. — 783 с.
5. Бодянский Е. В., Руденко О. Г. Искусственные нейронные сети: архитектуры, обучение, применения. Харьков: ТЕЛЕТЕХ, 2004. — 369 с.
6. Олифер В. Г., Олифер Н. А. Сетевые операционные системы. 2-е изд. Спб.: Питер, 2008.
7. Олифер В. Г., Олифер Н. А. Компьютерные сети. Принципы, технологии, протоколы: учебник для вузов. 3-е изд. СПб.: Питер, 2006.
8. Аттетков А. В., Галкин С. В., Зарубин В. С. Методы оптимизации: учеб. для вузов / под ред. В. С. Зарубина, А. П. Крищенко. М.: изд-во МГТУ им. Н. Э. Баумана, 2001. — 440 с. (серия «Математика в техническом университете»; вып. XIV).
9. Волков И. К., Зуев С. М., Цветкова Г. М. Случайные процессы: учебник для вузов / под ред. В. С. Зарубина, А. П. Крищенко М.: изд-во МГТУ им. Н. Э. Баумана, 2000. — 448 с. (серия «Математика в техническом университете»; вып. XVIII).
10. Печинкин А. В., Тескин О. И., Цветкова Г. М. Теория вероятностей: учебник для вузов / под ред. В. С. Зарубина, А. П. Крищенко. М.: изд-во МГТУ им. Н. Э. Баумана, 2006. — 456 с. (серия «Математика в техническом университете»; вып. XVI).
11. Ежов А. А., Шумский С. А. Нейрокомпьютинг и его применение в экономике и бизнесе. М.: МИФИ, 1998. — 224 с.
12. Скиена С. Алгоритмы. Руководство по разработке. 2-е. изд. / пер. с англ. СПб.: БХВ-Петер-бург, 2011. — 720 с.
13. Дасгупта Д. Искусственные иммунные системы и их применение. М.: Физматлит, 2006. — 344 с.
14. Комарцова Л. Г. Исследование алгоритмов обучения многослойного персептрона // Нейрокомпьютеры. Разработка и применение. М.: Радиотехника. 2002. № 12.
15. Хоровиц П., Хилл У. Искусство схемотехники / пер. с англ. 7-е изд. М.: Мир, БИНОМ, 2011. — 704 с.