Сер. 10. 2010. Вып. 1
ВЕСТНИК САНКТ-ПЕТЕРБУРГСКОГО УНИВЕРСИТЕТА
УДК 004.492.3
А. К. Большее, В. В. Яновский ПРИМЕНЕНИЕ НЕЙРОННЫХ СЕТЕЙ
ДЛЯ ОБНАРУЖЕНИЯ ВТОРЖЕНИЙ В КОМПЬЮТЕРНЫЕ СЕТИ
Введение. Обнаружение сетевых атак является в настоящее время одной из наиболее значительных проблем сетевых технологий. Незащищенный компьютер, подключенный к сети Интернет, будет взломан не позднее чем через 4-5 ч. Сейчас трудно найти сеть, в которой отсутствуют такие активные средства предупреждения атак как антивирус, брандмауэр, системы предупреждения вторжений уровня хоста и т. д. К сожалению, одних активных средств отражения атак недостаточно. Поэтому в дополнение к ним применяют пассивные средства борьбы с атаками - сетевые системы обнаружения вторжений (NIDS, Network Intrusion Detection Systems), которые просматривают весь сетевой трафик (или трафик определенного участка сети) и при обнаружении каких-либо отклонений в нем сигнализируют об этом. Формальные NIDS работают по принципу антивирусной программы - пакеты, попадающие на сенсоры, сравниваются с сигнатурами в базе данных (БД) и в случае обнаружения совпадения объявляется тревога. Основной проблемой NIDS является низкая эффективность обнаружения принципиально новых видов вторжений, которые еще не изучены и не занесены в БД сигнатур. Применение эвристических методов обнаружения атак также не дает нужного эффекта, при этом возникают повышенные требования к аппаратным ресурсам в сетях с высоким уровнем трафика и значительное количество ложных срабатываний на положительном (корректном) трафике. При проверке большого количества пакетов в секунду любая FR*) создает сообщение в журналах аномальностей. Если значение FR системы достаточно велико, то журналы аномальной активности очень быстро заполнятся ошибками распознавания (сообщениями о нормальных пакетах, признанных аномальными), и обнаружение настоящих аномалий в этом шуме будет сильно затруднено. Кроме того, большинство эвристических методов обучения требуют одинаковое количество нормального и аномального трафиков, что в реальных условиях практически невозможно. Одним из решений проблемы является использование эвристических NIDS, которые обучаются только на положительных (неаномальных) или смешанных (неклассифицированных смесях аномального и нормального трафиков) данных.
Большее Александр Константинович — аспирант кафедры МО ЭВМ Санкт-Петербургского государственного электротехнического университета (Ленинградского электротехнического института). Количество опубликованных работ: 5. Научный руководитель: доц. В. В. Яновский. Научные направления: информационная безопасность, безопасность в распределенных системах. E-mail: [email protected].
Яновский Владислав Васильевич — кандидат технических наук, доцент, заместитель заведующего кафедрой МО ЭВМ по научной работе Санкт-Петербургского государственного электротехнического университета (Ленинградского электротехнического института). Количество опубликованных работ: 64. Научные направления: распределенные программные системы и информационные технологии для интеллектуального анализа данных, проектирования и управления. E-mail: [email protected].
Ошибка, связанная с принятием положительного пакета за вторжение.
© А. К. Большев, В. В. Яновский, 2010
Рассмотрим существующие модели эвристических NIDS, которые работают с такими данными.
Существующие подходы для обучения на неаномальном трафике. Университет Калифорнии (UCI) в 1999 г. предложил соревнование (KDD Cup ’99) для алгоритмов в области машинного обучения*). В качестве предметной области было взято обнаружение вторжений в компьютерных сетях. UCI предложил свое отображение сетевого трафика и некоторых событий на серверах в наборы векторов из 40 параметров, при этом каждый вектор описывает некую TCP-сессию или отдельный пакет UDP/ICMP**). Предложенные данные оказались настолько удачными, что уже много лет модели эвристических NIDS проверяют именно на них. Кратко рассмотрим несколько моделей NIDS, которые обучаются только на положительных данных и используют для тестирования/тренировки данные «KDD Cup ’99».
В 2004 г. Эскин, Арнольд и др. предложили так называемый «геометрический подход» для построения модели NIDS, которая могла бы обучаться без учителя [1]. Основной принцип заключался в предварительной предобработке векторов и применении к ним одноклассового SVM (one-class Support Vector Machines), метода ближайшего соседа (nearest neighboar) или так называемого кластерного приближения (cluster-based estimation). Данный метод преобразования заключался в применении внутри алгоритмов ядра (kernel), которое эмулировало скалярное произведение в пространстве более высокой размерности, чем то, к которому принадлежали исходные векторы. После чего мера схожести (мера расстояния) описывалась через такое ядро. Это позволяло сделать векторы линейно разделимыми. В качестве ядра использовалось спектральное (spectrum kernel). Наилучшим результатом стало обнаружение 98% аномальностей при FR = 10% ложных срабатываний и 28% аномальностей при FR = 0.5% ложных срабатываний.
Для тех же модельных данных Эскин и Портной [2] предложили способ работы с данными для обучения, которые «не помечены», т. е. неизвестно, положительные они или отрицательные. Пусть Vn - множество векторов v размерности т. Метод обучения заключался в следующем: проводились нормализация данных и выбор метрики M, которая наиболее подходила для определения понятия сходства между векторами; затем данные кластеризовались с помощью метрики M (использовался один из простейших алгоритмов кластеризации - single linkage clustering, метод кластеризации, сходный с методом ближайшего соседа) и делалось предположение о том, что кластеры с количеством векторов выше определенного порога являются положительными, остальные отображают аномальный трафик. На этапе тестирования для вектора определялась принадлежность к какому-то кластеру и делался вывод о том, является ли он положительным или отрицательным. Исследование модели дало очень хорошие результаты, лучшим из которых стало обнаружение аномальностей, равное 65.7% при FR = 0.178%.
Описанные выше методы не дают полного решения поставленной проблемы. В сети с пакетооборотом более 1 мегапакета в секунду уровень FR, близкий к 0.01%, будет в среднем генерировать более 10 ложных срабатываний в секунду, что просто недопустимо. Следовательно, задача разработки новых методов обнаружения или выработки новых подходов, основанных на уже существующих методах, является актуальной. Так как для обучения системы мы имеем только положительные данные,
*) URL:http://kdd.ics.uci.edu/databases/kddcup99/kddcup99.html.
**) Состав вектора можно посмотреть на странице соревнований. URL:http://kdd.ics.uci.edu/data-bases/kddcup99/task.html.
логично было бы попробовать применить одноклассовую классификацию. С учетом того, что на основном этапе работы - этапе обнаружения (тестирования) - требования к производительности довольно высоки, то для реализации такого классификатора подходят искусственные нейронные сети (ИНС).
Одноклассовая классификация при помощи ИНС. Классификация - один из разделов машинного обучения, посвященный решению следующей задачи. Пусть X - множество описаний объектов, У - множество номеров (или наименований) классов. Существует неизвестная целевая зависимость - отображение у* : X ^ У, значения которой известны только на объектах конечной обучающей выборки Хт = {(х1,у1),..., (хт,ут)}. Требуется построить алгоритм а : X ^ У, способный классифицировать произвольный объект х € X. Если множество У состоит только из двух элементов, то имеет место бинарная (двуклассовая) классификация. В этом случае условно считают, что У = {1, —1} и один из классов - положительным, второй - отрицательным.
Рассмотрим случай бинарной классификации, когда множество Xт имеет структуру {(х1,у1),..., (хт,у-\)}, т. е. нам известна только так называемая положительная выборка, цель остается неизменной. В этом случае имеет место одноклассовая классификация или классификация с обучением на основе только положительных примеров.
Один из самых простых способов реализации одноклассового классификатора - применение некой предобработки входных данных с последующим использованием одного из стандратных методов классификации. Однако эти методы весьма нестабильны.
Другим способом реализации является использование многослойного перцептрона в качестве адаптивного фильтра. Многослойный перцептрон - это ИНС прямого распространения. Обучение ИНС на основе только положительных примеров было впервые рассмотрено в работе Маневица и Юсуфа [3].
Ниже указан несколько модифицированный авторами статьи метод классификации на основе многослойного перцептрона. Пусть существует набор векторов Уп, каждый из которых является положительным и имеет размерность т. Выберем некую метрику М, которая описывает расстояние между векторами (в качестве расстояния можно взять евклидово или Чебышева). Построим ИНС прямого распространения с т входными нейронами, Н нейронами скрытого слоя и т выходными нейронами, при этом скрытый слой имеет сигмоидальную функцию активации, выходной - линейную. Для его обучения по методу обратного распространения будем использовать обучающую выборку Xп вида {(х1,х1),..., (хп ,хп)}. То есть построенная ИНС будет работать как адаптивный фильтр, который, получив на вход сигнал (вектор), должен без искажений передавать его на выход. Таким образом, для векторов, похожих на вектора обучающей выборки, расстояние М(хг,уг) ^ 0, где уг - выходной вектор ИНС при получении на вход вектора хг. После обучения, если выбрана нестандартная метрика М, нужно пропустить всю обучающую выборку через ИНС и получить пороговое значение ЬНтвв = (1 + 0)шахуге(11п) М(хг,уг), где в € ( — 1,1) - пороговый коэффициент. Чтобы узнать, является ли произвольный вектор х положительным, достаточно определить посредством ИНС вектор у и проверить - не превышает ли порог ЬНтвв значение М(х, у). Видно, что после обучения ИНС будет эмулировать тождественное отображение (с неким максимальным пороговым искажением 1ктвз) для векторов из положительного множества, а векторы из отрицательного множества будут искажаться гораздо больше.
ИНС, реализующая работу одноклассового классификатора, представлена на рис. 1.
n h п
Рис. 1. Многослойная ИНС
В данном случае количество нейронов внутреннего (скрытого) слоя меньше, чем внешних слоев. В качестве функции активации f следует использовать сигмоидальную.
На эффективность работы такого одноклассового классификатора влияют следующие параметры:
• h - количество нейронов скрытого слоя, напрямую влияющее на объем так называемой «памяти» ИНС; если h будет больше или равно m, то возникнет опасность «переобучения», т. е. сеть напрямую приблизится к тождественному отображению и будет любые данные, поступившие на вход, передавать с минимальным изменением на выход; если же h будет слишком маленьким, то возможно «недо-обучение» сети, т. е. положительный класс будет не до конца определен;
• п - коэффициент скорости обучения (LR, learning rate), влияющий как на скорость обучения, так и на эффективность «запоминания»; при больших п ИНС может никогда не обучиться, при малых - обучаться слишком долго или «переобучиться»;
• л - коэффициент инерционности (LM, Learning Momentum), влияющий как на скорость обучения, так и на качество (performance) обучения.
В зависимости от размера входных векторов и характеристик обучающего множества данные параметры могут изменяться различными способами. Не существует строго определенных подходов их выбора. В большинстве случаев эти параметры выбираются эмпирическим путем или специальными алгоритмами на основе полученной части эмпирических данных [4].
Модель системы на основе ИНС. На рис. 2 предложена модель системы обнаружения вторжений для работы с данными «KDD Cup ’99». Основными блоками модели являются:
• Блок П/Н - переводит символьные значения данных в цифровые и нормирует их. Изначально, данные необходимо нормировать, для того чтобы ИНС при обучении методом обратного распространения не разошлась [5].
• Блок ИНС - представляет собой нейронную сеть, которая работает как одноклассовый классификатор. Количество входных и выходных нейронов такой сети равно размерности векторов, полученных на выходе П/Н.
• Блок M - блок сравнения выходного вектора ИНС с оригинальным вектором и определения - является ли выходной вектор аномальным или нет. На последнем этапе тренировки необходимо еще раз пропустить всю обучающую выборку через ИНС для вычисления величины порога thres. На этапе тестирования измеряется расстояние между входным и выходным векторами ИНС и если оно превышает thres, то вектор считается аномальным.
Основными настраиваемыми параметрами модели являются: h - количество нейронов скрытого слоя; lr и lm - параметры обучения ИНС; epochs - количество эпох, в течение которых происходит обучение ИНС; в - пороговый коэффициент.
Рис. 2. Модель эвристической NIDS на основе ИНС для данных «KDD Cup ’99»
Исследование модели. В качестве обучающих данных использовалась 5%-ная случайная выборка векторов из всего обучающего множества «KDD Cup ’99». Как тестовые данные применялись 10%-ная случайная выборка обучающих данных «KDD Cup ’99» и вся выборка тестовых данных «KDD Cup ’99». Таким образом, условия тестирования были максимально приближены к условиям тестирования вышеописанных систем, работающих с данными «KDD Cup ’99».
Размер пространства векторов (m) «KDD Cup ’99» равен 41, поэтому количество входных и выходных нейронов ИНС будет таким же. Количество нейронов скрытого слоя будет определяться эмпирическим путем, как и параметры обучения LR, LM.
Исследование проводилось с использованием сетей с h G [17, 39] и сигмоидальной функцией активации. Размер скрытого слоя, превышающий 39 нейронов, может привести к переобучению, использование h < 0.4m - к недостаточному обучению ИНС (так называемая «нехватка памяти»). В качестве функции расстояния была взята функция Чебышева. Рассматривались различные п из диапазона (10~4, 0.95) и л из диапазона (0.01,0.95).
Было исследовано 2478 «точек», каждая из которых представляет собой комбинацию из значений (количество нейронов скрытого слоя, коэффициент обучения, коэффициент инерционности). Диапазоны выбора точек указаны выше. Число циклов обучения составило 500 эпох. При исследовании для каждой точки вычислялись следующие значения: среднеквадратическая ошибка LMS, порог thres, а также результаты тестирования на 10%-ной случайной выборке обучающих данных «KDD Cup ’99»: СR (корректно распознанные вектора), FR (ошибочно отвергнутые положительные вектора) и FA (ошибочно принятые отрицательные вектора).
На рис. 3 отображены зависимости среднеквадратической ошибки LMS и порога thres от количества нейронов скрытого слоя. Как было показано выше, необходимо добиться минимизации LMS и порога thres. Из рис. 3 видно, что увеличение
LMS
a
thres
6
Рис. 3. Зависимость LMS (а) и thres (б) от количества нейронов скрытого слоя (hidden layer)
количества нейронов скрытого слоя слабо влияет на уменьшение LMS, но появляется ярко выраженная обратная зависимость между h и thres.
thres а thres ^
Рис. 4. Зависимость порога thres от коэффициентов обучения (а) и инерционности (б)
На рис. 4 показаны зависимости порога thres от коэффициента обучения LR и коэффициента инерционности LM. Как видно из апроксимирующей кривой, для коэффициента обучения лучших результатов (минимального порога) ИНС достигла при п € (0.05, 0.085), с лучшим средним значением 0.07. При росте п и превышении им значения 0.1 явно видно увеличение порога, т. е. «недообученность» ИНС. Кроме того, возникновение минимального порога при приближении ц к 1.00 более вероятно (это видно из рис. 4, б). Таким образом, можно сделать вывод, что наилучшие
значения порога (т. е. минимальные) будут достигнуты при п — 0.07, ^ > 0.5 и Н Є (36, 39). Действительно, при Н = 37, п = 0.07, ц = 0.75 было получено лучшее значение порога для всех тестовых точек, равное 0.001823191.
Результаты исследований приведены в таблице. Здесь СИ, - процент корректно распознанных векторов, FR - процент отвергнутых положительных векторов. Приведены лучшие результаты вместе с входными параметра ИНС, при которых они были достигнуты. Для сравнения также даны результаты алгоритмов, рассмотренных выше. Как видно из таблицы, модель показывает лучшие результаты по минимизации количества ложных срабатываний ^И) и результаты, сопоставимые с другими моделями по количеству обнаружений атак. Таким образом, можно утверждать, что разработанная модель на основе данных «KDD Сир ’99» показывает конкурентность способа по сравнению с другими моделями и алгоритмами, обучавшимися только на положительных или смешанных данных.
Результаты исследования модели
Модель CR FR
ИНС (36, 0.07, 0.8) ИНС (37, 0.07, 0.75) ИНС (38, 0.03, 0.65) ИНС (39, 0.085, 0.85) Геометрический подход [1] Геометрический подход [1] Кластеризация [2] 0.965 0.964 0.966 0.967 0.98 0.28 0.667 1.51 • 10~ь 1.99 • 10-Б 1.31 • 10~Б 1.33 • 10~Б 0.1 0.01 0.021
Заключение. Рассмотрены достоинства и недостатки различных эвристических систем обнаружения вторжений обучающихся только на положительном трафике. Предложена модель обнаружения вторжений на основе одноклассовой классификации с помощью ИНС. С использованием данных «KDD Cup ’99» обнаружено 96.7% атак при 1.33 • 10~5% ложных срабатываний на положительном трафике. Проведенное изучение такой модели позволяет утверждать, что построение эвристической системы обнаружения вторжений на основе одноклассовой классификации при помощи ИНС является перспективным направлением для дальнейшего исследования и разработки.
Литература
1. Eskin E., Arnold A., Portnoy L. A Geometric Framework for Unsupervised Anomaly Detection: Detecting Intrusions in Unlabeled Data. New York: Columbia University, 2001. 14 p.
2. Eskin E., Portnoy L. Intrusion Detection with Unlabeled Data Using Clustering. New York: Columbia University, 1999. 13 p.
3. Manevitz L. M., Yousef M. Document Classification on Neural Networks Using Only Positive Examples. Haifa: University of Haifa, 2005. 5 p.
4. Wilson D. R., Martinez T. R. The Need for Small Learning Rates on Large Problems. Utah: Brigham Young University, 2001. 12 p.
5. Большев А. К., Яновский В. В. Модель системы обнаружения атак отказа в обслуживании на основе метода опорных векторов // Изв. С.-Петерб. гос. электротехн. ун-та. 2008. Т. 4. С. 38—44.
Статья рекомендована к печати проф. Н. Е. Егоровым.
Статья принята к печати 24 сентября 2009 г.