Перейти к содержанию

Рекомендации по управлению модулем активной проверки атак

Что такое модуль активной проверки атак?

Валарм использует несколько методов для обнаружения уязвимостей, один из них — Активная проверка атак.

Модуль активной проверки атак позволяет использовать атаки, отправленные злоумышленником, как инструмент для тестирования ваших приложений и API на наличие активных уязвимостей. Для этого модуль отправляет запросы с данными из реального трафика на адреса ваших приложений и анализирует ответ приложения. Если ответ содержит признаки активной уязвимости, модуль регистрирует соответствующую уязвимость и инцидент безопасности.

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

Как работает модуль активной проверки атак?

При активной проверке атак генерируется набор тестовых запросов с разными векторами атак, направленными на один адрес приложения. Каждый ответ приложения на запрос анализируется на наличие признаков активной уязвимостей:

  • Если в ответе нет признаков уязвимостей, которые могут быть проэксплуатированы отправленными векторами атак, модуль считает приложение не уязвимым для этих векторов.

  • Если в ответе есть признаки уязвимостей, которые могут быть проэксплуатированы отправленными векторами атак, модуль регистрирует активные уязвимости и инцидент безопасности.

Список уязвимостей, которые может обнаружить модуль

Модуль активной проверки атак использует следующий механизм для проверки приложений и API на наличие активных уязвимостей:

  1. Для каждый группы вредоносных запросов (атаки), Валарм WAF определяет атакуемый элемент запроса (например: URL, объект JSON, поле XML) и тип уязвимости, которую злоумышленник пытался эксплуатировать (например: SQLi, RCE, XSS). Например, следующий GET-запрос имеет характеристики:

    https://example.com/login?token=IyEvYmluL3NoCg&user=UNION SELECT username, password
    
    • Атакуемый URL: https://example.com/login.
    • Тип отправленной атаки: SQLi. Тип определен на основе вектора атаки UNION SELECT username, password.
    • Атакуемый GET-параметр: user.
    • Дополнительная информация, отправленная для авторизации запроса: token=IyEvYmluL3NoCg.
  2. На основе определенных данных, модуль активной проверки атак генерирует набор из 100-150 тестовых запросов с разными векторами атаки одного типа (SQLi) и с одинаковым адресом, на который запрос был отправлен изначально. Например:

    https://example.com/login?token=IyEvYmluL3NoCg&user=1')+WAITFOR+DELAY+'0 indexpt'+AND+('wlrm'='wlrm
    https://example.com/login?token=IyEvYmluL3NoCg&user=1+AND+SLEEP(10)--+wlrm
    https://example.com/login?token=IyEvYmluL3NoCg&user=1);SELECT+PG_SLEEP(10)--
    https://example.com/login?token=IyEvYmluL3NoCg&user=1'+OR+SLEEP(10)+AND+'wlrm'='wlrm
    https://example.com/login?token=IyEvYmluL3NoCg&user=1+AND+1=(SELECT+1+FROM+PG_SLEEP(10))
    https://example.com/login?token=IyEvYmluL3NoCg&user=%23'%23\x22%0a-sleep(10)%23
    https://example.com/login?token=IyEvYmluL3NoCg&user=1';+WAITFOR+DELAY+'0code:10'--
    https://example.com/login?token=IyEvYmluL3NoCg&user=1%27%29+OR+SLEEP%280%29+AND+%28%27wlrm%27%3D%27wlrm
    https://example.com/login?token=IyEvYmluL3NoCg&user=SLEEP(10)/*'XOR(SLEEP(10))OR'|\x22XOR(SLEEP(10))OR\x22*/
    
  3. Модуль активной проверки атак отправляет сгенерированные запросы приложению и определяет уязвимость приложения по указанному адресу к отправленному типу атаки. Если приложение уязвимо, модуль регистрирует соответствующее событие с типом инцидент.

    При этом запросы не должны проверяться WAF-нодой на наличие атак, для этого необходимо добавить IP-адреса Сканера Валарм в белый список.

    Значение HTTPS-заголовка User-Agent в запросах

    Заголовок User-Agent в запросах модуля активной проверки атак имеет значение Wallarm attack-rechecker (v1.x).

  4. Обнаруженные инциденты безопасности отображаются в Консоли управления Валарм. Чтобы отправить информацию об инцидентах вашей команде, вы можете настроить интеграции со сторонними приложениями и Триггеры.

Потенциальные риски использования модуля активной проверки атак

  • Легитимные запросы, распознанные WAF-нодой как атака (ложные срабатывания), также воспроизводятся модулем активной проверки атак. Если запросы меняют поведение приложения и в них переданы авторизационные данные, модуль активной проверки атак может выполнить нежелательные операции с приложением. Например: при активной проверке авторизованного запроса для создания нового объекта в приложении, модуль может создать набор нежелательных объектов в приложении.

    Чтобы минимизировать описанный риск, модуль активной проверки атак автоматически вырезает следующие HTTP-заголовки из запросов:

    • Cookie
    • Authorization: Basic
    • Viewstate
  • Если в приложении используется нестандартный способ авторизации запросов или авторизация запросов не требуется, модуль активной проверки атак может воспроизвести любой запрос из трафика 100 и более раз и вызвать непредвиденное поведение системы. Например: повторить 100 и более транзакций или заказов. Чтобы минимизировать описанный риск, мы рекомендуем использовать тестовую или staging-среду для активной проверки атак и маскировать нестандартные параметры авторизации.

Рекомендации по управлению модулем активной проверки атак

Настройте корректную маскировку данных

В приложении могут использоваться нестандартные типы авторизации запросов, например: токен в строке запросе, нестандартный HTTP-заголовок или объект JSON в теле POST-запроса. Если в вашем приложении используется такой тип авторизации, мы рекомендуем настроить правило для маскировки данных. Если правило настроено, данные для авторизации запросов не будут выгружаться в Облако Валарм и не будут использоваться при активной проверке атак. Такой подход позволит минимизировать риск нанесения вреда вашему приложению.

Изучите метод управления модулем активной проверки атак

Модуль активной проверки включается и выключается глобально для всех ваших приложений в Консоли управления Валарм → секция Сканер. По умолчанию модуль выключен.

Настройте уведомление ваших команд об инцидентах безопасности

Чтобы получать уведомления о событиях безопасности, вы можете интегрировать Валарм WAF со сторонними мессенджерами и SIEM-системами, которые вы используете в работе. Например: Slack, Telegram, PagerDuty, Opsgenie и другими. Чтобы ваша команда могла оперативно отреагировать на обнаруженный инцидент безопасности, мы рекомендуем настроить отправку соответствующих уведомлений в удобную систему.

Ознакомьтесь с действиями при отправке чувствительных данных в Облако Валарм

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

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

Опционально: Включите или выключите активную проверку атак для отдельных приложений

Если запросы к некоторым адресам ваших приложений изменяют работу приложения и не требуют авторизационных данных, мы рекомендует выключить активную проверку атак для таких адресов. Активная проверка может быть выключена для отдельных приложений, доменов или URL приложений с помощью правила Выключить/Включить активную проверку атак.

Опционально: Настройте замену элементов запроса для активной проверки

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