Версия 20.06

В версию v20.06 добавлены 7 новых механизмов защиты. База хранения метрик изменена с Whisper на ClickHouse.

Изменения версии v20.06

BPF. Добавлена новая контрмера «Программируемый фильтр».

Контрмера позволяет пользователю использовать собственные алгоритмы защиты. Обучающий пример создания программы для BPF.

Для упрощения процесса разработки под BPF создан сервис bpf.mitigator.ru. Сервис позволяет компилировать исходный код и валидировать объектные файлы под разные версии MITIGATOR.

Для получения доступа к сервису обратитесь в поддержку.

FRB. Добавлена новая контрмера «Блокировка потоков при превышении порогов».

Контрмера позволяет заблокировать хост, с которого поступает определенный трафик больше порога. Целевой трафик можно описать по L3-L4 заголовкам (ACL) и по L4 payload (REX). Такой подход позволяет выделять атакующие хосты, пытающиеся выглядеть легитимными.

Пример №1:

PACKETS 1000 BITS 2000000 PERIOD 3 BLOCK 300 ACL tcp dport 80 ACL header-len 50 REX \sLOGIN\s[^\n]{100}

Если с адреса поступает 1000 пакетов или 2 мегабита в течение 3 секунд и у этих пакетов:

  • длина IP-заголовка 50 Байт;
  • TCP порт назначения 80;
  • содержимое TCP payload — 100 раз LOGIN через пробел,

то хост будет добавлен в список временной блокировки (TBL) на 300 секунд.

Пример №2:

BITS 2000 ACL icmp

Блокировать трафик с хоста до тех пор, пока с адреса поступает больше 2Kbps ICMP трафика.

Правила в контрмере применяются по порядку. Есть возможность применить пороги для трафика, не попавшего под правила.

DNS. Добавлен режим UDP-аутентификации Redirect.

ATLS. Добавлена фильтрация по белому и черному списку JA3 отпечатков.

ATLS. Добавлен сбор JA3 отпечатков.

WAFR. Добавлена новая контрмера «Перенаправление на WAF».

Создан механизм, позволяющий перенаправлять часть трафика в политике защиты на другое L7-устройство защиты. Трафик пересылается прозрачно для пользователя. От администратора защищаемого сервиса не требуется никаких настроек (в частности, замены A-записи).

Контрмера WAFR реализована под сценарии связки MITIGATOR+WAF у поставщика услуги защиты.

Например, на хосте 10.10.10.10 запущено несколько TCP и UDP сервисов, в том числе веб-приложение, работающее по HTTPS. Необходимо трафик веб-приложения пропустить через WAF, а остальной — напрямую к хосту. С помощью WAFR можно прозрачно направить HTTPS-трафик на WAF или другое подобное устройство. При этом на WAF может быть настроена отправка атакующих адресов на блокировку в MITIGATOR.

GAME. Добавлена защита для игры ARK: Survival Evolved.

ARK: Survival Evolved— многопользовательская игра в жанре симулятора выживания. В Steam входит в TOP-10 игр по количеству игроков онлайн.

GAME. Переработана и улучшена защита для игры GTA SAMP.

Полностью изменены алгоритмы защиты. Для свежих версий добавлена защита на базе challenge-response. Реализована защита от Query Flood.

Выгрузка адресов игроков позволяет эшелонировать защиту UDP-игр. Вышестоящий эшелон должен пропускать пакеты с адресов проверенных игроков и первые пакеты, необходимые для проверки игрока. В зависимости от возможности эшелона и игры, необходимые пакеты можно описать по длине или по содержимому. Такой подход позволяет разгрузить линки перед MITIGATOR.

GAME. Добавлена возможность через API наполнять таблицу адресами игроков.

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

SOUR. Изменены условия для опроса серверов.

Теперь SOUR не опрашивает сервера, если выполняется одно из условий:

  • выключена контрмера;
  • выключена политика;
  • включен программный байпас.

TCP. Изменена работа с таблицей аутентифицированных адресов.

