Рассматриваются существующие способы идентификации защитных экранов веб-приложений и их программная реализация в рамках модели нарушителя Man in the Browser .Ключевые слова: безопасность приложений, защитные экраны веб-приложений, идентификация.Защитные экраны уровня приложения (Web Application Firewalls, WAF) приме-няются для обнаружения и предотвращения атак на веб-приложения. Применение за-щитных экранов не гарантирует безопасность веб-приложения, так как они сами могут содержать уязвимости реализации и конфигурирования. Одной из актуальных задач анализа защищённости веб-приложений является разработка программных средств идентификации защитных экранов на клиентской стороне веб-приложений в рамках модели Man in the Browser (MitB) [1]. В данной работе исследованы возможности идентификации экранов приложений в рамках модели MitB и реализован программ-ный модуль для фрэймворка BeEF [2], реализующий данную функциональность.Идентификация защитных экранов, как правило, реализуется на основе сигнатур-ного анализа следующих веб-сущностей: идентификаторы сессий, HTTP-заголовки, cookie, коды ответов и т. д. Известными средствами идентификации защитных экранов являются WAFW00F [3] и sqlmap [4]. Приведём пример модуля, идентифицирующего экран Wallarm в sqlmap на основе сигнатуры HTTP-заголовка Server :1 retval = False 2 for vector in WAF_ATTACK_VECTORS : 3 _ , headers , _ = get_page ( get = vector ) 4 retval = re . search ( r " nginx -wallarm " , 5 headers . get ( HTTP_HEADER . SERVER , "") , 6re . I ) is not None 7 if retval : 8 break Вместе с тем данные средства ограничены в применении и не могут быть исполь-зованы в модели MitB, являющейся основной с точки зрения анализа клиентской ча-сти веб-приложения. Для обеспечения возможности идентификации защитных экра-нов в модели MitB реализован программный модуль для фрэймворка BeEF (Browser Explotation Framework) с использованием известных баз сигнатур.Разработанный модуль функционирует следующим образом: он отправляет стан-дартный HTTP-запрос, затем анализирует ответ, полученный от веб-приложения. Ес-ли это не дало никаких результатов в части идентификации экрана, то отправля-ется серия HTTP-запросов с различными векторами атак, что приводит к реакции защитного экрана при его наличии. Экран может добавить специальный заголовок с сигнатурой или выставить идентификатор сессии. Если защитный экран не удалось идентифицировать с помощью HTTP-запросов, то анализируются коды ответов веб-приложения.Для проведения сигнатурного анализа необходима коллекция сигнатур защитных экранов. Для её составления использовались базы сигнатур средств WAFW00F [3] и
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.