Московский государственный университет им. М. В. Ломоносова факультет вычислительной математики и кибернетики





НазваниеМосковский государственный университет им. М. В. Ломоносова факультет вычислительной математики и кибернетики
страница12/13
Дата публикации20.08.2013
Размер0.55 Mb.
ТипДипломная работа
100-bal.ru > Информатика > Дипломная работа
1   ...   5   6   7   8   9   10   11   12   13

6.4 Описание подсистем модуля


В данном подразделе приводятся описания основных подсистем модуля обнаружения уязвимостей.

6.4.1 Консоль управления


Задачами консоли управления являются настройка, запуск и координация остальных подсистем модуля.

При запуске консоль управления считывает файл с настройками модуля. Далее настройки передаются запускаемым подсистемам.

6.4.2 Подсистема предварительной обработки трассы


Задачей подсистемы предварительной обработки трассы (далее – «предобработчик трассы») является анализ и преобразование записей трассы к внутреннему представлению для дальнейшего анализа подсистемами построения профиля нормального поведения и обнаружения аномалий.

Основными задачами предобработчика трассы являются:

  • анализ значений POST-параметров и их замена на типы;

  • суммирование значений для одинаковых операций в записи трассы.

Как было сказано в Подразделе 4.5, при сравнении GET-параметров сопоставляются значения параметров, а при сравнении POST-параметров – их типы. Определение типов POST-параметров является непосредственной задачей предобработчика трассы.

В качестве типов используются символьные классы регулярных выражений стандарта POSIX [24]. Для определения типа используется соответствующее регулярное выражение.

Как было отмечено в Подразделе 6.2.2, в ряде случаев нужно обрабатывать отдельные GET-параметры как POST-параметры, и наоборот. То есть – заменять значение отдельных GET-параметров на их типы и не заменять значение отдельных POST-параметров на их типы. Список таких исключений задаётся в отдельном файле, представляющем собой совокупность записей, описывающих исключения.

Запись имеет следующую структуру:

  • запись открывается ключевым словом WAProfile_ExclusionBegin;

  • набор полей, описывающих исключение;

  • запись закрывается ключевым словом WAProfile_ExclusionEnd.

Запись состоит из следующих полей:

  • WAProfile_ExclusionURL – поле содержит URL-адрес веб-приложения, которому передаётся параметр;

  • WAProfile_ExclusionMethod – поле содержит метод, которым передаётся параметр. Возможные значения:

  • GET

  • POST

  • WAProfile_ExclusionParam - имя передаваемого параметра;

  • WAProfile_ExclusionType - уточнение способа, которым должен обрабатываться данный параметр. Возможные значения:

  • use_value – параметр сохраняет значение, при сравнении наборов HTTP-параметров происходит сравнение значений данных параметров;

  • use_type – вместо значения параметра определяется и используется его тип, при сравнении наборов HTTP-параметров происходит сравнение типов данных параметров;

  • use_custom_regexp – значение параметра проверяется специальным регулярным выражением в формате PCRE [24], которое указывается в отдельном поле.

  • WAProfile_ExclusionRegexp – поле содержит регулярное выражение в формате PCRE [24]. Поле является необязательным. Регулярное выражение, заданное в поле, используется для проверки значения параметра, если в качестве значения поля WAProfile_ExclusionType задано use_custom_regexp.


Примеры записей:
WAProfile_ExclusionBegin

WAProfile_ExclusionURL : http://localhost/mrvs/

WAProfile_ExclusionMethod : POST

WAProfile_ExclusionParam : q

WAProfile_ExclusionType : use_value

WAProfile_ExclusionEnd
WAProfile_ExclusionBegin

WAProfile_ExclusionURL : http://localhost/mrvs/

WAProfile_ExclusionMethod : GET

WAProfile_ExclusionParam : q

WAProfile_ExclusionType : use_custom_regexp

WAProfile_ExclusionRegexp : /^node\/[0-9]+\/edit(\/)?$/i

WAProfile_ExclusionEnd

6.4.3 Подсистема построения профиля нормального поведения


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

Подсистема активизируется при запуске модуля в режиме построения профиля нормального поведения.

Подсистема получает на вход очередную запись трассы во внутреннем представлении, проанализированную и преобразованную предобработчиком трассы.

