Бесплатно Экспресс-аудит сайта:

14.05.2022

Трансформация SQL-запросов позволяет обходить WAF

С помощью базового машинного обучения специалисты Чжэцзянского университета (КНР) выявили шаблоны, которые привычные межсетевые экраны уровня web-приложений (WAF) не определяют как вредоносные, но которые при этом доставляют на системы вредоносное ПО. Результаты своего исследования специалисты представили в четверг, 12 мая, на конференции Black Hat Asia в Сингапуре.

Исследователи начали с распространенных способов трансформации инъекционных атак на базы данных web-приложений с помощью Structured Query Language (SQL). Вместо брутфорса команда воспользовалась созданным ею инструментом AutoSpear. Этот инструмент использует пул потенциальных обходов, которые можно комбинировать с помощью так называемой стратегии взвешенных мутаций.

С разным уровнем успеха AutoSpear удалось обойти все семь WAF, использовавшихся для проверки его эффективности. Наименее эффективным инструмент оказался в отношении ModSecurity (3%), а наиболее эффективным – в отношении WAF от Amazon Web Services и Cloudflare (63%).

В своей презентации команда Чжэцзянского университета сосредоточилась на способах трансформации запросов с помощью 10 различных техник для четырех распространенных методов запросов: запросов POST и GET как с использованием кодирования JSON, так и без. Исследователи обнаружили, что четыре разных WAF обрабатывают эти запросы одинаково, остальные же обрабатывают их по-разному.

Систематически трансформируя (мутируя) запросы с помощью различных комбинаций десяти техник (например, внутристрочные комментарии, замена пробелов и замена распространенных тавтологий, таких как «1=1» на другие, наподобие «2<3»), специалисты выявили трансформации, эффективные в отношении всех семи тестируемых WAF.

Для начала команда создала web-приложения с определенными уязвимостями, а затем применила свою технику трансформирования к известным эксплоитам с целью превратить их в уникальные запросы, способные обойти WAF.

Обход межсетевых экранов уровня web-приложений обычно базируется на трех подходах. На уровне архитектуры атакующие могут найти способы обойти WAF и получить непосредственный доступ к серверу. На уровне протокола для обхода WAF они могут применять различные техники, использующие ошибки и несоответствия в предположениях кодировки, такие как HTTP request smuggling. И наконец, на уровне полезной нагрузки атакующие могут использовать различные трансформации кодировки, чтобы WAF не могли детектировать атаку, при этом генерируя действительные с точки зрения сервера БД запросы.

Исследователи сообщили об обнаруженных проблемах всем семи производителям WAF: AWS, Cloudflare, CSC, F5, Fortinet, ModSecurity и Wallarm. Cloudflare, F5 и Wallarm уже исправили уязвимости, а остальные все еще работают над исправлениями, поскольку проблемы оказалось не так-то легко решить.