В прошлом году мы выпустили первый релиз Nemesida WAF, построенного на базе машинного обучения. Мы перепробовали несколько вариантов и остановились на алгоритме обучения «Случайный лес». Основными преимуществами машинного обучения по сравнению с сигнатурным анализом являются повышенная точность определения атак, а также снижение количества ложных срабатываний. С другой стороны, использование модуля машинного обучения требует дополнительных аппаратных ресурсов. Для обеспечения базовой защиты веб-приложения при минимальных аппаратных ресурсах мы выпустили Nemesida WAF Free — бесплатную версию Nemesida WAF, выявляющую атаки на основе их сигнатур.
Nemesida WAF представляет собой динамический модуль для Nginx stable-версий начиная с 1.12, доступный для популярных Linux-дистрибутивов (протестирована на Debian, Ubuntu и CentOS платформах).
При создании сигнатур мы используем различные источники, а также результат работы модуля Nemesida AI. Минимизация количества ложных срабатываний в Nemesida WAF Free достигается за счет:
— выделения областей применения правил;
— использования предельно допустимых цифровых показателей значимости сигнатур;
— использования цепочек правил.
Эти механизмы позволяют создавать качественную базу сигнатур, при которой количество ложных срабатываний будет минимальным. Кроме этого, имеется возможность применять правила исключения, при создании которых рекомендуется максимально конкретизировать область возникновения ложного срабатывания.
Типы выявляемых атак:
— RCE,
— SQL injection;
— XSS;
— RFILFI;
— Path Traversal;
— Unwanted access (доступ к исходному коду, архивам, файлам конфигураций и резервным копиям).
Перечень возможностей:
— выявление атак сигнатурным методом;
— автоматическая блокировка атакующего по IP-адресу;
— анализ запросов средствами антивирусного ПО;
— возможность работы в режиме IDS;
— вывод информации об атаках в лог-файл;
— минимальные требования к аппаратному обеспечению.
Основное ограничение бесплатной версии затрагивает использование модуля машинного обучения Nemesida AI, который позволяет более точно и с минимальным количеством ложных срабатываний выявлять атаки на веб-приложения (модуль Nemesida AI, в том числе, способен выявлять атаки «нулевого дня»). В бесплатной версии модуль машинного обучения не задействован.
Если требуется обеспечить базовую защиту веб-приложения, Nemesida WAF Free будет отличным решением — простым в установке и обслуживании, не имеющим высоких требований к аппаратным ресурсам. Процесс установки Nemesida WAF Free описан в документации. Для тестирования можно воспользоваться предустановленной виртуальной машиной для VirtualBox.
Автор: RomanovR