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

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

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

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

Модуль активной проверки атак позволяет использовать атаки, отправленные злоумышленником, как инструмент для тестирования ваших приложений и 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-запроса. Если в вашем приложении используется такой тип авторизации, мы рекомендуем настроить правило для маскировки данных. Если правило настроено, данные для авторизации запросов не будут выгружаться в Облако Валарм и не будут использоваться при активной проверке атак. Такой подход позволит минимизировать риск нанесения вреда вашему приложению.

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

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

Добавьте IP-адреса Сканера Валарм в белый список

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

Активная проверка атак может работать некорректно, если IP-адреса Сканера Валарм не добавлены в белый список.

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

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

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

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

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

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

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

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

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

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