Построение системы обнаружения вторжений в локальную сеть

advertisement
ISBN 978-5-7262-1782-6
НЕЙРОИНФОРМАТИКА-2013. Часть 3
Л.Г. КОМАРЦОВА, Ю.Н. ЛАВРЕНКОВ
Калужский филиал МГТУ им. Н. Э. Баумана
polikarp1@rambler.ru, lkomartsova@yandex.ru
ПОСТРОЕНИЕ СИСТЕМЫ ОБНАРУЖЕНИЯ ВТОРЖЕНИЙ
В ЛОКАЛЬНУЮ СЕТЬ НА ОСНОВЕ НЕЙРОСЕТЕВЫХ
АССОЦИАТИВНЫХ МАШИН
Предложен алгоритм объединения мнений экспертов, построенных на
основе многослойного персептрона, с помощью алгоритмических композиций с динамическим механизмом оценки коэффициента доверия к каждому эксперту. Рассмотрена возможность модификации стандартных градиентных алгоритмов обучения методами, основанными на использовании комбинированных эвристических процедур для повышения эффективности функционирования системы экспертов. Рассмотрена возможность применения экспертов в системе обнаружения вторжений.
Ключевые слова: многослойный персептрон, алгоритм метода комплексов, алгоритм упреждающего поиска, алгоритмические композиции,
иммунный алгоритм оптимизации
Введение
Задачи аппроксимации различного рода зависимостей возникают при
проектировании сложных систем и определении их внутренних характеристик [1, 5]. Для обнаружения скрытых закономерностей решаемой задачи можно воспользоваться математическими методами [3], но они не всегда имеют универсальный характер и подходят для решения широкого
круга задач и могут потребовать больших вычислительных затрат. Другое
направление для получения аппроксимирующей зависимости связано с
использованием искусственных нейронных сетей (НС) [2]. Основываясь
на том, что НС являются универсальными аппроксиматорами, можно выявлять искомые зависимости в большинстве задач путём анализа информации о функционировании систем и обучения на основе этой информации нейронной сети.
В случае, когда необходимо решить сложную задачу, содержащую в
себе сложные внутренние зависимости, которые могут изменяться во времени (в контексте решаемой задачи вторжение в сеть может осуществляться различными методами с использованием разнообразных механизУДК 004.032.26(08) Нейронные сети
129
ISBN 978-5-7262-1782-6
НЕЙРОИНФОРМАТИКА-2013. Часть 3
мов [4]), качество решения задачи может быть повышено с помощью ансамблей нейронных сетей. В результате параллельной обработки данных
множеством нейронных сетей (экспертов) и последующего объединения
выходных сигналов существует вероятность получения решения, которое
превосходит по качеству результаты каждой нейронной сети, входящей в
ансамбль.
При обучении многослойных нейронных сетей наиболее часто используется метод обратного распространения ошибки [1]. Но этот метод имеет
ряд недостатков, наиболее существенный – это неопределённо долгий
процесс обучения. В сложных задачах обучение может происходить в течение длительного времени, что приводит к тому, что становится невозможным использовать ансамбли нейронных сетей в системах обнаружения вторжений, т.к. многие из них должны работать в реальном масштабе
времени. Второй недостаток – это попадание сети в локальный минимум.
Эти недостатки позволяют устранить различного рода комбинированные
процедуры, с помощью которых можно осуществить небольшие случайные изменения весовых коэффициентов нейронной сети.
В качестве задачи, решаемой с помощью ансамбля нейронных сетей,
рассмотрим задачу обнаружения вторжений в локальную компьютерную
сеть. В большинстве случаев выявление вредоносного поведения обнаруживают по сигнатурам, которые сравнивают с определёнными полями
пакета, передаваемого по сети. В случае, когда злоумышленник меняет
стратегию атаки, данный метод является бесполезным, пока не произведут выявление и анализ новой атаки с последующим формированием сигнатур. В этом случае применение ансамблей нейронных сетей позволяет
обнаружить атаку, которая является новой, а использование нескольких
нейронных сетей, входящих в ансамбль, позволяет увеличить вероятность
обнаружения данной атаки.
Постановка задачи и описание алгоритма
При решении сложных задач может возникнуть ситуация, когда попытки получить приемлемое решение, даже при использовании различных алгоритмов, параллельно обрабатывающих и решающих одну и ту
же задачу, не дают результатов [1, 2]. В этом случае объединение нескольких алгоритмов в композицию позволяет решить поставленную задачу. При решении задач с помощью нейросетевых методов, построенных на применении нескольких нейронных сетей – ансамблей, входные
данные обрабатываются с помощью нескольких НС. В данной работе
130
УДК 004.032.26(08) Нейронные сети
ISBN 978-5-7262-1782-6
НЕЙРОИНФОРМАТИКА-2013. Часть 3
многослойные персептроны объединялись в ансамбль нейронных сетей.
Обучение каждой нейронной сети проводилось по методу обратного распространения ошибки с применением комбинаторных эвристик. Ансамбль для решения задачи обнаружения вторжений состоял из трёх
нейронных сетей. Первая сеть обучалась стандартным алгоритмом обратного распространения ошибки. При обучении второй нейронной сети
применялся тот же алгоритм обучения, но модифицированный комбинаторной эвристикой на основе алгоритма упреждающего поиска. Обучение
второй НС проводилось по методу обратного распространения ошибки до
тех пор, пока разница ошибок обучения для двух соседних итераций была
больше некоторого порога [1], если величина изменения ошибки опускалась ниже заданного порога, то применялась эвристика. Далее сеть обучалась по методу обратного распространения ошибки. Вероятность применения эвристики уменьшалась по мере обучения сети, чтобы на
начальном этапе обучения препятствовать попаданию метода обратного
распространения ошибки в локальный минимум и дать возможность более детальной настройки параметров сети на завершающих этапах [1, 2].
Рассмотрим комбинаторный эвристический алгоритм упреждающего поиска более подробно:
1. Выбрать нейронный элемент из скрытого или выходного слоя
нейронной сети. Веса данного нейрона рассматриваем как многомерную
начальную точку x0 с числом компонент i = 0, 1, 2, … N, равным количеству весов, входящих в выбранный нейрон. Полагаем Fмин = f(x0), где Fмин
– ошибка обучения НС.
2. По каждой i-й компоненте, входящей в выбранную точку, провести оптимизацию, зафиксировав остальные:
a. Выбрать случайным образом возможные значения незафиксированной i-й компоненты для образования r допустимых комбинаций весовых
коэффициентов, так чтобы у выбранных комбинаций ошибка обучения
НС была меньше, чем у x0. Если этого достичь не удалось, повторить шаг
2 для следующей i+1 компоненты.
b. Определить наилучшее из r найденных комбинаций весовых коэффициентов и положить значение минимальной ошибки обучения равное Fr.
c. Произвести упреждающий поиск.
1) Для каждой из допустимой комбинации весовых коэффициентов,
найденных на шаге 2(a), провести случайный выбор одного из r возможных значений следующей i+1 компоненты, если предположить,
что она не зафиксирована.
УДК 004.032.26(08) Нейронные сети
131
ISBN 978-5-7262-1782-6
НЕЙРОИНФОРМАТИКА-2013. Часть 3
2) Выбрать наилучшую из найденных комбинаций и зафиксировать
значение компоненты i как оптимальное.
d. Если i = N, перейти к шагу 3. В противном случае выполнить шаг 2
для компоненты (i+1).
3. Провести случайный поиск для определения наилучшего значения
переменной N при фиксированных значениях других переменных.
Найденную точку принять за новую базовую точку x0, а ошибку обучения
при подстановке комбинации найденных весов из базовой точки за Fмин.
4. Перейти к шагу 2 с i = 1, если не выполнены условия окончания
вычислений.
Для третьей нейронной сети обучение проводилось по методу аналогичному для второй нейронной сети, но в качестве эвристики применялся
алгоритм на основе метода комплексов:
1. Выбрать нейронный элемент из скрытого или выходного слоя
нейронной сети. На основе весовых коэффициентов строим комплекс,
состоящий из P допустимых предполагаемых значений весовых коэффициентов. В данной работе предполагаемое значение весового коэффициента считается допустимым, если при его подстановке в нейронную сеть
ошибка обучения изменится не более чем на 15 %. Для каждой точки p =
= 0, 1, 2, … P необходимо выполнить следующие действия:
a. Случайным образом определяем допустимые предполагаемые значения весовых коэффициентов xr.
b. Если получены недопустимые значения, найти центр тяжести x уже
найденных значений весовых коэффициентов и выполнить преобразование для каждой компоненты предполагаемых значений весовых коэффициентов:
xr  xr  0.5  ( x  xr ).
(1)
Повторять процедуру до тех пор, пока точка не станет допустимой.
c. Повторить для всех остальных предполагаемых весовых коэффициентов.
2. Выполнить отражение комплекса:
a. Выбрать предполагаемые допустимые значения весовых коэффициентов для данного нейронного элемента, для которых при подстановке в
нейронную сеть ошибка обучения будет максимальной:
f ( x R )  max( f ( x r ))  Fì àêñ .
(2)
b. Найти центр тяжести x и новые значения:
xm  x  ( x  xr ),
где  – параметр, который задаёт расстояние отражения.
132
УДК 004.032.26(08) Нейронные сети
(3)
ISBN 978-5-7262-1782-6
НЕЙРОИНФОРМАТИКА-2013. Часть 3
c. Если на предыдущем этапе получена допустимая комбинация и f(xm)
больше Fмакc, то необходимо уменьшить в два раза расстояние между текущей точкой и центром тяжести и продолжить поиск.
d. Если полученная комбинация допустима и ошибка обучения меньше
Fмакc, то перейти к шагу 3.
e. Если на предыдущем этапе получена недопустимая комбинация, то
необходимо уменьшить в два раза расстояние до центра тяжести и продолжать до тех пор, пока комбинация не станет допустимой.
3. Если достигнуты критерии качества обучения, то прекратить поиск и продолжить обучение с помощью метода обратного распространения ошибки.
Для оптимального функционирования экспертов необходимо сформировать их начальные состояния, выраженные предварительной установкой весовых коэффициентов нейронных сетей [2, 5]. При этом следует
учесть, что в данной задаче сети функционируют не каждая по отдельности, а в ансамбле. Поэтому необходимо использовать принципы оптимизации на основе кооперативной коэволюции с несколькими популяциями,
учитывающие совместное функционирование экспертов. В основу видоизменения популяций для получения решений в данной работе был положен иммунный алгоритм оптимизации, построенный на основе принципов иммунитета живых организмов. Предполагаемые веса нейронных
сетей кодируются в антителах, образующих популяцию. В качестве антигена рассматривается задача инициализации начального состояния эксперта. Предположим, что необходимо найти такое сочетание начальных
состояний всех трёх экспертов, при котором процесс обучения будет
происходить за наименьшее время и обеспечивать эффективность совместного функционирования. Для каждой нейронной сети процесс оптимизации идёт независимо от остальных. Он заключается в производстве
новых антител с помощью операторов мутации, рекомбинации и различного рода операторов инверсии [1]. Когда возникает необходимость
оценки эксперта из какой-либо популяции, то эксперты, начальные состояния которых обусловлены функционированием трёх различных популяций антител, объединяются в один ансамбль, и осуществляется
оценка эффективности обучения и функционирования НС экспертов из
этих начальных состояний. Таким образом, каждая популяция кооперативной коэволюции пытается найти оптимальную часть общего решения.
Такой подход позволяет разбить задачу на подзадачи, что снижает сложность решения.
Оценка эффективности приведённых алгоритмов оценивалась по двум
параметрам: величины рассогласования и времени установки [2]. РассоУДК 004.032.26(08) Нейронные сети
133
ISBN 978-5-7262-1782-6
НЕЙРОИНФОРМАТИКА-2013. Часть 3
гласование М – это безразмерная величина, являющаяся мерой близости к
графику среднеквадратической ошибки оптимального эксперта (нейронной сети, архитектура и алгоритм обучения которой оптимизировались в
течение времени, неприемлемого для практического применения) и экспертов, обученных с помощью обычного и модифицированного алгоритма обратного распространения с применением комбинаторных эвристических алгоритмов:
E  Emin
E
M  st
 st  1,
