Тесты показали, что не все WAF одинаково полезны

(Контент Рутест)

У автомобилистов есть пословица: «Если не знаешь, какой автомобиль купить – купи фольксваген». У ИБ специалистов тоже есть похожее: «Если не знаешь, как обеспечить безопасность облачной системы – поставь WAF (Web Application Firewall – фаерволл веб-приложений)». Который призван эффективно отсекать атаки злоумышленников на подступах к облачным приложениям и заранее распознавать потенциальные угрозы путем сигнатурного и поведенческого анализа входящего трафика.

В реальной жизни не все так просто

Однако, как показывает практика, WAF WAFу – рознь. Одни хорошо отсекают зловредный трафик, но плохо пропускают полезный – много ложных срабатываний. Другие наоборот – хорошо справляются с пропуском легитимного трафика, но часто пропускают вредоносы. Есть конечно и такие WAFы, которые и вредоносы отсекают, и легитимные запросы к приложениям не задерживают. Но как их распознать, если в маркетинговых документах производителя все отлично?

Компания Check Point Software Technologies третий год подряд проводит сравнение эффективности WAF, для чего организует тестирование ведущих в отрасли ИБ решений WAF в реальных условиях. Цель тестов: выяснить, насколько хорошо или плохо эти WAF обеспечивают корректную работу приложений.

В 2024-25 годах тесты выявили архитектурные ограничения традиционных WAF. По мере того, как вредоносы становятся все более сложными, ограничения устаревших методов анализа, основанных на сигнатурах механизмов предотвращения атак, становятся все более заметными.

В декабре 2025 года в тестах Check Point особое внимание уделялось атакам типа «обход заполнением» (Padding Evasion), хакерской технике, применяемой для того, чтобы зловредная байтовая комбинация, несмотря на все препоны WAF, все-таки пролезла в систему. Для того, чтобы зловред не был обнаружен сигнатурным анализом, злоумышленник, сохраняя семантику вредоносного контента, смешивает его с различным байтовым «мусором», добавляя строки, комментарии, пробелы и прочее, чтобы все выглядело безобидно и благополучно миновало защиту WAF.

На что смотреть при выборе WAF

При выборе WAF решающее значение имеют два наиболее важных параметра:

—   Качество безопасности (показатель истинного срабатывания) — способность WAF правильно идентифицировать и блокировать вредоносные запросы. Он должен эффективно противодействовать известным методам атак, используемым хакерами.

—   Качество обнаружения (показатель ложного срабатывания) — способность WAF правильно реагировать на легитимные запросы, не допуская ложных срабатываний, что может привести к нарушению работы бизнеса и увеличению нагрузки на ИТ персонал, поскольку требуется много настроек, чтобы WAF работал более-менее корректно.

Чем тестировали

Для тестирования WAF использовался обширный набор данных:

—   1 040 242 легитимных HTTP-запроса с 692 реальных веб-сайтов в 14 категориях

—   74 284 вредоносных комбинации из наиболее распространенных векторов атак

Что тестировали

В декабре 2025 года тестировались следующие популярные решения WAF:

—   Microsoft Azure WAF – набор правил OWASP CRS 3.2

—   AWS WAF – управляемый набор правил AWS

—   AWS WAF – управляемый набор правил AWS и набор правил F5

—   CloudFlare WAF – управляемый и базовый набор правил OWASP

—   F5 NGINX App Protect WAF – профиль по умолчанию

—   F5 NGINX App Protect WAF – строгий профиль

—   NGINX ModSecurity – OWASP CRS 4.20.0 (обновлено с ранее протестированной версии 4.3.0)

—   open-appsec / CloudGuard WAF – конфигурация по умолчанию (высокая степень уверенности)

—   open-appsec / CloudGuard WAF – конфигурация критической степени уверенности

—   F5 BIG-IP Advanced WAF – политика быстрого развертывания

—   Fortinet FortiAppSec – конфигурация по умолчанию

—   Google Cloud Armor – предварительно настроенные правила ModSecurity (уровень конфиденциальности 2)

—   Imperva Cloud WAF (2024-2025) – конфигурация по умолчанию

Некоторые WAF тестировались в двух режимах настроек, что позволяет считать их самостоятельными продуктами.

Что получили

На диаграмме ниже показан итог того, как показали себя протестированные продукты по параметрам «Качество безопасности» (способность блокировать нелегитимное) и «Качество обнаружения» (способность пропускать легитимное).

Что в «сухом остатке»

