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

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

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


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

Метод цепей Маркова

Определение [26]: Маркова цепь - марковский процесс с дискретным временем, заданный в измеримом пространстве.

Стохастический процесс в дискретные моменты времени показывает, как меняется значение случайной переменной в данные моменты времени. Пусть Xt - некоторая случайная переменная, представляющая состояние системы в момент времени t, где t=0, 1, …Стационарная цепь Маркова - это стохастический процесс с дискретным временем, для которого предполагается следующее:

  • · распределение вероятности нахождения системы в некотором состоянии в момент времени t+1 зависит от состояния в момент времени t и не зависит от состояний, в которых находилась система в моменты времени, предшествующих моменту t;
  • · переход из состояния в момент времени t в состояние момента времени t+1 является мгновенным.

Обозначим через pij вероятность того, что система находится в состоянии j в момент времени t+1 и в состоянии i в момент времени t [8]. Если множество возможных состояний системы конечно (1, 2, …, s), то стационарная цепь Маркова может быть определена матрицей вероятностей переходов

и вектором начального распределения вероятностей: Q = (q1 q2 … qs), где qi - вероятность нахождения системы в состоянии i в момент времени 0 и .

Вероятность появления последовательности состояний X1, X2, …, XT в моменты времени 1, 2, …, T в контексте цепной модели Маркова рассчитывается следующим образом:

Матрица вероятностей переходов и вектор начального распределения вероятностей могут быть построены путём анализа состояний системы в предыдущие моменты времени. Если имеется набор наблюдений за состояниями системы X0, X1, …, XN-1 в моменты времени 0, 1, …, N-1, то компоненты матрицы вероятностей переходов и вектора начального распределения вероятностей рассчитываются следующим образом:

(5.3.1)

Где Nij - количество наблюдаемых пар состояний Xt и Xt+1, равных i и j соответственно.

Nj. - количество наблюдаемых пар состояний Xt и Xt+1, где первое равно i любым из 1, 2, …, s.

Nj - количество состояний Xt, равных i

N - общее количество наблюдений.

Для анализа открывается окно наблюдения размера N - берутся N последних событий до настоящего момента времени t Et-(N-1)=t-N+1, … , Et.

Каждому событию сопоставляется тип из конечного множества типов событий. Далее анализируется получившаяся последовательность состояний - типов событий Xt-N, … , Xt (Xi - тип события Ei).

Вероятность принадлежности данной последовательности состояний нормальному поведению системы определяется по следующей формуле:

(5.3.2)

Последовательность аномальных действий будет иметь меньшую вероятность (меньшую поддержку модели).

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

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

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

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

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