На основании поступающих записей трассы строится дерево запросов, в котором семантически вершины глубины 1 соответствуют веб-приложениям, вершины глубины 2 – наборам HTTP-параметров, а вершины глубины 3 – наборам операций. Как было отмечено выше, веб-приложения различаются по URL-адресу.

На рисунке 6.4.1 показано добавление данных записи трассы в дерево запросов.

Рисунок 6.4.1. Добавление данных записи трассы в дерево запросов

Дерево строится по следующему алгоритму:

  1. Если на входе есть очередная запись трассы – переход на шаг 2, иначе останов.

  2. Из записи извлекается URL-адрес, которому адресован запрос.

  3. Проверяется, есть ли уже в дереве вершина глубины 1 с таким же URL-адресом. Если такой вершины нет (рисунок 6.4.2), то:

    1. заводится вершина глубины 1 с данным URL;

    2. созданной вершине глубины 1 добавляется дочерняя вершина глубины 2 с набором HTTP-параметров, извлечённым из записи трассы;

    3. созданной вершине глубины 2 с набором HTTP-параметров добавляется дочерняя вершина с набором операций, извлечённым из записи трассы;

    4. переход на шаг 1.

Иначе:

    1. проверяется, есть ли среди дочерних вершин глубины 2 данной вершины глубины 1 вершина с набором HTTP-параметров, совпадающим с набором HTTP-параметров, извлечённым из записи трассы. Если такая вершина глубины 2 есть (рисунок 6.4.4), то:

      1. найденной вершине глубины 2 добавляется дочерняя вершина глубины 3 с набором операций, извлечённым из записи трассы;

      2. переход на шаг 1 алгоритма.

Иначе (рисунок 6.4.3):

      1. создаётся вершина глубины 2 с набором HTTP-параметров, извлечённым из записи трассы;

      2. созданной вершине глубины 2 добавляется дочерняя вершина глубины 3 с набором операций, извлечённым из записи трассы;

      3. переход на шаг 1 алгоритма.


Построение дерева завершается в тот момент, когда обработана последняя запись трассы.

Рисунок 6.4.2 иллюстрирует ситуацию добавления данных записи трассы в дерево запросов в случае, когда нет соответствующей вершины глубины 1. Рисунок 6.4.3 иллюстрирует ситуацию добавления данных записи трассы в дерево запросов в случае, когда есть соответствующая вершина глубины 1, но нет соответствующей вершины глубины 2. Рисунок 6.4.4 иллюстрирует ситуацию добавления данных записи трассы в дерево запросов в случае, когда есть соответствующая вершина глубины 1 и есть соответствующая вершина глубины 2.




Рисунок 6.4.2. Добавление данных записи трассы в дерево запросов в случае, когда нет вершины глубины 1 с аналогичным URL



Рисунок 6.4.3. Добавление данных записи трассы в дерево запросов в случае, когда есть вершины глубины 1 с аналогичным URL, но нет вершины глубины 2 с совпадающим набором HTTP-параметров


Рисунок 6.4.4. Добавление данных записи трассы в дерево запросов в случае, когда есть вершина глубины 1 с аналогичным URL и есть вершина глубины 2 с совпадающим набором HTTP-параметров
Далее запускается алгоритм построения профилей нормального поведения на основе сформированного дерева. Алгоритм устроен следующим образом:

  1. Выбирается очередная вершина глубины 1 (то есть, очередное веб-приложение). Если вершина есть – переход на шаг 2, иначе – останов.

  2. Выбирается очередная дочерняя вершина глубины 2 (первая, если произошёл переход с шага 1). Если вершина есть – переход на шаг 3, иначе – переход на шаг 1.

  3. Выбирается очередная дочерняя вершина глубины 3. Если вершины нет – переход на шаг 4, иначе:

3.1 выбирается очередная операция из набора операций, содержащегося в данной вершине. Если операции нет – переход на шаг 3. Значение каждой операции считается очередным значением для расчёта статистики по формуле (5.2.1). Для каждой операции каждого объекта окружения ведётся своя статистика.

  1. Обход текущей ветки («веб-приложение – набор параметров – множество операций») завершён. Для текущего веб-приложения (текущая вершина глубины 1) и текущего набора HTTP-параметров (вершина глубины 2) определено множество допустимых операций (объединение наборов операций из всех дочерних вершин глубины 3), для каждой из которых просчитана статистика по формуле (5.2.1) метода EWMA, и определены контрольные пределы. Полученные данные оформляются в виде записи профиля нормального приложения для текущего веб-приложения и сохраняются в базу профилей нормального поведения. Переход на шаг 2.

