Исследование
нейросетевого метода в обнаружении атак.
Введение.
Большинство современных подходов к обнаружению атак используют различные формы анализа на основе правил. Анализ на основе правил опирается на набор заранее предопределенных условий, которые вводятся экспертом, автоматически создаются системой, или используются оба варианта. Экспертные системы (ЭС) представляют собой наиболее распространенный подход к обнаружению атак на основе правил. Первоначальные исследования по обнаружению атак показали неэффективность любого подхода, который требует ручного просмотра журнала регистрации событий.
Информация, необходимая для идентификации атак представлена большим количеством данных аудита, и эффективный обзор этих данных требовал использования автоматической системы для их анализа. Применение ЭС в системах обнаружения атак способствовала эффективных систем информационной безопасности. ЭС состоит из набора правил, которые охватывают знания человека-эксперта. Эти правила используются системой для обнаружения злонаправленной деятельности данных, получаемых от системы обнаружения атак. ЭС допускают объединение огромного опыта, накопленного человеком, в компьютерном приложении, которое затем использует эти знания для обнаружения деятельности атак.
Искусственные нейросети являются электронными моделями нейронной структуры мозга, который, главным образом, учится на опыте. Естественной аналог доказывает, что множество проблем, не поддающиеся решению традиционными компьютерами, могут быть эффективно решены с помощью нейросетей.
Нейрон (нервная клетка) состоит из тела клетки - сомы (soma),
и двух типов внешних древовидных ответвлений: аксона (axon) и дендритов
(dendrites). Тело клетки содержит ядро (nucleus), где находится информация про
свойства нейрона, и плазму, которая производит необходимые для нейрона
материалы. Нейрон получает сигналы (импульсы) от других нейронов через дендриты
(приемника) и передает сигналы, сгенерированные телом клетки, вдоль аксона
(передатчик), который в конце разветвляется на волокна (strands). На окончаниях
волокон находятся синапсы (synapses).
Синапсы:
электро-химический контакт с другими нейронами Аксон:
преобразование обработанных входов в выходы Сома:
обработка входов Дендриты,
принимающие входы 4 части биологического нейрона
Рис. 1. Схема биологического нейрона.
Синапс является функциональным узлом между двумя нейронами
(волокно аксона одного нейрона и дендрит другого). Когда импульс достигает синаптического
окончания, вырабатываются химические вещества, называемые нейротрансмиттерами.
Нейротрансмиттеры проходят через синаптическую щель, и в зависимости от типа
синапса, возбуждая или тормозя способность нейрона-приемника генерировать
электрические импульсы. Результативность синапса настраивается проходящими
через него сигналами, поэтому синапсы обучаются в зависимости от активности
процессов, в которых они принимают участие. Нейроны взаимодействуют с помощью
короткой серии импульсов. Сообщение передается с помощью частотно-импульсной
модуляции.
Последние экспериментальные исследования доказывают, что
биологические нейроны структурно сложнее, чем упрощенное объяснение
существующих искусственных нейронов, которые являются элементами современных
искусственных нейронных сетей. Поскольку нейрофизиология предоставляет ученым
расширенное понимание действия нейронов, а технология вычислений постоянно
совершенствуется, разработчики сетей имеют неограниченное пространство для
улучшения моделей биологического мозга. [1]
x0
Базовый модуль нейронных сетей
- искусственный нейрон моделирует основные функции естественного нейрона (рис.
2).
Рис. 2. Базовый искусственный нейрон
Входные сигналы xn взвешенные весовыми
коэффициентами соединения wn складываются, проходят через
передаточную функцию, генерируют результат и выводятся.
В имеющихся сейчас пакетах программ искусственные нейроны
называются "элементами обработки" и имеют больше возможностей, чем
простой искусственный нейрон, описанный выше. На рис. 3 изображенная детальная
схема упрощенного искусственного нейрона.
Функции
сумматора Передаточные
функции выход
Рис. 3. Модель нейрона
Модифицированные входы передаются на функцию суммирования,
которая преимущественно только суммирует произведения. Можно выбрать различные
операции, такие как среднее арифметическое, наибольшее, наименьшее, OR, AND, и
т.п., что вырабатывают разные значения. Большинство коммерческих программ
разрешают инженерам-программистам создавать собственные функции сумматора с
помощью подпрограмм, закодированных на языке высокого уровня. Иногда функция
суммирования усложняется добавлением функции активации, разрешающей функции
суммирования действовать во времени.
В любом из этих случаев, выход функции суммирования проходит
через передаточную функцию на выход (0 или 1, -1 или 1, или какое-нибудь другое
число) с помощью определенного алгоритма. В существующих нейросетях в качестве
передаточных функций могут быть использованы сигмоида, синус, гиперболический
тангенс и др. Пример того, как работает передаточная функция показан на рис. 4.
Передаточная
функция = 1/(1+Exp[-sum]) Значение
входа Значение
выхода
Рис. 4. Сигмоидная передаточная функция
Все искусственные нейросети конструируются из базового блока
- искусственного нейрона. [1]
Нейронные
сети
Искусственная нейронная сеть (artificial neural network) (НС) состоит из набора элементарных элементов, которые взаимосвязаны друг с другом и преобразуют набор входных данных к набору желаемых данных. Результат преобразования определяется характеристиками элементов и весами взаимосвязям между ними. Путем видоизменения соединений между узлами сети можно адаптироваться к желательным выходным результатам.
В отличие от ЭС, определяющих соответствие конкретным характеристикам, заложенным в базе данных правил НС проводит анализ информации и предоставляет возможность оценить, что данные согласуются с характеристиками, которые она научена распознавать. В то время, как степень соответствия нейросетевого представления может достигать 100%, достоверность выбора полностью зависит от качества системы в анализе примеров поставленной задачи (так называемое обучение). Первоначально НС обучается правильного обнаружения предварительно отобранных данных предметной области. Реакция НС анализируется и настраивается в системе таким образом, чтобы достичь в системе удовлетворительных результатов. В дополнение к первоначальному периоду обучения, НС также набирается опыта с течением времени по мере того, как она проводит анализ данных, связанных с предметной областью.
Искусственные нейросети также предлагаются для использования при обнаружении компьютерных вирусов. В некоторых работах нейросети предлагались в качестве подходов для статистического анализа при обнаружении вирусов в компьютерных сетях. Архитектура нейросети, которая была выбрана, представляла самоорганизующуюся карту («сети Кохонена»), которая использует один слой (уровень) нейронов для представления сведений от отдельного домена в форме геометрически организованной карты. Предлагаемая сеть была предназначена для изучения характеристик деятельности обычной системы и идентификации статистических отклонений от нормы, что может указывать от нормы.[2]
Есть несколько распространенных вариантов реализации НС в СОА. Первый включает объединение их с существующими экспертными системами:
Рис.5 Схема совместного использования НС и ЭС
Данное решение использует НС для фильтрации входящих данных, которые могут указывать на злоупотребление, и передачи этих событий к экспертной системе. Эта конфигурация должна улучшить эффективность системы обнаружения за счет снижения числа ложых срабатываний, присущих ЭС. Поскольку НС будет определять вероятность того, что конкретное событие указывает на атаку, пороговая величина может быть установлена там, где событие перенаправляется к ЭС для дополнительного анализа.
Основной недостаток данного подхода заключается в необходимости поддерживания актуальности баз данных ЭС в соответствии с уровнем обучения НС. Если ЭС не была обновлена, то новые атаки, обнаружены НС, будут в значительной степени пропускаться ЭС, потому что ее собственные правила не способны распознать угрозу.
Второй подход заключается в реализации НС как отдельной системы обнаружения злоупотреблений (рис.6). в этой конфигурации НС получает весь поток данных и получает информацию на наличие в них злоупотреблений. Любые случаи, которые идентифицируются с указанием на атаку, перенаправляются к администратору безопасности или используются системой автоматического реагирования на атаки. Основные преимущества данного подхода:
· Высокая скорость обнаружения атак по сравнению с предыдущим подходом, поскольку существует только один уровень анализа.
· Повышение эффективности определения атак с течением времени ввиду обучения НС. В отличие от первого подхода, эта концепция не ограничивается аналитической способностью ЭС.
Рис. 6. Схема применения НС для обнаружения злоупотреблений
Пусть X—
множество описаний объектов, Y— множество допустимых ответов. Существует
неизвестная целевая зависимость — отображение y*:X→Y, значения которой
известны только на объектах конечной обучающей выборки Xm = {(x1,y1),…,(xm,ym)}. Требуется построить алгоритм a:X→Y,
который приближал бы неизвестную целевую зависимость как на элементах выборки,
так и на всём множестве X.
Говорят
также, что алгоритм должен обладать способностью к
обобщению эмпирических фактов, или выводить общее знание (закономерность, зависимость) из частных фактов (наблюдений, прецедентов).
Вводится
функция потерь
£ (y,
y’),
характеризующая величину отклонения ответа y
= a(x) от правильного ответа y’ = y*(x) на произвольном объекте xÎ
X.
Типичный
выбор функции потерь:
· В задачах классификации £ (y, y’) = [y’ ≠ y];
· В задачах регрессии £ (y, y’) = (y’ – y)2.
Вводится
функционал качества, характеризующий среднюю ошибку (эмпирический риск)
алгоритма на произвольной выборке Xm
[3]
[3]
Метод минимизации
эмпирического риска — один из наиболее распространённых
подходов к обучению алгоритмов по прецедентам. Он заключается в том, чтобы в
заданной модели алгоритмов A = {a: X®Y}
найти алгоритм, минимизирующий среднюю ошибку на обучающей выборке:
aÎA
Тем
самым задача обучения сводится к оптимизации и может быть решена численными методами оптимизации.
К
сожалению, малое значение функционала качества на обучающей выборке не
гарантирует, что построенный алгоритм будет хорошо восстанавливать целевую
зависимость на всём пространстве X.
Существует опасность переобучения, когда делается попытка описать
конкретные данные точнее, чем в принципе позволяет уровень шума в данных и
погрешность самой модели.
Легко
указать пример алгоритма, который минимизирует эмпирический риск до нуля, но
при этом не обладает способностью к обобщению. Получив обучающую выборку Xm, он запоминает её, и потом
сравнивает предъявляемый объект xc
обучающими объектами xi из Xm. В случае совпадения x = xi алгоритм
выдаёт правильный ответ yi. Иначе
выдаётся произвольный ответ. Эмпирический риск принимает наименьшее возможное
значение, равное нулю. Однако этот алгоритм не способен восстановить
зависимость вне объектов обучения. Этот пример убедительно показывает, что для
успешного обучения необходимо не только запоминать, но и обобщать.
Практически в каждом методе
предпринимаются специальные усилия, чтобы избежать переобучения. Границы применимости
метода минимизации эмпирического риска и проблему переобучения изучает статистическая теория обучения.
Признаком
называется отображение f: X®Df, где Df —
множество допустимых значений признака. Если заданы признаки f1,…,fn, то вектор x = (f1(x),…,fn(x))
называется признаковым описанием объекта xÎ
X. Признаковые описания допустимо
отождествлять с самими объектами. При этом множество X = Df1 … Dfn
называют признаковым пространством.
В зависимости от множества Df признаки делятся на следующие типы:
Часто
встречаются прикладные задачи с разнотипными признаками, для их решения
подходят далеко не все методы.
Заключение.
В связи с особенностями применения НС реализация систем обнаружения злоупотреблений реального времени, основанная исключительно на данном подходе в практическом плане весьма затруднительна, что не исключает применения НС в автономных (off-line) системах. Необходимость обучения, а также природа «черного ящика» обуславливает обязательное наличие обучающей базы данных злоупотреблений, а также временных затрат и корректировок обучающего процесса (выбора архитектуры сети, алгоритмы обучения и т.д.).
Основные достоинства нейросетей – это обнаружение неизвестных атак, функционирование в окружении с большим значением шумов, сохранение работоспособности при неполных или искаженных данных, прогнозирование поведения пользователя и появления новых атак.
В дальнейших исследованиях следует обратить внимание совместного применения различных техник искусственного интеллекта (нечеткая логика, нейронные сети).
Список использованных источников:
1. http://www.victoria.lviv.ua/html/oio/html/theme5_rus.htm#5_2_1
2. Лукацкий А.В. Обнаружение атак. 2-е изд., перераб. и доп. СПб.: БХВ-Петербург, 2003. 162 с.
3. Вапник В. Н. Восстановление зависимостей по эмпирическим данным. — М.: Наука, 1979.