Веб-приложения на WordPress постоянно находятся под прицелом автоматизированных атак. WAF (Web Application Firewall) призван отсекать вредоносные запросы, но его эффективность ограничена: правила, основанные на сигнатурах, часто не учитывают контекст и могут пропускать тщательно закодированные полезные нагрузки. Возникают так называемые «слепые зоны» — участки логики фильтрации, где вредоносный запрос проходит незамеченным. В этой статье мы рассмотрим, как с помощью нейросетей можно реконструировать такие зоны, анализируя расхождения между логами блокировок и реальными легитимными запросами, и построить карту обхода фильтров для повышения защищенности.
Слепые зоны возникают из-за нескольких факторов:
В результате злоумышленник может подобрать такую полезную нагрузку, которая не будет заблокирована, но при этом выполнит вредоносное действие. Задача — выявить такие потенциальные обходы до того, как их используют атакующие.
Ключевая идея метода — сравнить, какие запросы WAF блокирует, а какие пропускает, и найти закономерности. Легитимный трафик содержит множество вариаций параметров, которые не являются атаками, но могут быть модифицированы для обхода фильтров.
Например, легитимный запрос к wp-login.php может содержать параметры log и pwd. WAF может блокировать явные SQL-инъекции в этих параметрах, но пропускать их же в base64-кодированном виде, если правило не декодирует. Анализируя, какие легитимные запросы проходят, можно предположить, какие модификации сохранят работоспособность, но обойдут фильтр.
Для сбора данных используйте:
Нейросеть обучается на размеченных данных: запросы, заблокированные WAF, и запросы, прошедшие успешно. Задача — построить модель, которая предсказывает вероятность блокировки для произвольного запроса. Затем, используя методы оптимизации (например, градиентный спуск в пространстве эмбеддингов), можно генерировать запросы, минимизирующие вероятность блокировки, но сохраняющие семантику атаки.
Архитектура может быть следующей:
Обучение проводится на исторических данных, при этом важно обеспечить баланс классов и учесть контекст (например, тип плагина).
После обучения модель позволяет для каждого легитимного запроса найти его «мутации», которые проходят WAF, но могут быть использованы для атаки. Совокупность таких мутаций формирует карту обхода — набор векторов, которые с высокой вероятностью не будут заблокированы.
Карта может быть представлена в виде графа, где узлы — параметры запроса, а ребра — возможные модификации (кодирование, изменение регистра, добавление комментариев и т.д.). Для каждой модификации модель оценивает вероятность обхода и потенциальный ущерб.
Пример: для параметра cmd в запросе к wp-admin/admin-ajax.php модель может предложить использовать Unicode-экранирование или разбиение строки, которые не блокируются текущими правилами.
Рассмотрим упрощенный пример. Допустим, WAF блокирует запросы, содержащие union select. Легитимный запрос может содержать слово union в другом контексте. Нейросеть, обученная на логах, покажет, что замена пробелов на комментарии /**/ или использование UNION%0ASELECT может обойти правило, если WAF не нормализует пробелы.
Инструменты:
Важно: все тесты проводите только на своих ресурсах или с разрешения.
Нейросетевая реконструкция слепых зон WAF позволяет proactively выявлять уязвимости фильтрации, анализируя расхождения между блокировками и легитимным трафиком. Построение карты обхода помогает усилить защиту WordPress, закрывая бреши до того, как их обнаружат злоумышленники. Однако помните: такие методы должны применяться исключительно в законных целях — для аудита собственных систем.







