Применение искусственных нейронных сетей в сетевых

advertisement
ISBN 978-5-7262-1377-4. НЕЙРОИНФОРМАТИКА – 2011. Часть 3
Д.М. КЛИОНСКИЙ, А.К. БОЛЬШЕВ, В.В. ГЕППЕНЕР
Санкт-Петербургский государственный электротехнический
университет «ЛЭТИ»
klio2003@list.ru, alexander@darkkey.name, geppener@mail.ru
ПРИМЕНЕНИЕ ИСКУССТВЕННЫХ НЕЙРОННЫХ СЕТЕЙ В
СЕТЕВЫХ ТЕХНОЛОГИЯХ
И ИНТЕЛЛЕКТУАЛЬНОМ АНАЛИЗЕ ДАННЫХ
Данная работа иллюстрирует одно из широко распространенных на
сегодняшний день практических применений искусственных нейронных
сетей – определение факта наличия или отсутствия аномальных данных,
передающихся посредством компьютерных сетей, а также обнаружение
возможных вторжений в компьютерные сети.
Ключевые слова: искусственные нейронные сети, сетевые технологии,
вторжения в компьютерные сети, аномальные данные
Введение
Окружающий нас мир состоит из динамических объектов, т.е. физических тел и систем связанных тел, явлений, технических устройств и систем связанных устройств, а также технологических процессов, которые
способные воспринимать внешние физические воздействия и откликаться
на них изменением выходных физических величин, характеризующих
состояние и поведение объекта. Предположим, что мы имеем дело с таким
объектом. Это может быть компьютерная сеть, реактор на электростанции, сейсмограф или любой другой объект, генерирующий поток сигналов. При анализе объектов нередко возникает вопрос, как определить
“нормальность” (отсутствие аномальных данных) этого потока сигналов, а
также как определить и локализовать аномалию в поведении объекта. Эту
задачу можно решать различными способами; а авторами предлагается её
решение при помощи искусственных нейронных сетей.
Пусть некоторый объект K генерирует набор данных x(k ), k  1, N . Как
определить, является ли этот набор нормальным поведением объекта, или
объект ведет себя аномально? Если в процессе наблюдения за объектом
накопить некоторый набор данных X1 , который описывает поведение
объекта, и на основании этого набора установить закономерности в поведении объекта, то впоследствии можно будет сравнивать новые наборы
УДК 004.032.26(06) Нейронные сети
148
ISBN 978-5-7262-1377-4. НЕЙРОИНФОРМАТИКА – 2011. Часть 3
данных с выявленными закономерностями и говорить об их соответствии
или несоответствии. Такой процесс можно описать одноклассовой классификацией, или классификацией с обучением только на положительных
данных (one-class classification).
Одноклассовая классификация
Классификация – один из видов машинного обучения, направленный
на решение следующей задачи. Пусть X – множество описаний объектов,
Y – множество номеров (меток) классов. Существует неизвестная целевая
зависимость – отображение y*  X  Y , значения которой известны
только на объектах конечной обучающей выборки
X m  {( x1 , y1 ),...,
( xm , ym )} . Требуется построить отображение X  Y , способное классифицировать произвольный объект x из множества X. Если множество Y
состоит только из двух элементов, то имеет место бинарная (двуклассовая) классификация. В этом случае условно считают, что Y  {1; 1} , и
один из классов является положительным, а другой – отрицательным.
Рассмотрим случай бинарной классификации, когда множество X m
имеет структуру X m  {( x1 , y1 ),...,( xm , ym )} , т. е. нам известна только так
называемая положительная выборка. В этом случае имеет место одноклассовая классификация или классификация с обучением на основе
только положительных примеров.
Один из самых простых способов реализации одноклассового классификатора – применение некоторой предварительной обработки входных
данных с последующим использованием одного из стандартных методов
бинарной классификации. Однако эти методы весьма нестабильны.
Одноклассовый классификатор
на базе искусственных нейронных сетей (ИНС)
Другим способом реализации классификатора является использование
многослойного перцептрона в качестве адаптивного фильтра. Многослойный перцептрон – это ИНС прямого распространения. Обучение ИНС на
основе только положительных примеров рассмотрено в работе [1]. Ниже
указан несколько модифицированный авторами метод классификации на
основе многослойного перцептрона.
УДК 004.032.26(06) Нейронные сети
149
ISBN 978-5-7262-1377-4. НЕЙРОИНФОРМАТИКА – 2011. Часть 3
Пусть существует набор векторов Vn , каждый из которых является положительным и имеет размерность m (т.е m признаков). Выберем некую
метрику M, которая описывает расстояние между векторами (в качестве
расстояния довольно часто используется Евклидово расстояние или расстояние Чебышева). Построим ИНС прямого распространения с m входными нейронами, h нейронами скрытого слоя и m выходными нейронами,
при этом скрытый слой имеет сигмоидальную функцию активации, а выходной – линейную. Для его обучения по методу обратного распростраXn
нения будем использовать обучающую выборку
вида
{( x1 , x1 ),...,( xn , xn )}. Т.е. построенная ИНС будет работать как адаптивный фильтр, который, получив на вход сигнал (вектор), должен без искажений передавать его на выход. Таким образом, для векторов, похожих на
вектора обучающей выборки, расстояние M ( xi , yi )  0, , где yi – выходной вектор ИНС при получении на вход вектора xi . Оставшуюся часть
работы реализует детектор: после обучения, если выбрана нестандартная
метрика M, нужно пропустить всю обучающую выборку через ИНС и получить пороговое значение
thr  (1  ) max M ( xi , yi ),
i
где  – пороговый коэффициент. Чтобы узнать, является ли произвольный
вектор x положительным, достаточно определить посредством ИНС вектор y и проверить, не превышает ли порог thr значение M ( x, y) . Видно,
что после обучения ИНС, её поведением будет эмулировать тождественное отображение (с неким максимальным пороговым искажением thr) для
векторов из положительного множества, а вектора из отрицательного
множества будут искажаться гораздо больше.
УДК 004.032.26(06) Нейронные сети
150
ISBN 978-5-7262-1377-4. НЕЙРОИНФОРМАТИКА – 2011. Часть 3
Рис. 1. Нейронная сеть, представляющая собой одноклассовый классификатор
ИНС, реализующая работу одноклассового классификатора, представлена на рис. 1. В данном случае, количество нейронов внутреннего (скрытого) слоя меньше, чем для внешних слоев. В качестве функции активации f следует использовать сигмоидальную. На эффективность работы
такого одноклассового классификатора влияют следующие параметры:
 h – количество нейронов скрытого слоя, которое в данном случае