Тестирование показало, что параметры обнаружения и безопасности часто взаимоисключающие, и лишь немногие WAFы могут похвастаться почти идеальным соотношением и того, и другого. В частности,

1)     Облачный WAF Imperva продемонстрировал отличное качество обнаружения, ложные срабатывания составили всего 0,009%, то есть он пропускает практически весь легитимный трафик. Но и 88,03% реальных угроз этот WAF также пропускает, снижая тем самым общую эффективность защиты. То есть качество безопасности составило всего 11.97%.

2)     WAF от MS Azure обеспечивает достаточно высокое качество безопасности (обнаружение угроз 97,537%), но имеет чрезвычайно высокую частоту ложных срабатываний — 54,412%, блокируя легитимный трафик.

Эти результаты показывают, что некоторые продукты могут представлять риски безопасности из-за низкой степени обнаружения или требуют существенной настройки для баланса между эффективностью безопасности и удобством использования.

Таким образом, оптимальное решение WAF должно обеспечивать баланс между двумя основными показателями: качеством безопасности и качеством обнаружения. Для этого имеется показатель, называемый сбалансированной точностью (Balanced Accuracy) — среднее арифметическое значение показателей качества безопасности и качества обнаружения.

Третий год подряд WAF open-appsec/CloudGuard лидирует по сбалансированной точности, достигая наивысших результатов: 99,453% с критическим профилем и 99,283% с профилем по умолчанию. За ними следует NGINX AppProtect с результатом 94,071%.

Что изменилось в ландшафте угроз и результатах тестирования 2026 года

Следует отметить несколько важных моментов, определивших методы и содержание тестов в 2026 году:

В тесты был введен новый вектор атаки: так называемый обход защиты с помощью заполнения (Padding Evasion), в частности, вредонос React2Shell. 

—   Размер вредоносов становится все больше. Недавно обнаруженная уязвимость к React2Shell (CVE‑2025‑55182, CVSS 10.0) продемонстрировала, что критически важные запросы к приложениям часто превышают стандартные буферы проверки WAF размером 8 КБ или 128 КБ. Для проверки устойчивости WAF к новому типу атак в тестах использовался набор данных для Padding Evasion, содержащий сотни вредоносов, скрытых среди нейтральных «мусорных данных» разной длины.

—   Было замечено, что некоторые WAF (в частности, Cloudflare) по умолчанию не делают анализ, если длина запроса превышает определенные размеры (например, 128 КБ), чтобы сохранить производительность, фактически отказываясь от проверок зловредов большого размера.

—   Тесты показали, что для проверки всего тела запроса без ущерба для производительности необходимы специальные архитектурные подходы — например, потоковый анализ в сочетании с машинным обучением.

Инструменты тестирования также эволюционируют, как вариант, они могут генерировать PDF-отчеты и запускаться через Docker.

—   На основе многочисленных отзывов сообщества DevSecOps инструмент тестирования был усовершенствован. Теперь это не просто скрипт, дающий численный результат, а платформа тестирования с генерацией PDF-отчетов. Инструмент тестирования автоматически генерирует готовый к использованию PDF-отчет, визуализирующий сбалансированную точность, конкретные векторы атак и предоставляющий примеры логов для истинных и ложных срабатываний и пр. 

—   Была также добавлена возможность быстрого запуска и экспресс-проверки базовых показателей через контейнер Docker (тестирование 5% набора данных).

Непонятное блокирующее поведение WAF Imperva Cloud

WAF Imperva Cloud вместо проверки содержимого трафика на наличие вредоносных данных, по-видимому, блокировал трафик инструмента тестирования. При этом также блокировалось и 100% легитимного трафика, отправляемого этим инструментом.

Дилемма обхода блокировки с помощью заполнения (Padding Evasion)

Введение в тесты набора данных Padding Evasion (уязвимость CVE-2025-55182) выявило фундаментальные архитектурные различия на рынке WAF. В отличие от стандартных инъекционных атак, заполнение полезной нагрузки проверяет возможности механизма WAF, а не только его базу сигнатур, на которые он срабатывает.

Когда вредонос «обволакивается» мусорными данными, которые не влезают в буфер проверки WAF (обычно 8-128 КБ), WAF вынужден принимать сложное решение: либо прекратить проверку и пропустить запрос с вредоносом, либо тупо его заблокировать, потому что он «слишком большой». Но при этом возможна блокировка и легитимных запросов.

Три типа поведения WAF

Тестирование показало наличие трех различных типов поведения WAF:

1.      Fail Open (Открытие при ошибке – риск безопасности): WAF проверяет первые X килобайт, не обнаруживает ничего вредоносного и разрешает прохождение запроса к приложению. Это делает приложение полностью уязвимым для атак нулевого дня (Zero-Day attack) с использованием заполнения Padding Evasion.

2.      Fail Close (Закрытие при ошибке – бизнес-риск): WAF сразу обнаруживает, что запрос слишком большой и блокирует его. Это хотя и останавливает атаку, но также приводит к большому количеству ложных срабатываний, блокируя легитимные большие запросы к приложению (например, обширные JSON-тела или загрузку файлов).

3.      Full Coverage (Полное покрытие – идеальный вариант): WAF способен передавать или буферизовать тело всего запроса, находя вредоносную логику, если она там есть и глубоко скрыта, не блокируя при этом легитимные запросы большого размера.

Результаты тестирования атак Padding Evasion

WAFПоведение на больших запросахРезультатСтатус
open-appsec / CloudGuard WAFFull CoverageЗащищено
Google Cloud ArmorFull CoverageЗащищено
Microsoft Azure WAFFail CloseБлокировка легитимных больших запросов
AWS WAF (Managed & F5 Rules)Fail CloseБлокировка легитимных больших запросов
Barracuda WAFFail CloseБлокировка легитимных больших запросов
Cloudflare WAFFail OpenУязвим к Padding Evasion
F5 NGINX AppProtect (Strict/Default)Fail OpenУязвим к Padding Evasion
F5 BIG-IP Advanced WAFFail OpenУязвим к Padding Evasion
NGINX ModSecurityFail OpenУязвим к Padding Evasion
Fortinet FortiAppSecFail OpenУязвим к Padding Evasion

Тесты показали, что только WAFы OpenAppSec / CloudGuard и Google Cloud Armor смогли успешно проверить всю глубину запросов большого размера.

Большинство WAFов на рынке (включая F5, Cloudflare и Fortinet) по умолчанию перешли в состояние Fail Open («Открыть с ошибкой»), что делает их неэффективными против атак Padding Evasion, таких как React2Shell.

Напротив, AWS и Azure отдают приоритет безопасности, а не удобству использования, что, вероятно, требует значительной обработки исключений (exception handling) для современных приложений, работающих с большими объемами данных запросов.

Приложение: как тестировали

Каждое решение WAF тестировалось на двух наборах данных: легитимном и вредоносном.

Набор данных «Легитимные запросы»

Набор «Легитимные запросы» разработан для тестирования WAF в реальных условиях и содержал 1 040 242 HTTP-запроса с 692 реальных веб-сайтов.

Тесты представляли собой просмотр реальных веб-сайтов и выполнение легитимных запросов на них (например, регистрация, выбор товаров и добавление в корзину, поиск, загрузка файлов и т. д.). Для WAF важно проверять все компоненты HTTP-запроса, включая заголовки, URL и тело запроса, а также большие JSON-файлы и другие сложные типы тела запроса. Это позволяет тестировать более точно, поскольку эти элементы могут быть источником ложных срабатываний в реальных приложениях. Набор данных также включает загрузку файлов и многие другие типы веб-операций. Включение этих функций позволяет моделировать широкий спектр сценариев, обеспечивая исчерпывающую оценку эффективности и надежности систем WAF в различных условиях. Синтетические наборы данных часто упускают некоторые из них.

Распределение категорий сайтов в наборе тестов на легитимные запросы в тестах было следующее:

КатегорияКол-во сайтовПримеры
Е-коммерция404eBay, Ikea
Путешествия75Booking, Airbnb
Информация59Wikipedia, Daily Mail
Еда40Wolt, Burger King
Поисковики24Duckduckgo, Bing
Соцсети17Facebook, Instagram
Файлообмен16Adobe, Shutterfly
Создание контента13Office, Atlassian
Игры13Roblox, Steam
Видео8YouTube, twitch
Загрузка файлов7Google, Dropbox
Приложения7IBM Quantum Simulator, Planner 5d
Стриминг6Spotify, Youtube Music
Технологии3Microsoft, Lenovo
Всего692


Набор данных о легитимных запросах, в т.ч. HTTP-запросы, доступен здесь.

Набор данных «Вредоносные запросы»

Были использованы 74 284 вредоносных запроса, представляющих широкий спектр распространенных векторов атак:

—   SQL-инъекции

—   Межсайтовый скриптинг XSS (Cross-Site Scripting)

