Обнаружение уязвимостей Web-приложений на основе контроля

advertisement
Автоматическое построение профилей
нормального поведения веб-приложений
Гамбаров Эльдар, группа 522
Научные руководители: Петухов А. А.,
д. ф.-м. н. профессор Смелянский Р. Л.
Контекст

Обнаружение уязвимостей веб-приложений на основе
контроля поведения
Постановка задачи




Провести обзор методов автоматического построения
профилей нормального поведения
Сформулировать требования к методу, провести
сравнительный анализ и выбрать один метод
Реализовать выбранный метод в рамках разрабатываемого
модуля обнаружения уязвимостей
Провести испытания на действующих веб-приложениях
Актуальность задачи


Увеличение доли уязвимостей вебприложений в общем количестве
фиксируемых уязвимостей
Обеспечение безопасности веб-приложений
осложняется большим количеством
специфических веб-приложений
Основные понятия
Объекты окружения (СУБД, ресурсы ОС и т. п.)
Объект окружения 1
Поведение веб-приложения –
взаимодействие веб-приложения
Набор операций 1
с объектами окружения в ответ на
HTTP-запросы от браузера пользователя.
Объект окружения N
Набор операций N
Поведение
Операция O1
Операция O2
HTTP-запрос
Браузер
пользователя
Веб-приложение
Метод обнаружения уязвимостей
Объекты окружения (СУБД, ресурсы ОС и т. п.)
Объект окружения 1
Допустимость операции
Профиль
нормального
поведения
Набор операций 1
Операция O1
EWMA
HTTP-запрос
Браузер
пользователя
Веб-приложение
Метод обнаружения уязвимостей



Гипотеза: уязвимости приводят к аномалиям в
поведении.
Два класса аномалий:
 аномалии, связанные с обнаружением недопустимых
операций
 аномалии, связанные со значениями операций
Пример: уязвимость, позволяющая провести атаку класса
SQL injection, может привести к выполнению недопустимой
операции (UPDATE вместо SELECT) и изменению значения
операции (большее количество результатов по запросу
SELECT).
Анализ значений операций

Проведён обзор и сравнительный анализ
следующих математических методов
обнаружения аномалий:




метод Хотеллинга
метод EWMA (Exponentially Weighted
Moving Average)
метод цепей Маркова
нейросетевой метод
Модуль обнаружения уязвимостей


Подсистемы модуля:
 Консоль управления
 Подсистема предварительной обработки трассы
 Подсистема построения профилей нормального
поведения
 Подсистема обнаружения аномалий
Испытания:
 CMS Drupal 4.5 / Apache 1.3.33 / MySQL 4.1.18
 6 уязвимостей
 обнаружено 6 из 6
 ошибки второго рода: 2 аномалии на 82 записи трассы
Результаты




Проведён обзор методов автоматического построения
профилей нормального поведения,
Сформулированы требования к методу, проведён
сравнительный анализ и выбран один метод для реализации
в рамках разрабатываемого модуля обнаружения
уязвимостей
Реализован модуль обнаружения уязвимостей с функцией
построения профилей нормального поведения
Проведены испытания на веб-приложении CMS Drupal:


Полнота обнаружения – 100%
Ошибки второго рода – 2.5%

Спасибо за внимание!
Download