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

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

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




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

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