Контрмера TCP — одна из первых в MITIGATOR. За это время возможности обработчика пакетов сильно шагнули вперед.

  • Отдельная таблица адресов для контрмеры TCP в каждой политике. Динамическое использование памяти. Размер каждой таблицы до 2 млн записей и до 4 млн записей в строгом режиме.
  • Если таблица переполнена, то новый адрес не добавляется. Ранее, если адреса добавлялись, это могло приводить к вымыванию из таблицы уже существующих легитимных пользователей, если атакующий обходил проверки.
  • Контрмера отслеживает наличие активности с адреса, если активности нет больше 30 секунд (настраивается), то запись удаляется.
  • Добавлен запрос API на добавление адресов в таблицу.

CRB. Изменен формат указания порога.

Для описания легитимного трафика требовалось указывать скорости меньше одного соединения в секунду. Например, 2 соединения за 5 минут. Поэтому изменен формат порога. Теперь задается «Пороговое число запросов» и «Период подсчета порога». Для блокировки хоста, устанавливающего больше двух соединений за 5 минут, нужно указать:

  • Пороговое число запросов: 2;
  • Период подсчета порога: 300.

SORB. Изменен формат указания порога. Аналогично CRB.

VAL. Добавлена опция сброса TCP-сегментов по MSS.

ACL. Добавлена поддержка флагов фрагментации.

Список параметров сравнения для фрагментированных пакетов:

  • frag-offset — смещение фрагмента;
  • fragment — фрагментация пакета (не фрагмент, первый фрагмент и т. п.);
  • DF — флаг запрета фрагментации;
  • MF — флаг фрагментации.

MCR. Ключ задается побайтово в шестнадцатеричном представлении.

SPLI. Добавлена выгрузка таблицы соединений.

SPLI. Уменьшено влияние контрмеры на легитимный трафик, увеличена производительность.

Detect. Добавлено автодетектирование для каждой контрмеры политики.

Detect. Добавлены предикаты на пропущенный трафик, расширен список предикатов.

Detect. Добавлены предикаты с порогами System.ACL.* по входящему трафику по интерфейсам.

Detect. Добавлена возможность добавлять новые предикаты через файл конфигурации.

Groups. Добавлены ограничения на количество правил и политик защиты в группе.

BGP. Анонсируемые префиксы автоматически актуализируются при изменении правил, указывающих на политику защиты.

UX. В политику защиты добавлена информация об анонсируемых префиксах.

UX. Добавлено сохранение по нажатию Enter при создании новой политики.

UX. Отключение автообновления графика, если выбран конкретный интервал или интервал больше 4х часов.

UX. Добавлена справка во все карточки контрмер.

UX. Добавлена поддержка нового дизайна страницы политики.

Help. Раздел Помощь обновлен и дополнен.

API. Переработаны пути запросов графиков.

Для удобства интеграции с внешними ЛК получение графиков разделено на три категории:

  • top — top-политики по трафику;
  • group — общий трафик группы;
  • render — остальные.

Core. Добавлен режим отложенного запуска обработчика пакетов.

режиме отложенного запуска пакеты начинают обрабатываться только после загрузки всех настроек в обработчик пакетов. Режим включается через опцию командной строки -s, — deferredstart, указываемую через DATA_PLANE_ARGS в docker-compose.override.yml, либо через define($deferred_start true); в data-plane.conf.

Порядок загрузки:

  • пролитие настроек в обработчик пакетов;
  • активация обработчика пакетов и включение портов;
  • активация BGP-сессий.

Core. Добавлена поддержка нового оборудования.

Протестирована работа системы на AMD EPYC2 и Mellanox ConnectX-5 с шиной PCIe 4.0 x16, а также новых Xeon Gold 62xxR.

Backend. Добавлено управление уровнем логирования.

Через переменную окружения BACKEND_LOG_LEVEL или запрос API /system/log можно менять уровень логирования:

  • debug;
  • info;
  • warning;
  • error.

Если переменная окружения не задана, то при запуске используется уровень info. Контрмеры SOUR и GAME могут создавать большой поток записей на уровне info, поэтому рекомендуется поднять уровень логирования до warning.