—   Внешние сущности XML XXE (XML External Entity)

—   Обход пути (Path Traversal)

—   Выполнение команд (Command Execution)

—   Log4Shell

—   Shellshock

—   Обход заполнения (Padding Evasion)

Вредоносы были получены со страницы WAF Payload Collection GitHub page , собранной немецкой компанией «mgm security partners GmbH». Этот репозиторий содержит полезные нагрузки вредоносов, специально созданные для тестирования правил WAF, полученные из множества источников, таких как SecLists, Foospidy’s Payloads, PayloadsAllTheThings, Awesome-WAF, WAF Efficacy Framework, WAF community bypasses, GoTestWAF, Payloadbox и многих других. Каждый из этих источников предлагает множество реальных вредносов и обеспечивает комплексный подход к тестированию решений WAF. Здесь все вредоносы указаны более подробно.

В совокупности наборы данных как по легитимным, так и вредоносным запросам дают детальное представление о том, как каждое решение WAF обрабатывает трафик в реальном мире, давая адекватное представление об их эффективности и качестве обнаружения угроз.

Метрики для сравнения

Для количественной оценки эффективности каждого WAF были использованы статистические показатели. К ним относятся качество безопасности (Security Quality, также известное как чувствительность или показатель истинно положительных результатов ТР – True Positive), качество обнаружения (Detection Quality, также известное как специфичность или показатель истинно отрицательных результатов, FN – False Negative) и сбалансированная точность (Balanced Accuracy).

Метрика Security Quality или показатель истинно положительных результатов TPR (true positive rate) показывает долю правильно идентифицированных положительных результатов, TP в общем количестве запросов Р. Другими словами, оно оценивает способность WAF правильно обнаруживать и блокировать вредоносные запросы.

Качество обнаружения Detection Quality или показатель истинно отрицательных результатов TNR (true negative rate) показывает долю правильно идентифицированных отрицательных результатов. Это относится к способности WAF корректно пропускать легитимный трафик.

Сбалансированная точность BA (Balanced Accuracy) учитывает оба показателя. Она рассчитывается как среднее арифметическое между TPR и TNR и показывает более сбалансированный результат между истинно положительными и истинно отрицательными результатами, независимо от их доли в наборах данных.

Эти метрики помогают оценить не только способность WAF блокировать вредоносный трафик, но и способность пропускать легитимный трафик, а также оценить общий баланс между этими двумя показателями.

WAF с высоким TPR, но низким TNR может блокировать большинство атак ценой блокировки слишком большого количества легитимных запросов, что приводит к ухудшению качества обслуживания пользователей.

Напротив, WAF с высоким TNR, но низким TPR может разрешать большинство легитимных запросов, но не блокировать значительное количество атак, ставя под угрозу безопасность системы.

Поэтому оптимальное решение WAF должно обеспечивать баланс, демонстрируя высокую производительность как по TPR, так и по TNR, что точно отражается в показателе «Сбалансированная точность».

Результаты

В таблице показаны конфигурации каждого протестированного продукта и оценка качества безопасности TPR (чем выше, тем лучше), качества обнаружения TNR (чем ниже, тем лучше) и оценка сбалансированной точности (чем выше, тем лучше).

В тестировании были использованы настройки профиля по умолчанию для каждого WAF без какой-либо дополнительной настройки, а также при возможности, дополнительный профиль, обеспечивающий максимально возможное качество безопасности для данного продукта.

Результаты по каждому WAF показаны в таблице

Решение WAFTPRTNRBA
Microsoft Azure WAF97.537%54.412%71.562%
CloudFlare WAF63.462%0.06%81.701%
AWS WAF (AWS managed ruleset)79.891%6.046%86.922%
AWS WAF (AWS managed ruleset plus F5 Rules)80.445%6.133%87.156%
NGINX ModSecurity92.257%18.638%86.81%
NGINX AppProtect Default91.009%2.868%94.071%
NGINX AppProtect Strict WAF97.907%25.4%86.254%
open-appsec / CloudGuard WAF Default Profile99.56%0.994%99.283%
open-appsec / CloudGuard WAF Critical Profile99.47%0.563%99.453%
Imperva Cloud WAF (2025)11.97%0.009%55.981%
F5 BIG-IP Advanced WAF79.039%2.894%88.072%
Fortinet FortiAppSec70.143%21.388%74.378%
Google Cloud Armor91.006%56.999%67.004%
Barracuda WAF34.32%18.197%58.061%

Анализ

