Позитивная и негативная модели

SolidWall WAF обнаруживает угрозы двумя принципиально разными способами.

Зачем это нужно

Понимание различий между моделями помогает правильно настраивать защиту и интерпретировать результаты анализа. Сигнатурный анализ закрывает известные классы атак из OWASP Top 10, однако знает только об атаках, уже описанных в базе. Новые и нестандартные техники он пропускает. Позитивные модели восполняют этот пробел: они выявляют атаки на бизнес-логику и нестандартные техники, которые не попадают в сигнатурные базы.

Негативная модель (сигнатурный анализ)

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

Принцип прост: всё, что не соответствует ни одной известной сигнатуре атаки, считается легитимным. Это делает негативную модель лёгкой в развёртывании — достаточно загрузить набор сигнатур и включить анализ.

SolidWall WAF поддерживает встроенные сигнатуры, а также пользовательские сигнатуры в открытом формате SecRule.

Позитивная модель

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

SolidWall WAF организует позитивную защиту в трёх слоях веб-приложения:

Слой Что описывает Модели WAF
HTTP-транспорт Параметры протокола: методы, заголовки, кодировки, размеры Протокольная валидация
Фреймворк Структура тела запроса и ответа, форматы данных Дерево решений
Бизнес-логика Операции приложения, последовательности действий, пользовательские сессии Модель бизнес-логики, сессионная модель

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

Протокольная валидация HTTP

Описывает допустимые параметры HTTP-запросов. Настраивается на уровне приложения и позволяет отклонять запросы, не соответствующие стандарту или ожиданиям приложения.

Протокольная валидация позволяет настроить:

  • разрешённые HTTP-методы;
  • ограничения на заголовки;
  • допустимые MIME-типы содержимого;
  • максимальный размер тела запроса;
  • допустимые кодировки.

Запрос, нарушающий любое из этих ограничений, порождает аномалию.

Дерево решений

Настройка, которая определяет, как WAF разбирает тело запроса и ответа: какие вложенные форматы (XML, JSON, Base64, GZIP, JWT, GraphQL, Protobuf и другие) раскрываются и как их параметры представляются в виде пар ключ–значение.

Дерево решений строится автоматически из трафика и может быть углублено вручную. По дереву решений анализатор строит дерево разбора — структурированное представление конкретного запроса или ответа. Аномалия возникает, если структура запроса не соответствует ожидаемой модели.

Модель бизнес-логики (действия)

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

Расположение: Приложения → [приложение] → Действия → Бизнес-действия

Для каждого действия задаются параметры и их допустимые значения. WAF поддерживает 25 классов параметрических моделей: от простых перечислений и регулярных выражений до статистических — одномерного и многомерного распределения Гаусса. Статистические модели строятся по накопленному трафику автоматически.

Категории классов параметрических моделей
  • Простые форматы: Перечисление, Шаблон (регулярное выражение), Диапазон длин, Строка
  • Доменные форматы: E-mail, URL, Дата и время, Имя файла, GUID
  • Статистические: Математическое ожидание длины, Одномерное распределение Гаусса, Многомерное распределение Гаусса

Совет

Позитивная модель параметра позволяет закрыть уязвимость нулевого дня без изменения кода: достаточно задать класс модели для уязвимого параметра (например, «Число»), и любая попытка инъекции будет заблокирована как несоответствие модели.

Сессионная модель

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

Дополнительные механизмы защиты

Дополнительно WAF строит модель источников для детектора переборных атак и модель защиты от переборных атак с лимитами обращений к каждой операции.

Модель источников

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

Модель защиты от переборных атак

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

Как модели используются вместе

В типовой конфигурации оба подхода работают одновременно.

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

Связанные разделы

Настройка, определяющая, как WAF рекурсивно разбирает вложенные форматы (JSON, XML, JWT…); результат разбора конкретного запроса или ответа — дерево разбора.