Анализ особенностей использования фаззинга как инструмента тестирования межсетевых экранов безопасности веб-приложений
Автор: Полухин Павел Валерьевич
Рубрика: 1. Информатика и кибернетика
Опубликовано в
Дата публикации: 25.03.2014
Статья просмотрена: 143 раза
Библиографическое описание:
Полухин, П. В. Анализ особенностей использования фаззинга как инструмента тестирования межсетевых экранов безопасности веб-приложений / П. В. Полухин. — Текст : непосредственный // Технические науки: проблемы и перспективы : материалы II Междунар. науч. конф. (г. Санкт-Петербург, апрель 2014 г.). — Т. 0. — Санкт-Петербург : Заневская площадь, 2014. — С. 12-15. — URL: https://moluch.ru/conf/tech/archive/89/5382/ (дата обращения: 09.06.2023).
В научном исследовании представлены результаты анализа особенностей фаззинга тестирования межсетевых экранов безопасности веб-приложений. Актуальность направления изучения объясняется невозможностью межсетевых экранов в полной мере противостоять динамическому росту уязвимостей, что ведет к необходимости расширения функциональных возможностей и инструментария тестирования. Особое внимание в статье уделено рассмотрению механизма смешивания HTTP параметров, представлена характеристика его элементов, проведен сравнительный анализ специфики обработки HTTP параметров веб-технологий и веб-серверов.
Таким образом, применение механизма смешивания HTTP параметров позволяет значительно расширить имеющиеся возможности по тестированию, как межсетевых экранов безопасности, так и веб-приложений. Это позволит блокировать потенциальные вектора воздействия злоумышленников на компоненты веб-приложений.
Ключевые слова: межсетевой экран безопасности веб-приложений, фильтрация, угрозы безопасности веб-приложений, веб-технологии, http параметры, веб-сервер, информационные технологии.
Веб-приложения позволяют компаниям, обеспечивать более тесное взаимодействие со своими реальными, потенциальными клиентами и улучшать внутрикорпоративную деятельность своих сотрудников. Нельзя не отметить, что за несколько последних лет резко увеличилось количество интернет-угроз для организаций различных объемов деятельности и отраслей. В связи с этим целью исследования явилось изучение природы и особенностей возникновения уязвимостей веб-приложений, некорректной фильтрации и обработки http запросов межсетевым экранов безопасности веб-приложений для повышения качества тестирования компонентов веб-инфраструктуры.
Архитектура построения и функционирования веб-приложений представляет собой довольно сложный процесс, который может включать в себя отдельные компоненты, способные объединяться в различные цепочки для реализации и наращивания функционала приложений. В качестве компонентов могут выступать системы управления базами данных (СУДБ), XML хранилища [1], системы упрощённого доступа к каталогам (LDAP) и файловая система сервера, в среде которого функционирует приложения. Исходя из данных компонентов, возникают уязвимости на серверах и на стороне клиента. К уязвимостям на стороне сервера принято относить группу уязвимостей типа инъекции. В данной группе принято выделять следующие компоненты: SQL инъекции, XPATH, LDAP инъекции. SQL инъекции направлены на реализацию деструктивного воздействия на СУДБ. XPATH преследуют своей задачей получение несанкционированного доступа к данным в XML формате. LDAP инъекции направлены на осуществление несанкционированного доступа к файловой системе сервера приложений инъекции команд операционной системы для получения доступа к внутренним командам и функциональным возможностям операционной системы сервера приложений. К уязвимостям на стороне клиента принято относить XSS уязвимости (межсайтовый скриптинг). Это одна из многочисленных уязвимостей, используя которую, злоумышленник может внедрить в генерируемую динамически страницу произвольный код [3, 4, 5].
Для защиты от вышеизложенных групп атак ведущими компаниями по разработке программных продуктов в сфере информационной безопасности, таких как IBM, Microsoft, Akamai, TrustWave, CloudFlare и др. были разработаны межсетевые экраны безопасности веб-приложений (именуемые WAF). WAF позволяют отслеживать параметры HTTP запросов и осуществлять их фильтрацию для своевременного блокирования механизмов эксплуатации уязвимостей со стороны злоумышленника. Однако, в ходе тестирования специалистами-экспертами в области защиты информации, был предложен совершенно новый методологический подход, позволяющий обходить ограничения WAF за счет использования специфических особенностей функционирования веб-приложений и веб-серверов путем смешивания HTTP параметров (HTTP Parameter Pollution).
Согласно международному стандарту RFC3986 [2], разработанного W3C консорциумом, параметрами HTTP-запроса являются пары, состоящие из ключа и значения, разделенные символом «=». Границы параметров в свою очередь определяются с помощью символов «&» и «;». Однако стандарт не запрещает многократное использование одинаковых имен в HTTP-запросах, что и послужило основным вектором воздействия для реализации HTTP Parameter Pollution. Для обхода фильтров безопасности и waf HPP может использовать различные механизмы кодирования – URL Encoding, UTF-8, HTML Entity, HTML Entity Number, Double URL Encoding. Цель данных механизмов скрыть параметры от WAF и дать их на обработку исключительно веб-серверу, без изучения их внутреннего информативного содержания.
Для более детального и всестороннего понимания внутренних механизмов HTTP Parameter Pollution (HPP) нами предлагается в таблице 1 сравнительный анализ механизмов обработки HTTP параметров для каждой веб-технологии и веб-сервера.
Таблица 1
Сравнительный анализ специфики обработки HTTP параметров для веб-технологий и веб-серверов
Название технологии/ HTTP сервер |
Характеристика достигнутого результата |
Иллюстрирующий пример |
ASP.NET/IIS |
Объединяться все значение параметров через символ «,» |
par1 = val1,val2 |
ASP/IIS |
Объединяться все значение параметров через символ «,» |
par1 = val1,val2 |
PHP/Apache |
Значение последнего вхождения параметра |
par1 = val2 |
PHP/Zeus |
Значение последнего вхождения параметра |
par1 = val2 |
JSP, Servlet/Apache Tomcat |
Значение первого вхождения параметра |
par1 = val1 |
JSP, Servlet/Oracle Application Server 11g |
Значение первого вхождения параметра |
par1 = val1 |
JSP, Servlet/Jetty |
Значение первого вхождения параметра |
par1 = val1 |
IBM Lotus Domino |
Значение последнего вхождения параметра |
par1 = val2 |
IBM HTTP Server |
Значение первого вхождения параметра |
par1 = val1 |
Perl CGI/Apache |
Значение первого вхождения параметра |
par1 = val1 |
mod_perl,libapreq2/Apache |
Значение первого вхождения параметра |
par1 = val1 |
Python/Zop |
Массив параметров |
[‘val1’, ‘val2’] |
IceWarp |
Значение первого вхождения параметра |
par1 = val1 |
Анализируя данные таблицы 1, видно, что определенная технология во взаимодействии с веб-сервером обрабатывают параметры запросов по разному, однако дают возможность изменения как логики функционирования приложения, так и внедрения инъекции. Например, межсетевые экраны безопасности веб-приложений WAF заблокируют атаку типа http://www.site.com/index.aspx?id=select 1,2,3 from table where id=1, однако используя HPP механизмы мы можем провести атаку типа http://www.site.com/index.aspx?id=select 1&id=2&id=3 from table where id=1 для спецификации ASP.NET/IIS и ASP/IIS и таблицы 1. В результате вышеприведенного запроса параметры оператора SELECT будут объединены символом «,», что и требуется для эффективной эксплуатации уязвимости в данном случае sql.
Механизмы смешивания HTTP параметров (HPP), как было отмечено нами ранее, могут использоваться на стороне пользователя путем эксплуатации XSS уязвимости. В связи с этим, HPP на стороне клиента можно разделить на три основные категории: DOM Based HPP, использующая HTML DOM для конструирования HPP, Reflective HPP – позволяет использовать другие механизмы доставки вредоносного кода пользователю, например через сообщение электронной почты или другой сайт и Stored HPP – использует в качестве хранилища вредоносного кода различные виды хранилищ целевого сервера: в базе данных, сообщениях различных форумов, журналах, комментариях и т.д. При запросе пользователем веб-страницы вредоносный код извлекается и вставляется в HTML разметку документа и в последствии выполняется в браузере пользователя.
В результате детального исследования HPP, учеными в сфере безопасности информации был предложен метод, позволяющий расширить возможности HPP. Он получил название HTTP Parameter Contamination (запутывание HTTP параметров). Специфика метода, лежащего в основе запутывания HTTP параметров, базируется на особенностях обработки отдельных символов параметров HTTP запроса. Для всестороннего анализа вышеизложенного метода необходимо представить сравнительную характеристику обработки символов для различных веб-технологий и веб-серверов, что предложено нами в таблице 2.
Таблица 2
Специфика обработки отдельных символов HTTP параметров для веб-технологий и веб-серверов
Запрос |
PHP/Apache |
JSP,Servler/ Tomcat |
ASP.NET, ASP/IIS |
Описание |
А |
1 |
2 |
3 |
4 |
?test[1=2 |
test_1=2 |
test[1=2 |
test[1=2 |
квадратная скобка заменена на подчеркивание |
?test.1=2 |
test_1=2 |
test.1=2 |
test.1=2 |
точка заменена на подчеркивание |
?test[1&d=2 |
d=2 |
test[1/d=2 |
test[1&d=2 |
первый параметр игнорируется, разделитель параметров заменен на обратный слеш |
?test1[]xx=2 |
1=Array(2) |
1[]xx=2 |
[]xx=2 |
символы между знаком массива и знаком равно игнорируются |
?test+d=1+2 |
test_d=1 2 |
test d=1 2 |
test d=1 2 |
плюс заменяется на подчеркивание, пробел |
А |
1 |
2 |
3 |
4 |
?test d=1+2 |
test_d=1 2 |
test d=1 2 |
test d=1 2 |
пробел заменяется на подчеркивание |
?test=% |
test=% |
NULL |
test= |
jsp и asp игнорируют параметр |
?test%x=1 |
test%x=1 |
NULL |
testx=1 |
jsp игнорирует параметр, asp игнорирует знак процента |
Таким образом, изучение данных таблицы 2 позволяют выявлять особенности генерирования непреднамеренных параметров, использование которых в результате проведения вредоносного воздействия может привести к проблемам безопасности веб-приложения, способствовать беспрепятственному обходу межсетевых экранов безопасности.
Проектирование и поддержание приложения в защищенном состоянии являются неотъемлемыми этапами жизненного цикла приложения, при этом важно анализировать и учитывать особенности обработки параметров для каждой веб-технологии и веб-серверов с целью грамотного написания компонентов фильтрации, направленных на предупреждения деструктивного воздействия. Необходимо понимать, что межсетевые экраны безопасности не могут гарантировать полную безопасность веб-приложений и ни в коем случае не говорит о том, что не нужно разрабатывать механизмы обеспечения безопасности в самом приложении. Проведение атаки HTTP Parameter Pollution еще раз доказывает факт, что WAF лишь должна быть надстройкой над сложной и комплексной системой безопасности разрабатываемого приложения, а не ее заменой, в противном случае эффективности данного типа атаки увеличиваются.
Литература:
1. Clarke J. Sql Injection Attack and defense / J. Clarke, Syngress, 2009. – 380 p.
2. Harper A. Gray Hat Hacking. The Ethnical Hacker’s Handbook / A. Harper, H. Harris, J. Ness, C. Eagle, J. Lenkey, T. Williams. – US: Mc Graw Hill, 2011. – 693 p.
3. Scambray J, Schema M. Hacking Exposed Web Applications / J. Scambray, M Schema / McGraw-Hill, 2002. –558 p.
4. Stuttard D, Pinto M. The Web Applications Hackers Handbook/ D. Stuttard, M. Pinto / WILEY. – 2008 – 400 p.
5. Zalewski M. The Tangled Web. A Guide to Securing Modern Web Applications / M. Zalewski. No starch Press, 2012. – 477 p.
Ключевые слова
информационные технологии, фильтрация, межсетевой экран безопасности веб-приложений, веб-технологии, веб-сервер, угрозы безопасности веб-приложений, http параметрыПохожие статьи
Разработка Web-приложения с применением технологии ASP.NET
Ключевые слова:Web-приложение, Web-технология, Framework, HTML, ASP.NET.
В Казахстане чаще всего используются следующие технологии: Flash, Microsoft ASP.NET, Java Server Pages, Personal Home Page.
Интеграция информационных систем на основе стандартов XML...
Эта площадка предоставляет веб-сервис, работающий по принципу SOAP [9]. Взаимодействие с веб-сервисом осуществляется по протоколу HTTP путем вызова определенных функций с параметрами (рис. 2).
Разработка сервис-ориентированной архитектуры в ИСЭРТ РАН
Взаимодействие осуществляется посредством HTTP протокола (Hyper Text Transfer Protocol).
Сервер должен поддерживать IIS (Internet Information Services), в нашем случае это реализуется установкой Windows Server.
Одночастотные сети в цифровом стандарте DVB-T2
Соответствующие абсолютные значения приведены в таблице 46 [1, с.84] для различных режимов 1k, 2k, 4k, 8k, 16k, 32k.
Параметры работы передатчиков могут быть указаны для каждого передатчика в отдельности.
Вычисление статистических показателей с использованием...
Рис. 1. Кривая нормального распределения (1) с различными значениями СКО (а) и среднего арифметического (б). Параметрами и определяется положение кривой относительно начал координат и ее форма.
Инвестиционная привлекательность города: понятие, определения...
Инвестиционный риск, в свою очередь, является параметром, характеризующим состояние первого и уровень второго
Данный недостаток устраняется при определенной адаптации метода и применения математических моделей для определения значений коэффициентов...
Обучение при помощи мобильных устройств – новая парадигма...
Мобильные телефоны и в частности смартфоны приобретают популярность в обществе, в свою очередь потребность в мобильности распространяется и на цели преподавания и обучения. В данной публикации представлена предлагаемая структура мобильного обучения.
Вики технологии в организации самостоятельной работы на...
По сути, сейчас знания ценятся меньше, чем обучаемость, поэтому на первый план выходят навыки и умения самообразования, что требует обновления подходов в организации обучения в вузе.
Особенности перевода деловых писем и контрактов
Далее, выяснив значение понятия, переводчик приступает к собственно переводу. Первый этап создания текста перевода предусматривает поиск и подбор переводческих соответствий для исходных терминов.
Похожие статьи
Разработка Web-приложения с применением технологии ASP.NET
Ключевые слова:Web-приложение, Web-технология, Framework, HTML, ASP.NET.
В Казахстане чаще всего используются следующие технологии: Flash, Microsoft ASP.NET, Java Server Pages, Personal Home Page.
Интеграция информационных систем на основе стандартов XML...
Эта площадка предоставляет веб-сервис, работающий по принципу SOAP [9]. Взаимодействие с веб-сервисом осуществляется по протоколу HTTP путем вызова определенных функций с параметрами (рис. 2).
Разработка сервис-ориентированной архитектуры в ИСЭРТ РАН
Взаимодействие осуществляется посредством HTTP протокола (Hyper Text Transfer Protocol).
Сервер должен поддерживать IIS (Internet Information Services), в нашем случае это реализуется установкой Windows Server.
Одночастотные сети в цифровом стандарте DVB-T2
Соответствующие абсолютные значения приведены в таблице 46 [1, с.84] для различных режимов 1k, 2k, 4k, 8k, 16k, 32k.
Параметры работы передатчиков могут быть указаны для каждого передатчика в отдельности.
Вычисление статистических показателей с использованием...
Рис. 1. Кривая нормального распределения (1) с различными значениями СКО (а) и среднего арифметического (б). Параметрами и определяется положение кривой относительно начал координат и ее форма.
Инвестиционная привлекательность города: понятие, определения...
Инвестиционный риск, в свою очередь, является параметром, характеризующим состояние первого и уровень второго
Данный недостаток устраняется при определенной адаптации метода и применения математических моделей для определения значений коэффициентов...
Обучение при помощи мобильных устройств – новая парадигма...
Мобильные телефоны и в частности смартфоны приобретают популярность в обществе, в свою очередь потребность в мобильности распространяется и на цели преподавания и обучения. В данной публикации представлена предлагаемая структура мобильного обучения.
Вики технологии в организации самостоятельной работы на...
По сути, сейчас знания ценятся меньше, чем обучаемость, поэтому на первый план выходят навыки и умения самообразования, что требует обновления подходов в организации обучения в вузе.
Особенности перевода деловых писем и контрактов
Далее, выяснив значение понятия, переводчик приступает к собственно переводу. Первый этап создания текста перевода предусматривает поиск и подбор переводческих соответствий для исходных терминов.