Cloudflare объявила о запуске Application Profiles — механизма, призванного расширить концепцию позитивной безопасности с API на веб-приложения. Вместо того чтобы ограничиваться сопоставлением запросов с известными сигнатурами атак, сервис изучает структуру успешных запросов, а затем проверяет, насколько последующие запросы соответствуют этому шаблону.
Функция основана на Schema Profiles, которые периодически анализируют трафик, чтобы определить переменные, присутствующие в пути, параметрах запроса, заголовках, файлах cookie и структуре тел запросов в форматах JSON или form-encoded. Система также изучает типы данных и ограничения, такие как целые числа, строки, логические значения, массивы, UUID, перечисляемые значения, а также числовые диапазоны, длину строк и категории символов.
Что меняется на практике?
После создания профиля для определённого процесса Cloudflare включает постоянный уровень проверки для живого трафика. Если путь ожидает UUID или значение product_id должно быть целым числом в пределах изученного диапазона, система может зарегистрировать запрос как несоответствующий, если поступило искажённое или текстовое значение либо значение за пределами диапазона. При этом запросу не обязательно соответствовать известной сигнатуре SQL-инъекции, межсайтового скриптинга или удалённого выполнения кода.
Сигнал несоответствия не приводит к автоматическому действию. Результат добавляется к данным запроса, и команды могут изучить его в Security Analytics, прежде чем создавать Security Rules для мониторинга или блокировки. Cloudflare предоставляет вкладку Profile Analysis для просмотра тенденций, соответствующих и несоответствующих запросов, места нарушения и его причины. Правила также можно применять ко всему приложению либо к определённым путям, операциям и полям.
Обучение требует проверки человеком
Обучение выполняется еженедельно для каждого региона с использованием новейшего успешного трафика. Для изучения полей требуется не менее 1 000 запросов с ответом с кодом 2xx за предыдущие семь дней, а для изучения границ значений — 10 000 запросов. Однако успешные запросы могут включать роботов и инструменты сканирования, поэтому Cloudflare рекомендует начинать в режиме мониторинга и проверять профиль до его применения.
Несоответствие также не обязательно означает атаку: оно может быть вызвано новой версией приложения, новым клиентом или корректным, но необычным запросом. Профили обновляются еженедельно: в них добавляются новые поля и удаляются поля, которые больше не встречаются. Кроме того, их можно экспортировать как файлы OpenAPI v3 и фиксировать версию с помощью Schema Validation.
Доступность и ограничения
Клиенты, использующие API Security, получают доступ к функции, а Cloudflare начала закрытый экспериментальный проект для приглашённых клиентов Enterprise, которые не используют API Security. Участие в экспериментальном проекте не означает, что функция в будущем будет доступна в рамках определённого тарифного плана.
- Функция поддерживает пути, параметры запроса, заголовки, файлы cookie, а также тела запросов в форматах JSON и form-encoded.
- В настоящее время не поддерживаются multipart, GraphQL и XML.
- Она может проверять числовые и текстовые типы, UUID, массивы и перечисляемые значения, содержащие до трёх значений.
- Она не требует уникальности имён повторяющихся параметров, не изучает обязательные параметры и не блокирует запрос только из-за наличия в нём нового параметра.
Почему это важно?
Cloudflare утверждает, что распространение генеративных моделей искусственного интеллекта упрощает создание, изменение и автоматическое тестирование вредоносных нагрузок, повышая ценность средств контроля, которые определяют допустимое, а не преследуют каждую известную форму атаки. Практическая ценность здесь заключается не в замене управляемых правил WAF, а в добавлении уровня, который сокращает пространство входных данных, достигающих обработчиков приложения.
Компания работает над добавлением контекстного анализа и определения приоритетов с использованием моделей, размещённых в Workers AI, чтобы связывать имена полей с их предполагаемыми функциями и предлагать защитные меры. Однако эти возможности всё ещё находятся на стадии разработки или экспериментов, а точность профилей зависит от качества и объёма трафика, на котором они обучаются; поэтому постепенное развёртывание и проверка до блокировки остаются двумя основными условиями.