Качество безопасности – показатель истинно положительных результатов TPR (True Positive Rate)

Показатель истинно положительных результатов TPR оценивает способность WAF корректно обнаруживать и блокировать вредоносные запросы. Более высокий показатель TPR свидетельствует о более надежной защите от атак.

В тестах наивысший показатель TPR был достигнут WAF open-appsec/CloudGuard в 99,56% при использовании стандартного профиля по умолчанию. Следом идут F5 NGINX App Protect со строгим набором правил (Strict Rule set) с TPR 97,849% и Microsoft Azure WAF с TPR 97,526%.

Остальные WAF-системы показали переменные результаты, при этом Imperva продемонстрировала самое низкое качество безопасности — 11,97% при настройках по умолчанию.

Результаты тестирования многих WAF неутешительны, поскольку большинство использованных в тестах атак уже давно известны и описаны.

Качество обнаружения – показатель частоты ложных срабатываний FPR (False Positive Rate)

Частота ложных срабатываний FPR показывает способность WAF правильно идентифицировать и разрешать легитимные запросы. Более низкий показатель FPR означает, что WAF лучше распознает и пропускает легитимный трафик, что крайне важно для предотвращения ненужных сбоев в работе и администраторской нагрузки.

В тестах самый низкий показатель ложноположительных результатов (FPR) был показан WAF Imperva, составивший почти идеальные 0,009%. Cloudflare немного отстал с 0,06%. За ним следовали open-appsec/CloudGuard WAF с FPR 0,563% при использовании критического профиля.

Microsoft Azure WAF показал очень высокий показатель ложноположительных результатов — 54,412%, а Google Cloud Armor WAF с предварительно настроенным набором правил ModSecurity — самый высокий показатель ложноположительных результатов — 56,999%. Эти продукты требуют очень серьезной первоначальной и постоянной настройки для использования в реальных условиях.

Сбалансированная точность

Сбалансированная точность BA (Balanced Accuracy) дает более целостное представление о производительности WAF, учитывая качество безопасности и качество обнаружения. Более высокая сбалансированная точность указывает на оптимальное решение WAF, которое обеспечивает баланс между обнаружением атак и разрешением легитимного трафика.

Что в итоге

Для эффективной защиты веб-приложений решение WAF должно превосходить ожидания в двух областях: качество безопасности (блокировка атак) и качество обнаружения (пропуск легитимного трафика). Тесты показали, что многие ведущие решения WAF не обеспечивают такой оптимальный баланс. Некоторые WAF представляют собой реальные риски безопасности, не обнаруживая современные угрозы, в то время как другие требуют огромного объема ручных настроек для работы в производственной среде.

Стоит добавить, что пример WAF open-appsec / CloudGuard еще раз доказывает, что лучший способ обеспечить безопасность веб-приложений — это использование машинного обучения, а не статических сигнатур. Такой подход обеспечивает наилучший баланс безопасности и удобства использования и остается единственным решением для превентивной блокировки атак нулевого дня, таких как Log4Shell, Spring4Shell, Text4Shell, React2Shell и Claroty WAF on Bypass.

«Можем повторить»

В статье была показана наиболее эффективная методика тестирования WAF по двум наиболее важным параметрам: качество безопасности и качество обнаружения.

Однако, жизнь показывает, что выбор решений по «репутации вендора» и результатам вендорских тестов (если таковые имели место) часто бывает чреват последующими разочарованиями: снижением скорости трафика, появлением уязвимостей и пр. Не секрет, что вендоры, сколь бы уважаемыми они ни были, заинтересованы показывать свои решения в лучшем свете и поэтому часто приукрашивают реальное положение вещей.

Компания РУТЕСТ не аффилирована ни с одним из вендоров, и может провести истинно независимое тестирование WAF и других средств ИБ для российских заказчиков. В частности, мы можем провести тестирование воспринимаемого качества обслуживания в реальных сетевых и облачных средах при помощи инструмента IXIA Cyperf, функциональные возможности которого хорошо известны любому специалисту по ИБ. Например, этот инструмент содержит эластичные тестовые агенты для генерации трафика, которые можно запускать и отключать во время теста динамически для проверки политик автомасштабирования. Этот процесс позволяет точно настроить баланс между воспринимаемым качеством услуг (QoE) и безопасностью.

Аватар Неизвестно

About Алексей Шалагинов

Независимый эксперт
Запись опубликована в рубрике Рутест с метками , , , . Добавьте в закладки постоянную ссылку.

Оставить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.