Таким образом, запись профиля нормального поведения оформляется для каждого набора HTTP-параметров. Иными словами, записей в профиле нормального поведения для данного веб-приложения будет столько же, сколько дочерних вершин глубины 2 у вершины глубины 1, соответствующей этому веб-приложению.


6.4.4 Подсистема обнаружения аномалий


Задачей подсистемы обнаружения аномалий является анализ трассы, полученной в режиме обнаружения аномалий, на предмет аномалий в поведении веб-приложений. Под аномалиями понимаются как аномалии с точки зрения метода обнаружения уязвимостей (Подраздел 4.4), так и дополнительные виды аномалий – о них будет рассказано ниже.

Подсистема активизируется при запуске модуля в режиме обнаружения уязвимостей. После запуска подсистема производит загрузку профилей нормального поведения веб-приложений из базы данных профилей. При этом во внутреннем представлении формируется дерево профилей нормального поведения (далее «дерево профилей»), практически аналогичное дереву запросов. Разница состоит в том, что каждая вершина глубины 2 (то есть, каждый набор HTTP-параметров) имеет только одну дочернюю вершину глубины 3 (то есть, только один набор операций) – и эта вершина содержит множество всех допустимых операций для данного набора HTTP-параметров. Для каждой операции в дереве профилей сохраняются дополнительные параметры, используемые методом EWMA. После загрузки профилей нормального поведения подсистема переходит в режим обнаружения аномалий.

Подсистема получает на вход очередную запись трассы во внутреннем представлении, проанализированную и преобразованную предобработчиком трассы.

Обнаружение аномалий осуществляется по следующему алгоритму:

  1. Получение очередной записи трассы.

  2. В дереве профилей ищется вершина глубины 1 с совпадающим URL. Если такая вершина есть – переход на шаг 3, иначе на консоль управления подаются:

  • предупреждение об обнаруженной аномалии;

  • сообщение: «Для веб-приложения, которому адресован данный запрос, отсутствуют профили нормального поведения; возможно обращение по несуществующему адресу»;

  • данные, содержащиеся в записи трассы.



  1. Проверяется, есть ли среди дочерних вершин глубины 2 данной вершины глубины 1 вершина с набором HTTP-параметров, совпадающим с набором HTTP-параметров, извлечённым из записи трассы. Если такая вершина есть – переход на шаг 4, иначе на консоль управления подаются:

    • предупреждение об обнаруженной аномалии;

    • сообщение «Для набора HTTP-параметров, извлечённого из данной записи трассы, отсутствует профиль нормального поведения»;

    • данные, содержащиеся в записи трассы.

Но так как основной задачей является обнаружение уязвимостей, необходимо произвести пересчёт значений операций, так как, возможно, набор HTTP-параметров из поступившей записи трассы не соответствует описанным как раз из-за наличия значений параметров, не соответствующих ожидаемому типу или значению, и занесённым в HTTP-запрос с целью воздействия на уязвимость. Пересчёт статистик операций необходимо произвести для всех вершин глубины 3, дочерних к вершинам глубины 2 с совпадающим набором HTTP-параметров безотносительно типов или значений. Для каждой операции обновлённое значение статистики проверяется на предмет выхода за контрольные пределы. При выходе значения статистики за контрольные пределы на консоль управления подаются:

    • предупреждение об аномалии;

    • сообщение «Обнаружен выход статистики значений операции за контрольные пределы для недопустимого набора HTTP-параметров» с уточнением операции, объекта окружения и значения операции;

    • данные, содержащиеся в записи трассы.



  1. Для каждой операции из набора операций над объектами окружения, извлечённого из записи трассы, проверяется её наличие в наборе допустимых операций в дочерней вершине глубины 3. Для каждой операции, не входящей во множество допустимых операций, на консоль управления подаются:

    • предупреждение об аномалии;

    • сообщение «Для набора HTTP-параметров, извлечённого из данной записи трассы, обнаружена недопустимая операция» с уточнением операции и объекта окружения;

    • данные, содержащиеся в записи трассы.

Для каждой операции, входящей в набор допустимых операций, обновляется значение статистики по формуле (5.2.1), параметры для которой берутся из дерева профилей (то есть, из соответствующей записи профиля нормального поведения). Обновлённое значение статистики проверяется на предмет выхода за контрольные пределы. При выходе значения статистики за контрольные пределы на консоль управления подаются:

    • предупреждение об аномалии;

    • сообщение «Обнаружен выход статистики значений операции за контрольные пределы» с уточнением операции, объекта окружения и значения операции;

    • данные, содержащиеся в записи трассы.
