Когда не хватает готовых контрмер, MITIGATOR позволяет добавить свои с помощью контрмеры «Программируемый фильтр» (BPF).
Написание программ требует небольшой квалификации, но позволяет оперативно решить сложные задачи:
Защита для приложений и протоколов, которые еще не поддержаны. Если известно, как работает приложение, как защитить его трафик, не требуется обращаться к разработчикам и ждать очередной версии.
Более сложные фильтры, чем позволяют контрмеры ACL и REX. Например, можно анализировать опции TCP и IP, любые соотношения параметров пакетов, заголовки и содержимое одновременно и как угодно.
Экспериментальные способы защиты и подавление конкретных атак. MITIGATOR позволяет править программу на «живом» трафике, добавлять в нее новую логику прямо во время атаки или по мере понимания протокола.
Что дает программируемый фильтр?
Скорость работы программ сопоставима со встроенными контрмерами.
Безопасность как неотъемлемое свойство.
При загрузке в MITIGATOR код проверяется на корректность. Даже если допущена ошибка, он не «роняет» MITIGATOR и не зависает.
Можно доверить написание и загрузку программ клиентам сервиса. В рамках каждой политики защиты может быть своя программа, которая, однако, не может повредить MITIGATOR и другим клиентам.
Простота: удобный API для типовых действий над пакетами.
Стандартный формат EBPF позволяет использовать обычные компиляторы, IDE и опыт программирования.
Программы для MITIGATOR не совместимы с XDP и tc (EBPF в ядре Linux). Подробнее см. в справочнике.