- •Нейронные модели обнаружения вторжений и атак на компьютерные сети
- •1. Компьютерные системы как среда проведения вторжений и атак
- •1.1. Определение понятия компьютерных систем
- •1.2. Классификация сетевых атак для компьютерных систем
- •1.2.1. Атаки на основе подбора имени и пароля посредством перебора
- •1.2.2. Атаки на основе сканирования портов
- •1.2.3. Атаки на основе анализа сетевого трафика
- •1.2.4. Атаки на основе внедрения ложного
- •1.2.5. Атаки на основе отказа в обслуживании
- •1.2.5.1. Математическая модель атаки «отказ в обслуживании»
- •1.2.5.2. Атаки, основанные на ошибках
- •1.2.5.3. «Лавинные атаки»
- •2. Подходы к выявлению вторжений и атак
- •2.1. Системы обнаружения вторжений и атак
- •2.3. Возможности систем обнаружения
- •2.4. Технические аспекты выявления атак
- •2.4.1. Обнаружение атак на различных уровнях
- •2.4.2. Время сбора и анализа информации
- •2.5. Подход к построению входного вектора искусственной нейронной сети
- •3. Построение математической модели обнаружения вторжений и атак в компьютерные системы на основе
- •3.1. Основы искусственных нейронных сетей
- •3.1.1. Биологический прототип
- •3.1.2. Искусственный нейрон
- •3.1.3. Персептрон
- •3.2. Обоснование топологии искусственной нейронной сети
- •3.3. Построение структуры сети
- •3.4.1. Дельта-правило
- •3.4.2. Процедура обратного распространения
- •3.4.3. Обучающий алгоритм обратного распространения
- •3.4.4. Алгоритм обучения искусственной нейронной сети
- •3.5. Выбор тестового множества
- •3.6. Оценка возможности модели по обнаружению вторжения и атак
- •3.7. Обобщенная схема системы обнаружения вторжений и атак, на основе полученной математической модели
- •Вопросы для самоконтроля
- •Заключение
- •394026 Воронеж, Московский просп., 14
3.2. Обоснование топологии искусственной нейронной сети
Для дальнейшего проектирования нейронной сети необходимо выбрать базовую модель сети, характеризующуюся количеством нейронных слоев, связями в этих слоях и используемой активационной функцией. Существуют несколько подходов в решении данного вопроса.
Хотя один нейрон и способен выполнять простейшие процедуры распознавания, сила нейронных вычислений проистекает от соединений нейронов в сетях. Простейшая сеть состоит из группы нейронов, образующих слой, как показано в правой части рис. 3.8.
Рис. 3.8. Однослойная нейронная сеть
Отметим, что вершины-круги слева служат лишь для распределения входных сигналов. Они не выполняют каких-либо вычислений, и поэтому не будут считаться слоем. По этой причине они обозначены кругами, чтобы отличать их от вычисляющих нейронов, обозначенных квадратами. Каждый элемент из множества входов Х отдельным весом соединен с каждым искусственным нейроном. А каждый нейрон выдает взвешенную сумму входов в сеть. В искусственных и биологических сетях многие соединения могут отсутствовать, все соединения показаны в целях общности. Могут иметь место также соединения между выходами и входами элементов в слое [9].
Удобно считать веса элементами матрицы W. Матрица имеет т строк и п столбцов, где m – число входов, а n – число нейронов. Например, w2,3 – это вес, связывающий третий вход со вторым нейроном. Таким образом, вычисление выходного вектора N, компонентами которого являются выходы OUT нейронов, сводится к матричному умножению N = XW, где N и Х – векторы-строки.
Более крупные и сложные нейронные сети обладают, как правило, и большими вычислительными возможностями. Хотя созданы сети всех конфигураций, какие только можно себе представить, послойная организация нейронов копирует слоистые структуры определенных отделов мозга. Оказалось, что такие многослойные сети обладают большими возможностями, чем однослойные, и в последние годы были разработаны алгоритмы для их обучения [75].
Рис. 3.9. Двухслойная нейронная сеть
Многослойные сети могут образовываться каскадами слоев. Выход одного слоя является входом для последующего слоя. Подобная сеть показана на рис. 3.9 и снова изображена со всеми соединениями.
Многослойные сети не могут привести к увеличению вычислительной мощности по сравнению с однослойной сетью лишь в том случае, если активационная функция между слоями будет нелинейной. Вычисление выхода слоя заключается в умножении входного вектора на первую весовую матрицу с последующим умножением (если отсутствует нелинейная активационная функция) результирующего вектора на вторую весовую матрицу [82]:
.
Это показывает, что двухслойная линейная сеть эквивалентна одному слою с весовой матрицей, равной произведению двух весовых матриц. Следовательно, любая многослойная линейная сеть может быть заменена эквивалентной однослойной сетью. Поэтому однослойные сети весьма ограниченны по своим вычислительным возможностям. Таким образом, для расширения возможностей сетей по сравнению с однослойной сетью необходима нелинейная активационная функция [82].
Так как проблема обнаружения вторжений и атак сводится к задачам либо распознавания атак, либо кластеризации, которые не возможно описать линейными зависимостями, то из выше изложенного следует целесообразность применения многослойных нейронных сетей с нелинейными активационными функциями. Такими сетями являются сети, построенные по модели многослойного персептрона.