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