Полная версия

Главная arrow Информатика arrow Автоматическое построение профилей нормального поведения веб-приложений

  • Увеличить шрифт
  • Уменьшить шрифт


<<   СОДЕРЖАНИЕ   >>

Выбор методов обнаружения аномалий

В данном разделе приводятся описания четырёх математических методов обнаружения аномалий. Далее проводится сравнительный анализ и выбирается один метод. Выбранный метод будет использован в разрабатываемом модуле для обнаружения аномалий в значениях операций, поэтому после описания каждого метода приводится вариант использования метода в терминах решаемой задачи.

Рассмотренные методы были выбраны из следующих соображений:

  • · каждый метод является представителем класса методов;
  • · каждый метод часто упоминается в статьях, посвящённых задаче обнаружения аномалий.

В данном разделе и далее термины «модель обнаружения аномалий» и «метод обнаружения аномалий» будут считаться равнозначными и взаимозаменяемыми. Также равнозначными будут считаться понятия «этап обучения» и «этап построения профилей нормального поведения».

Метод Хотеллинга (тест Хотеллинга)

Метод Хотеллинга представляет собой многомерный статистический метод обнаружения аномалий [4].

Пусть Xi = (Xi1, Xi2, … , Xip)' - значения p параметров процесса или системы в определённый момент времени i. Предполагается, что при нормальном функционировании процесса анализируемое множество векторов X обладает нормальным распределением с вектором математических ожиданий м и ковариационной матрицей У. Для образца данных размера n вектор математических ожиданий X и ковариационная матрица S обычно рассчитываются следующим образом:

Значение теста Хотеллинга T2 для наблюдения Xi рассчитывается следующим образом:

Большое значение T2 означает большое отклонение значений наблюдения Xi от математических ожиданий анализируемой совокупности наблюдений.

Обычно неизвестно, каким распределением обладает множество значений каждой такой переменной, а значит, выдвигать предположение о том, что оно является нормальным, нельзя. Однако, если p случайных величин независимы и p достаточно большое (примерно больше 30), то T2 имеет распределение близкое к нормальному в соответствии с Центральной Предельной Теоремой вне зависимости от того, какими распределениями обладают множества значений каждой из p рассматриваемых случайных переменных. Используя набор значений T2, можно получить значения дисперсии и математического ожидания путём приближения математического ожидания и дисперсии . Предельные значения для обнаружения потери контроля над процессом обычно ставятся равными 3у и определяют диапазон . по выходу значения T2 за который подаётся сигнал об аномалии.

Сигнал о потере контроля над процессом на основе теста T2 может быть вызван сдвигом математического ожидания, потерей связи между переменными или комбинацией обеих ситуаций. В ситуации «сдвиг математического ожидания» одна или более из p переменных выходят из-под контроля. В ситуации «потеря взаимодействия переменных», взаимодействие между двумя или более из p переменных начинает отличаться от описанного в ковариационной матрице.

Хотя тест T2 обнаруживает оба вида ситуаций, тем не менее, он является более чувствительным к потере взаимодействия переменных, так как тест T2 в значительной степени зависит от взаимодействия переменных, описанного в ковариационной матрице.

Процесс автоматического построения профиля нормального поведения для теста Хотеллинга происходит следующим образом. Берётся набор учебных данных, каждый элемент которого представляет собой вектор значений параметров системы в конкретный момент времени. Для каждого параметра рассчитывается математическое ожидание, таким образом формируется вектор математических ожиданий X, который фиксируется в профиле. Далее рассчитывается и фиксируется в профиле ковариационная матрица S. Затем высчитывается математическое ожидание теста Хотеллинга и дисперсия , после чего высчитывается и фиксируется в профиле контрольный диапазон . После фиксации границ контрольного диапазона можно начинать анализ поступающих данных на предмет обнаружения аномалий - то есть выхода значения теста T2 за пределы контрольного диапазона.

В контексте предложенного метода обнаружения уязвимостей метод может быть использован следующим образом.

Размерность вектора ставится равной количеству всех операций над всеми объектами окружения. На этапе построения профилей нормального поведения в результате каждого HTTP-запроса формируется вектор, в котором значение каждой компоненты соответствует значению соответствующей операции. Вектора группируются по наборам HTTP-параметров, т. е. каждому набору HTTP-параметров соответствует набор векторов - записей трассы, полученных для данного набора HTTP-параметров за время обучения. Для каждого набора векторов по общей схеме высчитываются вектор математических ожиданий X, а затем математическое ожидание теста Хотеллинга и дисперсия . Далее фиксируется контрольный диапазон, и построение профиля нормального поведения для данного набора HTTP-параметров можно считать завершённым.

В режиме обнаружения аномалий открывается окно наблюдения некоторого размера. Алгоритм пересчёта значения теста Хотеллинга для каждого набора HTTP-параметров, присутствующего в окне наблюдения, запускается при поступлении каждой новой записи в трассу, т. е. при поступлении каждого нового HTTP-запроса и, соответственно, нового вектора значений операций, полученных в ходе обработки запроса. При выходе значения теста Хотеллинга для некоторого набора HTTP-параметров за пределы контрольного диапазона, зафиксированного в профиле нормального поведения для данного набора параметров, фиксируется аномалия.

 
Перейти к загрузке файла
<<   СОДЕРЖАНИЕ   >>