1   ...   5   6   7   8   9   10   11   12   13

Похожие:

Московский государственный университет им. М. В. Ломоносова факультет вычислительной математики и кибернетики iconМинистерство образования и науки российской федерации томский государственный...
Государственное общеобразовательное учреждение-средняя общеобразовательная школа
Московский государственный университет им. М. В. Ломоносова факультет вычислительной математики и кибернетики iconМосковский государственный университет имени м. В. Ломоносова юридический факультет
...
Московский государственный университет им. М. В. Ломоносова факультет вычислительной математики и кибернетики iconМосковский государственный университет имени м. В. Ломоносова факультет...
Федеральное государственное образовательное бюджетное учреждение высшего профессионального образования
Московский государственный университет им. М. В. Ломоносова факультет вычислительной математики и кибернетики iconМосковский Государственный Университет им. М. В. Ломоносова Географический...
Объекты наследия как демонстрационная площадка использования возобновляемых источников энергии на Северо-западе Европейской части...
Московский государственный университет им. М. В. Ломоносова факультет вычислительной математики и кибернетики iconМужчина и женщина в обществе: история, культура, современность
Кандидат политических наук, старший научный сотрудник, лаборатория развития гендерного образования, факультет педагогического образования,...
Московский государственный университет им. М. В. Ломоносова факультет вычислительной математики и кибернетики iconМинистерство образования и науки российской федерации томский государственный...
Целью дисциплины является ознакомление студентов с базовыми понятиями следующих разделов информатики: теория информации, технические...
Московский государственный университет им. М. В. Ломоносова факультет вычислительной математики и кибернетики iconМосковский государственный университет имени М. В. Ломоносова
Краева К. В. К вопросу о специфике экзаменационного стресса у студентов // Вестник Университета. Государственный университет управления...
Московский государственный университет им. М. В. Ломоносова факультет вычислительной математики и кибернетики iconСборник задач и тестов по психологии и педагогике./ Под общей редакцией...
Московский государственный университет тонких химических технологий им. М. В. Ломоносова
Московский государственный университет им. М. В. Ломоносова факультет вычислительной математики и кибернетики iconМосковский государственный институт электроники и математики (технический университет)
Сервер — один из основных компонентов модели клиент-сервер, программный компонент вычислительной системы, выполняющий сервисные функции...
Московский государственный университет им. М. В. Ломоносова факультет вычислительной математики и кибернетики iconВ. ломоносова юридический факультет материалы международной конференции...
Краева К. В. К вопросу о специфике экзаменационного стресса у студентов // Вестник Университета. Государственный университет управления...
Московский государственный университет им. М. В. Ломоносова факультет вычислительной математики и кибернетики iconИзменения в гиа 2012
Московский государственный университет тонких химических технологий им. М. В. Ломоносова
Московский государственный университет им. М. В. Ломоносова факультет вычислительной математики и кибернетики iconМосковский Государственный Университет им. М. В. Ломоносова Механико-математический...
Именно сейчас от того, насколько современным и интеллектуальным нам удастся сделать общее образование, зависит благосостояние наших...
Московский государственный университет им. М. В. Ломоносова факультет вычислительной математики и кибернетики iconПрограмма по формированию навыков безопасного поведения на дорогах...
Имический факультет мгу имени М. В. Ломоносова,Московский областной государственный университет, редакция журнала"Вестник образования...
Московский государственный университет им. М. В. Ломоносова факультет вычислительной математики и кибернетики iconДоговор
Федеральное государственное бюджетное образовательное учреждение высшего образования «Московский государственный университет имени...
Московский государственный университет им. М. В. Ломоносова факультет вычислительной математики и кибернетики iconКнига стихов как проблема жанрологии на современном этапе Белова...
Настоящее Положение определяет цели, задачи, порядок проведения, критерии оценки, механизм подведения итогов областного общественного...
Московский государственный университет им. М. В. Ломоносова факультет вычислительной математики и кибернетики iconСанкт-Петербургский Государственный Электротехнический Университет...
«Эксплуатация водного транспорта и транспортного оборудования»/ 140600 «Электротехника, электромеханика и электротехнологии»


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск