Выбор методов обнаружения аномалий, Метод Хотеллинга (тест Хотеллинга) - Автоматическое построение профилей нормального поведения веб-приложений

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

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

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

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

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

Метод Хотеллинга представляет собой многомерный статистический метод обнаружения аномалий [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-параметров за пределы контрольного диапазона, зафиксированного в профиле нормального поведения для данного набора параметров, фиксируется аномалия.

Похожие статьи




Выбор методов обнаружения аномалий, Метод Хотеллинга (тест Хотеллинга) - Автоматическое построение профилей нормального поведения веб-приложений

Предыдущая | Следующая