Постановка задачи, Определения и основные понятия - Автоматическое построение профилей нормального поведения веб-приложений

    1. Провести обзор методов автоматического построения профиля нормального поведения веб-приложения. 2. Сформулировать требования к методу, провести сравнительный анализ и выбрать один метод. 3. Реализовать выбранный метод в рамках разрабатываемого модуля. 4. Провести испытания на действующих веб-приложениях.
Определения и основные понятия

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

Ключевыми понятиями являются веб-приложение и поведение веб-приложения.

Под веб-приложением понимается приложение, с которым пользователь взаимодействует при помощи браузера. Само приложение при этом работает в составе веб-сервера и осуществляет взаимодействие с пользователем путем получения HTTP-запросов от браузера пользователя (ввод) и генерации веб-страниц (вывод) [17].

Объект окружения - это любая внешняя по отношению к веб-приложению сущность, предоставляющая набор операций, которые могут быть осуществлены веб-приложением над данным объектом окружения. В качестве примеров объектов окружения могут быть приведены ресурсы операционной системы, почтовый сервис, СУБД.

Операция - любое действие, которое может быть осуществлено над объектом окружения веб-приложением. Например, для объекта окружения "СУБД" операциями являются операторы языка SQL, для объекта окружения "почтовый сервис" - функции отправки сообщений.

Значение операции - это отображение результатов операции во множество вещественных чисел. Семантика отображения определяется для каждой конкретной операции. Например, для операций "SELECT" или "INSERT" объекта окружения "СУБД" значением данных операций может являться количество затронутых строк в базе данных; для операций "чтение из файла" или "запись в файл" объекта окружения "ресурсы операционной системы" значением операции может являться количество прочитанных или записанных байт соответственно. Очевидно, не для каждой операции значение операции может быть иметь смысл. Например, для операции "выбор базы данных" объекта окружения "СУБД". В этом случае в качестве значения операции может быть выбрана некоторая константа.

Логическая схема веб-сервера представлена на рисунке 3.1.

логическая схема веб-сервера

Рисунок 3.1 Логическая схема веб-сервера

В схеме, изображенной на рисунке 3.1:

    - Веб-сервер - приложение, выполняющее функции веб-сервера, например, Apache HTTP Server или Microsoft Internet Information Services (IIS). - Технология поддержки веб-приложения - набор программных компонент, формирующих среду для выполнения веб-приложений, созданных при помощи данной технологии. В качестве примера можно привести такие распространенные технологии, как PHP и ASP. NET. - Веб-приложение - приложение, созданное при помощи некоторой технологии создания веб-приложений, несущее в себе логику, заложенную разработчиком. Например, для технологии поддержки веб-приложений PHP веб-приложение может представлять собой набор файлов, содержащих сценарии на языке PHP.

В общем случае, взаимодействие пользователя с веб-приложением происходит по следующей схеме [17, 22]:

    1. В браузере пользователя происходит некоторое событие, порождающее HTTP-запрос к веб-приложению - таковым может являться переход по ссылке, нажатие на кнопку отправки данных формы на сервер, срабатывание скрипта на стороне клиента и т. п. 2. Порожденный HTTP-запрос принимается и обрабатывается веб-сервером. Определяется, какому веб-приложению адресован запрос и какие компоненты отвечают за выполнение веб-приложения. Происходит запуск необходимых компонент и передача данных HTTP-запроса. 3. В сформированной запущенными компонентами рабочей среде производится запуск веб-приложения. 4. В ходе обработки данных, полученных из HTTP-запроса, веб-приложение совершает определенные действия в рамках логики, заложенной разработчиком. Часть этих действий, возможно, представляет собой запросы на выполнение операций к объектам окружения. 5. Веб-приложение генерирует вывод, который передается компонентами технологии поддержки веб-приложения веб-серверу. Веб-сервер отправляет вывод клиенту в виде HTTP-ответа.

Основываясь на данной схеме и терминах, введенных выше, можно определить поведение веб-приложения как взаимодействие веб-приложения с объектами окружения в ответ на HTTP-запросы от браузера пользователя.

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

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




Постановка задачи, Определения и основные понятия - Автоматическое построение профилей нормального поведения веб-приложений

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