Модуль машинного обучения блокирует легитимные запросы | Немезида ВАФ


Применение машинного обучения при обработке запросов позволяет увеличить точность выявления атак до 99.98%, однако для достижения этих показателей необходимо корректно обучить поведенческую модель. Блокировка легитимного запроса может происходить по нескольким причинам:

  • трафик не поступал в Nemesida AI MLC во время обучения, и теперь модуль машинного обучения считает запрос аномальным относительно примененной поведенческой модели;
  • поведенческая модель построена некорректно и требуется ее переобучение;
  • ложноположительные результаты, которые можно устранить, экспортируя запросы для применения в поведенческой модели «на лету».

Существует 2 основных способа устранения ложноположительных блокировок:

1-й способ:

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


Пример экспорта запроса

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

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

2-й способ:

1. Переведите режим обработки запросов модулем машинного обучения в режим мониторинга, активировав опцию Активация режима мониторинга анализа запросов, определенных модулем Nemesida AI MLA как нелегитимные (BT 3) в разделе управления настройками фильтрующей ноды в Личном кабинете:


Активация опции

2.Проанализируйте журнал ошибок веб-сервера фильтрующей ноды (/var/log/nginx/error.log) и выявите те сигнатуры, которые привели к отправке запроса на дополнительный анализ в модуль машинного обучения.

Запросы будут отправляться на дополнительный анализ модулем машинного обучения при выявлении в запросе сигнатур, сумма «веса» которых будет >= значения mla_score в файле конфигурации /etc/nginx/nwaf/conf/global/nwaf.conf фильтрующей ноды (по умолчанию, 2). Отправка запроса на дополнительный анализ будет сопровождаться сообщением в логе.
Пример:

2023/11/27 17:50:59 [error] 4292#4292: *466 Nemesida WAF: the request b3270f75de9c6a381fb645bd46f0d772 contains rule ID 1039 in zone BODY and will be sent to Nemesida AI MLA, client: 1.1.1.1, server: , request: "POST /admin/uploads.php HTTP/1.1", host: "example.com"

3. Составьте правило исключения сигнатуры (или несколько правил), выбрав в качестве зоны срабатывания правила NoMLA:


Создание правила исключения

Зона NoMLA исключает отправку запроса в модуль машинного обучения при срабатывании сигнатуры.

4. Деактивируйте ранее активированную опцию Активация режима мониторинга анализа запросов, определенных модулем Nemesida AI MLA как нелегитимные (BT 3).

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

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