(4)
Emin
Emin
где Est – устойчивое значение среднеквадратической ошибки обучения,
Emin – минимальная среднеквадратическая ошибка эксперта. Рассогласование с идеализированной моделью НС при обучении обычным алгоритмом обратного распространения составляло в среднем 11,24 %, при использовании эвристик рассогласование уменьшалось до 8,35 %, а также
более быстрое время сходимости алгоритма к оптимальному устойчивому состоянию.
Многослойные персептроны, входящие в ансамбль и образующие ассоциативную машину [2, 5], отличаются между собой архитектурой, количеством слоёв, количеством нейронов в каждом слое, начальными состояниями весовых коэффициентов. Нейронные сети должны быть достаточно различимы, чтобы погрешности, которые возникают при поиске
решения одной нейронной сетью, были скомпенсированы другими членами ансамбля. После принятия решения каждой нейронной сетью все
полученные выходные сигналы определённым образом комбинируются, в
соответствии с заданным алгоритмом. Итоговый результат, полученный
таким ансамблем нейронных сетей, может превосходить по качеству результаты от отдельных НС.
Полученные базовые алгоритмы, представленные многослойными
персептронами, объединяются в композицию с помощью нескольких видов алгоритмических композиций: простого голосования, взвешенного
голосования и голосования по старшинству. В случае взвешенного голосования для настройки коэффициентов в данной работе применялся метод
оценки качества обучения на основе процесса обучения нейронной сети.
Рассмотрим методы объединения решений и получения результирующего
решения.
Простейшим примером корректирующей операции является среднее
арифметическое или простое голосование:
1 T
b( x)  Q(b1 ( x),..., bT ( x))   bt ( x).
(5)
T t 1
134
УДК 004.032.26(08) Нейронные сети
ISBN 978-5-7262-1782-6
НЕЙРОИНФОРМАТИКА-2013. Часть 3
В формуле (5) b(x) – алгоритмический оператор, Q – корректирующая
операция. Объект y будет относиться к тому классу, к которому его относит большинство базовых алгоритмов.
Корректирующая операция, которая производит объединение решений
базовых алгоритмов может иметь свободные параметры [2], которые
необходимо настраивать по обучающей выборке наряду с параметрами
базовых алгоритмов. Примером является взвешенное среднее, называемое
также линейной комбинацией базовых алгоритмов:
T
b( x)  F (b1 ( x),..., bT ( x))   t bt ( x).
(6)
t 1
Веса αt выражают степень доверия к соответствующим базовым алгоритмам.
Голосованием по старшинству называется корректирующая операция,
вычисляемая согласно алгоритму: если b1(y) = 1, то объект y относится к
классу c1, иначе право голоса передаётся следующему по старшинству
алгоритму b2. Если b2(y) = 1, то объект y относится к классу c2, и так далее. Передача права голоса продолжается до тех пор, пока один из базовых алгоритмов не примет решения. Если же все алгоритмы возвращают
нулевое значение, выдаётся ответ c0, означающий отказ от классификации
данного объекта.
При принятии решения с помощью голосования по старшинству возникает проблема выбора порядка представления входных данных каждому алгоритму для получения решения и оценки его пригодности. Порядок
функционирования базовых алгоритмов определяет, какой алгоритм первым выдаст ответ, в случае если алгоритм не отказывается принимать решение, то полученный ответ считается реакцией на входное воздействие
для всего ансамбля. В случае неправильного определения порядка весь
ансамбль может выдать неприемлемое решение и преимущество использования ансамбля из нескольких нейросетей будет потеряно.
Аналогичная проблема возникает и при взвешенном голосовании, так
как определение весовых коэффициентов, т.е. степеней доверия отдельным алгоритмам, определяет, какой вклад в общее решение вносит каждый из экспертов ансамбля. В случае неправильного подбора коэффициентов, преимущество будет отдано алгоритму, который слабо приспособлен для решения поставленной задачи. Для решения поставленной проблемы на этапе обучения нейронных сетей, из которых состоит ансамбль,
оценивалась динамика процесса обучения. Чем лучше сформированы отдельные члены ансамбля, тем быстрее они способны воспринимать примеры обучающей выборки. В случае оценки качества обучения по средУДК 004.032.26(08) Нейронные сети
135
ISBN 978-5-7262-1782-6
НЕЙРОИНФОРМАТИКА-2013. Часть 3
нему значению среднеквадратической ошибки на всём множестве примеров из обучающей выборки, необходим метод, способный дать представление о качестве обучаемой нейронной сети и соответствия её архитектуры решаемой задачи. Для получения характеристики качества каждой НС,
при решении данной задачи, применялся метод наименьших квадратов [1,
5], с помощью которого проводилась линейная аппроксимация графика
ошибок обучения отдельных нейронных сетей из ансамбля. С помощью
метода наименьших квадратов находят коэффициенты линейной зависимости, при которых функция двух переменных
n
H (a, b)   ( yi  (a  xi  b))2 .
(7)
i 1
принимает наименьшее значение. Таким образом, при правильном подборе коэффициентов, сумма квадратов отклонений экспериментальных данных от найденной прямой будет наименьшей. После предъявления всех
экземпляров из обучающей выборки и коррекции весовых коэффициентов
нейронной сети вычисляется ошибка обучения нейронной сети на данной
итерации. В результате получаем зависимость, отражающую весь процесс
обучения. Далее полученная зависимость аппроксимируется с помощью
метода наименьших квадратов и график ошибок обучения представляется
в виде прямой линии. Например, из рис. 2 видно, что нейронная сеть данной архитектуры лучше приспособлена для решения данной задачи, чем
сеть, график ошибок которой изображён на рис. 1. После выполнения подобной операции для всех нейронных сетей, входящих в ансамбль, определяется угол между полученной прямой, аппроксимирующей функцию
ошибки, и осью абсцисс. В соответствии с величинами углов каждой
нейронной сети присваивается весовой коэффициент во взвешенном голосовании и определяется порядок при голосовании по старшинству.
После обучения методом обратного распространения ошибок с модификацией комбинированными эвристическим процедурами, ансамбль,
состоящий из трёх нейронных сетей, обучается выявлять вторжения в локальную компьютерную сеть.
136
УДК 004.032.26(08) Нейронные сети
ISBN 978-5-7262-1782-6
НЕЙРОИНФОРМАТИКА-2013. Часть 3
Рис. 1. График ошибки и его аппроксимация для первой НС
Рис. 2. График ошибки и его аппроксимация для второй НС
Для выявления вредоносного поведения все персептроны были построены по принципу «победитель забирает всё». Количество нейронов в
выходном слое соответствовало различным угрозам, на которых происходило обучение нейронных сетей. Активация определённого выходного
нейрона соответствовало распознаванию определённого типа вредоносного поведения в сети. Входной слой персептрона состоит из двух групп
рецепторов. На первую группу подаётся информация о физическом состоянии канала. Вторжение может быть осуществлено и путём прямого подсоединения к каналу связи и считывании информации с помощью технических средств. Поэтому должна быть возможность определения попыток
подключения к каналу. Для этой цели был использован генератор прямоугольных импульсов, построенный на микросхеме NE555. В качестве канала передачи данных в данной работе была рассмотрена «витая пара».
УДК 004.032.26(08) Нейронные сети
137
ISBN 978-5-7262-1782-6
НЕЙРОИНФОРМАТИКА-2013. Часть 3
Отдельные жилы кабеля подключались к RC – цепочке генератора и в
случае несанкционированного подключения происходило изменение частоты колебаний. В результате на первую группу рецепторов подавалась
информация о разнице эталонной частоты колебаний и фиксируемой в
данный момент частоте.
На вторую группу рецепторов подаётся информация о структуре полей
пакетов, проходящих через сеть. Информация из этих пакетов, на основании которой строится обучающая выборка, содержит характеристики последовательностей байт в пакете, которые свидетельствуют о нежелательности данного трафика, а также сигнатуры признаков опасного и вредоносного поведения, что может свидетельствовать о подготовке или начале
вторжения. На основе полученной информации строятся элементы обучающей выборки. При идентификации поведения на рецепторы экспертов
подаётся информация о состоянии сетевых каналов связи и содержании
пакетов. На основе этого эксперты принимают решение о наличии или
отсутствии вредоносного поведения. Необходимо также учесть и поведение сети во время обнаружения вторжения. В случае, если ансамбль НС
обнаруживает только признаки физического подключения к каналу и отсутствие какой либо активности атакуемой стороны, то нет необходимости прекращать передачу данных, если используется стойкий криптографический алгоритм шифрования передаваемой информации. Адекватная
реакция экспертов позволит сохранить оптимальную скорость передачи
данных даже в случае направленного вредоносного поведения атакующей
стороны.
Выводы
Композиции алгоритмов отличаются от обычных алгоритмов тем, что
объединяют базовые алгоритмы и способны сами решить исходную задачу. При этом композиция алгоритмов не знает внутреннего устройства
алгоритмов, которые получают базовые решения. Применение при обучении экспертов кооперативной коэволюции позволяет провести их оптимальную настройку для работы в ансамбле. В результате использования
композиций можно получить решение более высокого качества, чем полученные базовые решения. Композиции, построенные на основе использования нейронных сетей, позволяют более эффективно решать задачу
обнаружения вторжений в сеть за счёт распределения вычислительной
нагрузки задачи среди множества экспертов, что повышает устойчивость
системы и минимизирует частоту ложных срабатываний.
138
УДК 004.032.26(08) Нейронные сети
ISBN 978-5-7262-1782-6
НЕЙРОИНФОРМАТИКА-2013. Часть 3
Список литературы
1. Комарцова Л.Г., Максимов А.В. Нейрокомпьютеры: Учебное пособие
для вузов. – 2-е изд., перераб. и доп. – М.: Изд-во МГТУ им. Н.Э. Баумана,
2004.
2. Хайкин С. Нейронные сети: полный курс, 2-е издание.: Пер. с англ. –
М.: Изд. дом «Вильямс», 2008.
3. Новиков Ф.А. Дискретная математика для программистов: Учебник
для вузов.– 3-е изд. СПб.: Питер, 2009.
4. Столингс В. Современные компьютерные сети. СПб.: Питер, 2003.
5. Бодянский Е.В., Руденко О.Г. Искусственные нейронные сети: архитектуры, обучение, применения. Харьков: ТЕЛЕТЕХ, 2004.
УДК 004.032.26(08) Нейронные сети
139
Download