
Первая итерация Feedback WAF на основе машинного обучения
NGWAF создан @yupengfei, @zhangbosen, @matthewng и @elizabethlim.
Особая благодарность @ruinahkoh за её вклад в начальные этапы NGWAF.
NGWAF является экспериментальной концептуальной реализацией и в текущем виде не готов к промышленному использованию.
Содержание
Мозг: WAF на основе машинного обучения
Зеркало: Масштабируемая интерактивная карантинная среда
Библиотека: Последовательность переобучения для укрепления мозга
С взрывным ростом веб-приложений с начала 2000-х годов атаки на их основе становятся всё более распространёнными. Одним из распространённых решений является веб-брандмауэр приложений (WAF). Однако настройка правил существующих WAF для улучшения механизмов обнаружения может быть сложной и трудной. NGWAF стремится устранить эти недостатки с помощью новой архитектуры, основанной на машинном обучении и карантинном перенаправлении в honeypot.
Вдохновлённый реальными проблемами при эксплуатации WAF, NGWAF намерен упростить и переосмыслить операции WAF через следующие процессы:
| Проблема | Возможность NGWAF |
|---|---|
| Обслуживание механизмов обнаружения и правил может быть сложным | Использование машинного обучения для автоматизации процесса создания и обновления механизмов обнаружения |
| Немедленная блокировка вредоносного трафика снижает возможности изучения поведения злоумышленников для будущих улучшений WAF | Устранение угрозы через перенаправление в карантин вместо обычного сброса и блокировки вредоносного трафика |
Чтобы сделать развёртывание простым и переносимым, мы контейнеризировали различные компоненты архитектуры с помощью Docker и настроили их в файле docker-compose. Это позволяет быстро и легко запускать его на новом устройстве, так как зависимости обрабатываются Docker автоматически. Развёртывание может быть расширено до кластера Kubernetes на локальном или облачном провайдере, что обеспечивает масштабируемость: пользователи могут увеличивать количество узлов/подов для обработки больших объёмов трафика.
Развёртывание тестировалось на macOS (Docker desktop) и Linux (Ubuntu).
NGWAF работает «из коробки» с тремя ключевыми компонентами; эти компоненты, как упоминалось выше, все контейнеризированы и масштабируются в зависимости от желаемого использования. Защищаемый ресурс можно настроить, изменив развёртывание в установке.
Высокоуровневая архитектура NGWAF с ожидаемыми потоками трафика от разных сторон
NGWAF был разработан с учётом следующих ключевых преимуществ для пользователя:
NGWAF заменяет традиционные наборы правил моделями глубокого обучения, чтобы уменьшить сложность управления и обновления правил. Вместо ручного редактирования правил машинное обучение NGWAF автоматизирует процесс изучения закономерностей из вредоносных данных. Данные, собранные из карантинной среды, автоматически очищаются и группируются, что позволяет при желании повторно обучить их на нашей модели обнаружения.
NGWAF использует новую архитектуру, включающую интерактивную и карантинную среду, созданную для изоляции потенциальных враждебных злоумышленников. В отличие от обычных WAF, которые блокируют при обнаружении, NGWAF перенаправляет злоумышленников на эмулированные системы, задерживая их, чтобы смягчить воздействие их злонамеренных действий. Среда также действует как «воронка» для сбора текущих методов атак, позволяя наблюдать и собирать вредоносные данные. Эти данные могут быть использованы для дальнейшего улучшения возможностей обнаружения NGWAF.
NGWAF в действии: при обнаружении SQL-инъекции NGWAF перенаправляет в карантинную среду, а не сбрасывает или блокирует попытку.
Руководящим принципом создания NGWAF является защита от рисков, указанных в стандартном документе осведомлённости Open Web Application Security Project — OWASP Top 10 2021.
Обучающие данные и проверки соответствия для NGWAF собираются и проводятся на основе этого требования.
Кому нужна ручная работа, когда можно перейти на НЕЙРОННЫЙ
Вместо традиционных наборов правил, которые требуют от аналитиков ручного выявления и добавления правил со временем, NGWAF использует сквозные конвейеры машинного обучения для механизма обнаружения, что значительно снижает сложность управления правилами WAF, особенно для обнаружения сложных полезных нагрузок.
Для этого нам сначала нужно создать базовую модель и архитектуру, с которой пользователи могут начать, чтобы позже использовать данные, собранные из их собственных приложений, для переобучения и тонкой настройки:
Общая архитектура базовой модели — это простая RNN с двунаправленным модулем LSTM, как показано ниже:
Изображение взято из Tensorflow (ссылка)
Используя эту архитектуру RNN, мы смогли достичь улучшения производительности по сравнению с более простыми моделями:
| Архитектура модели | Точность | F1-мера |
|---|---|---|
| Наша итоговая модель | 0,995 | 0,993 |
| Нейронная сеть без модуля LSTM | 0,956 | 0,891 |
| Дерево решений | 0,878 | 0,840 |
| Логистическая регрессия | 0,946 | 0,914 |
Хотя мы включили журналы из различных приложений для улучшения обобщающей способности базовой модели, дальнейшее обслуживание и переобучение модели будут важны для: