Автоматическое построение профилей нормального поведения веб-приложений Гамбаров Эльдар, группа 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% Спасибо за внимание!