напрямую влияет на объем т.н. “памяти” ИНС; если h будет больше или
равно m, то возникнет опасность “переобучения”, т.е. сеть напрямую приблизиться к тождественному отображению и будет любые данные, поступившие на вход, передавать с минимальным изменением на выход; если
же h будет слишком маленьким, то возможно “недообучение” сети, т. е.
положительный класс будет не до конца определен;
  – коэффициент скорости обучения (LR, learning rate), влияющий
как на скорость обучения, так и на эффективность “запоминания”; при
больших η ИНС может никогда не обучиться, при малых – обучаться
слишком долго или “переобучиться”;
  – коэффициент инерционности (LM, Learning Momentum), влияющий как на скорость обучения, так и на качество обучения.
В зависимости от размера входных векторов и характеристик обучающего множества эти параметры могут изменяться различными способами.
Не существует строго определенных подходов их выбора. В большинстве
случаев эти параметры выбираются эмпирическим путем или специальными алгоритмами на основе полученной части эмпирических данных [1].
Выбор параметров также зависит от объекта и области применения.
УДК 004.032.26(06) Нейронные сети
151
ISBN 978-5-7262-1377-4. НЕЙРОИНФОРМАТИКА – 2011. Часть 3
Одноклассовый классификатор на базе ИНС обладает следующими
важными характеристиками [2]:

высокая производительность и низкие аппаратные требования на
этапе тестирования;

низкая чувствительность к шуму;

высокие аппаратные требования и временные затраты на этапе
обучения.
Существенным недостатком данного подхода являются высокие временные затраты на этапе обучения. При размерности выборки в 2–3 миллиона векторов и размерность пространства m  41 , ИНС будет обучаться
несколько суток. Необходимо разработать подход, который бы снижал
временные и аппаратные расходы на этапе обучения. Одним из возможных решений проблемы является использование методов сокращения
размерности обучающей выборки (PCA, ICA, преобразование Фурье и
др.), что приведет к уменьшению количества нейронов в ИНС и увеличит
скорость обучения.
Обнаружение вторжений в сеть на базе
одноклассового классификатора
Для защиты современных сетей все большую популярность приобретают решения на основе эвристических системы обнаружения вторжений
(Heuristic Network Intrusion Detection Systems, HNIDS). Системы такого
типа обучаются на «нормальном» трафике целевой сети и в случае обнаружения отклонений сообщают об атаке или аномалии. Достоинствами
HNIDS являются возможность обнаружения неизвестных атак и аномалий, а также слабая зависимость скорости работы от объема базы знаний
системы. К сожалению, современные HNIDS обладают некоторыми недостатками:

скорость работы на этапах тестирования и обучения невысока;

невозможность получения чистых выборок положительного и
отрицательного трафика ведет к вынужденному обучению только на
положительном трафике с небольшим наличием шума.
Решением вышеуказанных проблем может являться использование
HNIDS, которых обучаются только на положительных (не аномальных)
данных. Чтобы применить вышеописанный подход к этой задаче,
необходимо разработать алгоритм преобразования сетевого трафика в
наборы векторов, на основе которых могла бы быть впоследствии обучена
ИНС.
УДК 004.032.26(06) Нейронные сети
152
ISBN 978-5-7262-1377-4. НЕЙРОИНФОРМАТИКА – 2011. Часть 3
При разработке любой HNIDS необходимо определиться с уровнями
модели OSI, на которых будет осуществляться обнаружение вторжений. В
общем случае выделяют два типа систем обнаружения вторжений на сетевом/транспортном уровнях и на прикладном уровне. Системы прикладного уровня анализируют информацию, содержащуюся в управляющих полях протоколов 7 уровня, а также непосредственно в полях данных этих
протоколов. Такие системы предназначены для обнаружения атак на Webсервисы, файловые серверы и др. Системы обнаружения вторжений на
сетевом/транспортном уровнях работают с полями пакетов протоколов
IP, ICMP, UDP и TCP. Такие системы предназначены для обнаружения
распределенных атак, отказов в обслуживании, сетевых сканирований,
аномалий в поведении узлов и др. Предлагаемый нами прототип представляет систему второго типа. С помощью алгоритма преобразования,
мы будем извлекать из пакетов IP следующую информацию:

тип протокола транспортного или сетевого уровня;

флаги и опции IP;

время жизни;

тип сервиса;

количество отправленных и принятых байт в сессии;

сервис (для TCP и UDP представляет из себя порт сервера) и land
(флаг, установленный в 1 если порт сервера и клиента в рассматриваемом
пакете/сессии совпадают);

код и тип сообщения ICMP;

корректность контрольной суммы пакета;

результат проверки того, является ли пакет широковещательным
или групповым.
Отдельно выделим информацию, которая извлекается только из сессий
TCP:

флаги TCP;

“отпечаток” операционной системы;

количество пакетов;

время сессии;

отношение отправленных/принятых байт к их общему количеству;

опции TCP;

количество изменений окна;

количество соединений с сервером на момент начала сессии.
УДК 004.032.26(06) Нейронные сети
153
ISBN 978-5-7262-1377-4. НЕЙРОИНФОРМАТИКА – 2011. Часть 3
Сессией в данном случае называется любая последовательность TCPсегментов между двумя оконечными точками вида (хост, порт). Такая последовательность может быть ограничена сверху по количеству пакетов
и/или времени сессии. Сессия считается завершенной, если получена
стандартная последовательность успешного завершения TCP-соединения
(получена последовательность сегментов с флагами FIN, FIN, ACK или
FIN, ACK, FIN, ACK) или признак завершения соединения по ошибке
(получен флаг RST). Извлечение такой информации из сетевого трафика
имеет сложность O(log 2 2 n) , где n – число активных сессий на момент
получения пакета.
Полученные после работы алгоритма преобразования вектора можно
использовать в качестве обучающей и тестовой выборок для ИНС. Но для
увеличения скорости обучения, можно сократить размерность исходного
пространства данных. С помощью Метода Главных Компонент (МГК) [2]
размерность полученных выборок была уменьшена. Схема окончательной
модели HNIDS представлена на рис. 2.
Рис. 2. Схема модели HNIDS
Исследование на данных проводилось в два этапа: на данных DARPA
Intrusion Detection Evaluation. Обучение и тестирование проводилось на
ПК с процессором Intel Core2 Duo P8700 2.53GHz, 1066 Mhz FSP, 4Gb
RAM, жесткие диски SATA, Ethernet 1Gbit/s. Прототип был реализован на
языке R с использованием библиотеки newff. Обучающая выборка состояла из двух наборов трафика – понедельников 1 и 3 недели (3569991 пакетов); тестовая – из трафика захваченного в понедельник 2-й недели
(1753377 пакетов). Тестирование проводилось в режиме “offline”, т.е. прототип работал с дампами трафика, полученного утилитой tcpdump. Скорость обработки пакетов на этапе тестирования при этом составила 301,5
килопакетов в секунду. В тестовой выборке было 17 вторжений сетевого
уровня (например, таких как различные сетевые сканирования nmap, атаки land и smurf и др.). С помощью варьирования таких параметров, как h
(количество нейронов скрытого слоя), m (новая размерность при свертке
пространства при помощи МГК) и  (коэффициент обучения) проводились минимизации по критериям ложной тревоги (FP) и пропуска (FN).
При минимизации по критерию FP, прототип обнаружил 12 атак при 2
ложных срабатываниях. При минимизации по критерию FN, прототип
УДК 004.032.26(06) Нейронные сети
154
ISBN 978-5-7262-1377-4. НЕЙРОИНФОРМАТИКА – 2011. Часть 3
обнаружил 16 атак при 1878 ложных срабатываниях. Для сравнения, метод Трана Кванг-Анга (OTAD) на тех же данных показал 8 атак при 1
ложном срабатывании (минимизация по FP) и 17 атак при 9176 ложных
срабатываний (минимизация по FN).
Заключение
Предложенные авторами методы показали себя эффективными в задачах обнаружения вторжений в сеть и выявления аномальных данных.
Настоящая работа поддержана в рамках федеральной целевой программы “Научные и научно-педагогические кадры инновационной России” на 2009-2013 годы.
Список литературы
Хайкин С. Нейронные сети. Полный курс. М.: Изд. дом «Вильямс»,
2006,
1104 с.
Han J., Kamber J. Data Mining: Concepts and Techniques. New York,
Elsevier, 2006, 770 p.
УДК 004.032.26(06) Нейронные сети
155
Download