Сравнительный анализ результатов реализации нейронных сетей на основе персептрона и линейных нейронных сетей в пакете Matlab для обнаружения злоумышленника в информационной системе
Разработка модели обнаружения злоумышленника в информационной системе. Анализ результатов обучения и реализации нейронных сетей на основе персептрона и линейных нейронных сетей в пакете Matlab. Выявление аномального поведения пользователя в системе.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 30.04.2018 |
Размер файла | 256,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Сравнительный анализ результатов реализации нейронных сетей на основе персептрона и линейных нейронных сетей в пакете Matlab для обнаружения злоумышленника в информационной системе
Кротова Е.Л. Кандидат физико-математических наук, доцент
Андреев Р.А. аспирант, Пермский национальный исследовательский политехнический университет
Аннотация
Разработана математическая модель обнаружения злоумышленника в системе, проведено исследование данных, необходимых для обучения и реализации нейронной сети. Представлены результаты обучения и реализации нейронных сетей на основе персептрона и линейных нейронных сетей в пакете MATLAB для распознавания присутствия злоумышленника в информационной системе. Посчитаны вероятности ошибок I и II рода для метода обнаружения злоумышленника на основе персептрона. Определено среднеквадратическое отклонение для анализируемых видов нейронных сетей. Результаты показали, что нейронная сеть на основе персептрона способна точнее определить злоумышленника в системе.
Ключевые слова: нейронные сети, персептрон, MATLAB.
Mathematical model of the intruder detection system is developed. Data needed for training and implementation of a neural network was studied. The results of training and implementation of neural networks based on perceptron and linear neural networks in MATLAB for recognizing intruder presence in information system. The probability of type I and type II errors of intruder detection method based on the perceptron was calculated. The standard deviation for the analyzed types of neural networks was defined. The results showed that the neural network based on perceptron is able to determine intruder in the system more precisely.
Keywords: neural networks, perceptron, MATLAB.
Сегодня, во времена информационных технологий, информационная безопасность становится вопросом критической важности. Для обнаружения злоумышленника и предотвращения атак используются системы обнаружения вторжений. Даже хорошие СОВ неидеальны и могут допускать ошибки. Чтобы свести вероятность ошибки к минимуму, нужно использовать наиболее эффективные методы обнаружения злоумышленника в системе. Сейчас все большую популярность в этом вопросе приобретают статистические методы и среди них нейронные сети. Данные методы позволяют выявить аномальное поведение пользователя в системе путем сравнения с нормальным поведением. Метод, основанный на нейронных сетях, обладает большим быстродействием, требует меньшее время на реализацию и позволяет анализировать больший объем данных, что увеличивает его эффективность относительно других статистических методов.
При обнаружении злоумышленника в системе предполагается, что его поведение отличается от поведения легального пользователя и эти различия можно оценить количественно. Невозможно будет увидеть совершенно разную работу в системе нелегального пользователя по сравнению с легальным, тем не менее можно отследить в их поведении общие черты и рассчитать вероятность ошибки.
В отличие от других статистических методов обнаружения нарушителя в системе, метод, основанный на нейронных сетях, позволяет анализировать огромные массивы разнообразных данных по действиям пользователя и определять, является пользователь легальным или нет.
Для разработки модели обнаружения нарушителя в системе возьмем за основу искусственную нейронную сеть. Определим параметры математической модели. Входными параметрами модели будет являться вектор, представляющий собой множество бинарных данных, характеризующих действия пользователя в системе. Ядром математической модели будет являться нейронная сеть, обученная анализировать входные данные и выявлять в них аномалии, что будет интерпретироваться как аномальное поведение пользователя.
Выходные параметры: «0» и «1», где 0 - пользователь легальный, 1 - пользователь нелегальный (рис.1).
Рис.1 - Математическая модель обнаружения нарушителя в системе
нейронный сеть распознавание злоумышленник
Для реализации методов обнаружения злоумышленника в системе на основе нейронных сетей используем массив данных, представленных в бинарном виде, которые характеризуют действия пользователя в системе.
Первый столбец представляет собой реальное положение пользователя:
· 0 - легальный;
· 1 - нелегальный.
Все последующие столбцы - данные, которые соответствуют поведению пользователя. Так как массив содержит более 700 видов оцениваемых данных по более 1500 пользователей, очень сложно провести его анализ. Для того, чтобы сократить массив и составить таблицу из наиболее показательных примеров, проведем корреляцию. Рассчитаем коэффициенты корреляции для каждого столбца относительно первого. Выберем 30 столбцов, модуль коэффициента корреляции которых наиболее приближен к 1. Данную таблицу разделим пополам по строкам. Первую часть будем использовать для построения и обучения нейронной сети [1]. Вторую - для реализации метода и выявления ошибок относительно реальных данных. Для удобства построения нейронной сети и избегания ошибок, изменим положение полученных таблиц - транспортируем столбцы в строки.
Создадим в пакете MATLAB [2] три таблицы с данными.
Таблица input представляет собой входные данные для построения и обучения нейронной сети, взятые из первой части таблицы. Таблица target содержит выходные данные для каждого столбца таблицы input. Таблица sample заполняется данными второй части таблицы. Эти данные в дальнейшем будут использоваться для реализации нейронной сети и выявления ошибок. Далее создаем нейронную сеть. Рассмотрим процесс обучения сети на персептроне [3], для линейной нейронной сети процесс будет аналогичным. В качестве входных данных выбираем таблицу input, а в качестве выходных - target. Выбираем «Perceptron» (или «Linear layer») как тип нейронной сети. После того, как сеть будет создана, открываем вкладку train, в которой расположены параметры для настройки обучения сети. Также выбираем в качестве входных данных input качестве выходных - target. Параметры обучения оставляем по умолчанию и запускаем обучение нейронной сети. Можно в любой момент остановить обучение, в противном случае оно автоматически завершится после 1000 итераций (рис 2).
Рис. 2 - Процесс обучения сети
Теперь, обучив сеть, мы можем смоделировать выходные данные для таблицы sample и сравнить их с реальными данными. Во вкладке Simulate в качестве входных данных выбираем таблицу sample и создаем предполагаемые выходные данные predicted.
Открыв вкладку predicted, мы получим окно смоделированных выходных данных для таблицы sample (рис. 3).
Рис. 3 - Полученные выходные данные для нейронной сети на персептроне
Полученные данные сравним с реальными и выявим ошибки I-го и II-го рода. Ошибка I-го рода возникает, когда легального пользователя принимают за нелегального: реальные данные - 0; результаты нейронной сети - 1. Ошибка II-го рода возникает, когда нелегального пользователя принимают за легального: реальные данные - 1; результаты нейронной сети - 0. В строках «Ошибки I-го рода» и «Ошибки II-го рода» используем функцию ЕСЛИ соответственно для нуля или единицы в строке «Реальные данные». Если результат нейронной сети равен реальным данным в ячейку заполняется 0 - нет ошибки, если не равен - 1 - ошибка есть.
Посчитаем теперь количество единиц и определим, что количество ошибок I-го рода равно 23, а количество ошибок II-го рода - 63 (рис. 4).
Рис. 4 - Определение количества ошибок I-го и II-го рода
Таким образом, выражая полученные результаты в процентах, получим: вероятность ошибки I-го рода - 21,3%, вероятность ошибки II-го рода - 25,1%.
Проведем описанные выше расчеты для линейной нейронной сети. В данном случае в структуре результирующих данных преобладают нули, что говорит о том, что сеть определяет пользователя как легального в большинстве случаев (рис. 5).
Рис. 5 - Полученные выходные данные для линейной нейронной сети
Таким образом, можно сделать вывод, что персептрон наиболее подходит для решения поставленной задачи, так как для других сетей задача решается хуже.
Построим графики среднеквадратического отклонения для реализованных нейронных сетей. Среднеквадратическое отклонение для сети на персептроне меньше (рис. 6а), чем для линейной нейронной сети (рис. 6б), что так же свидетельствует о том, что сеть на персептроне способна точнее определить злоумышленника в системе.
Рис. 6 - Графики среднеквадратического отклонения нейронной сети на персептроне (а) и линейной нейронной сети (б)
Несмотря на то, что предложенный метод имеет ряд недостатков, он превосходит многие статистические методы по количеству преимуществ. Данный метод прост в использовании, не требует большого объема памяти и обладает хорошим быстродействием, что позволяет легко внедрить его в работу предприятия для обнаружения злоумышленника в системе. Предложенный метод на основе нейронной сети имеет возможность работать с большими объемами данных, что позволит более точно составить «портрет» злоумышленника и идентифицировать его в системе.
Список литературы
1. Lawrence J. Introduction to Neural Networks / J. Lawrence. - California Scientific Software Press, 1994. - 25 p.
2. Demuth H. Neural Network Toolbox User's Guide / H. Demuth, M. Beale. - The MathWorks, Inc., 2002. - P. 3-2 - 3-36.
3. Minsky M. L. Perceptrons. / M. L. Minsky, S. A. Papert. - Cambridge, MA: MIT Press, 1969. - 5 p.
Размещено на Allbest.ru
...Подобные документы
Способы применения технологий нейронных сетей в системах обнаружения вторжений. Экспертные системы обнаружения сетевых атак. Искусственные сети, генетические алгоритмы. Преимущества и недостатки систем обнаружения вторжений на основе нейронных сетей.
контрольная работа [135,5 K], добавлен 30.11.2015Способы применения нейронных сетей для решения различных математических и логических задач. Принципы архитектуры их построения и цели работы программных комплексов. Основные достоинства и недостатки каждой из них. Пример рекуррентной сети Элмана.
курсовая работа [377,4 K], добавлен 26.02.2015Диагностический анализ изучения алгоритмов обучения нейронных сетей "с учителем". Сбор входных и выходных переменных для наблюдений и понятие пре/пост процессирования. Подготовка и обобщение многослойного персептрона, модель обратного распространения.
курсовая работа [249,3 K], добавлен 22.06.2011Технологии решения задач с использованием нейронных сетей в пакетах расширения Neural Networks Toolbox и Simulink. Создание этого вида сети, анализ сценария формирования и степени достоверности результатов вычислений на тестовом массиве входных векторов.
лабораторная работа [352,2 K], добавлен 20.05.2013Нейронные сети как средство анализа процесса продаж мобильных телефонов. Автоматизированные решения на основе технологии нейронных сетей. Разработка программы прогнозирования оптово-розничных продаж мобильных телефонов на основе нейронных сетей.
дипломная работа [4,6 M], добавлен 22.09.2011Анализ применения нейронных сетей для прогнозирования ситуации и принятия решений на фондовом рынке с помощью программного пакета моделирования нейронных сетей Trajan 3.0. Преобразование первичных данных, таблиц. Эргономическая оценка программы.
дипломная работа [3,8 M], добавлен 27.06.2011Рост активности в области теории и технической реализации искусственных нейронных сетей. Основные архитектуры нейронных сетей, их общие и функциональные свойства и наиболее распространенные алгоритмы обучения. Решение проблемы мертвых нейронов.
реферат [347,6 K], добавлен 17.12.2011Описание технологического процесса напуска бумаги. Конструкция бумагоделательной машины. Обоснование применения нейронных сетей в управлении формованием бумажного полотна. Математическая модель нейрона. Моделирование двух структур нейронных сетей.
курсовая работа [1,5 M], добавлен 15.10.2012Искусственные нейронные сети как одна из широко известных и используемых моделей машинного обучения. Знакомство с особенностями разработки системы распознавания изображений на основе аппарата искусственных нейронных сетей. Анализ типов машинного обучения.
дипломная работа [1,8 M], добавлен 08.02.2017Простейшая сеть, состоящая из группы нейронов, образующих слой. Свойства нейрокомпьютеров (компьютеров на основе нейронных сетей), привлекательных с точки зрения их практического использования. Модели нейронных сетей. Персептрон и сеть Кохонена.
реферат [162,9 K], добавлен 30.09.2013Понятие искусственного нейрона и искусственных нейронных сетей. Сущность процесса обучения нейронной сети и аппроксимации функции. Смысл алгоритма обучения с учителем. Построение и обучение нейронной сети для аппроксимации функции в среде Matlab.
лабораторная работа [1,1 M], добавлен 05.10.2010Исследование задачи и перспектив использования нейронных сетей на радиально-базисных функциях для прогнозирования основных экономических показателей: валовый внутренний продукт, национальный доход Украины и индекс потребительских цен. Оценка результатов.
курсовая работа [4,9 M], добавлен 14.12.2014Модели нейронных сетей и их реализации. Последовательный и параллельный методы резолюции как средства логического вывода. Зависимость между логическим следованием и логическим выводом. Применение технологии CUDA и реализация параллельного алгоритма.
дипломная работа [1,5 M], добавлен 22.09.2016Общие сведения о принципах построения нейронных сетей. Искусственные нейронные системы. Математическая модель нейрона. Классификация нейронных сетей. Правила обучения Хэбба, Розенблатта и Видроу-Хоффа. Алгоритм обратного распространения ошибки.
дипломная работа [814,6 K], добавлен 29.09.2014Изучение методов разработки систем управления на основе аппарата нечеткой логики и нейронных сетей. Емкость с двумя клапанами с целью установки заданного уровня жидкости и построение нескольких типов регуляторов. Проведение сравнительного анализа.
курсовая работа [322,5 K], добавлен 14.03.2009Гибкая технологии извлечения знаний из нейронных сетей, настраиваемой с учетом предпочтений пользователя. Тестирование, пробная эксплуатация и разработка новой версии программных средств, реализующих данную технологию. Индивидуальные пространства смыслов.
дипломная работа [336,3 K], добавлен 07.06.2008Применение нейрокомпьютеров на российском финансовом рынке. Прогнозирование временных рядов на основе нейросетевых методов обработки. Определение курсов облигаций и акций предприятий. Применение нейронных сетей к задачам анализа биржевой деятельности.
курсовая работа [527,2 K], добавлен 28.05.2009Понятие и свойства искусственных нейронных сетей, их функциональное сходство с человеческим мозгом, принцип их работы, области использования. Экспертная система и надежность нейронных сетей. Модель искусственного нейрона с активационной функцией.
реферат [158,2 K], добавлен 16.03.2011Особенности нейронных сетей как параллельных вычислительных структур, ассоциируемых с работой человеческого мозга. История искусственных нейронных сетей как универсального инструмента для решения широкого класса задач. Программное обеспечение их работы.
презентация [582,1 K], добавлен 25.06.2013Анализ инцидентов информационной безопасности. Структура и классификация систем обнаружения вторжений. Разработка и описание сетей Петри, моделирующих СОВ. Расчет времени реакции на атакующее воздействие. Верификация динамической модели обнаружения атак.
дипломная работа [885,3 K], добавлен 17.07.2016