
Primeira iteração do WAF de Feedback baseado em ML
NGWAF foi criado por @yupengfei, @zhangbosen, @matthewng e @elizabethlim.
Um agradecimento especial a @ruinahkoh pelas suas contribuições nas fases iniciais do NGWAF.
NGWAF é uma prova de conceito experimental e não está pronto para uso em produção na sua forma atual.
Índice
Os Componentes | As Engrenagens do NGWAF
O Cérebro: WAF baseado em Machine Learning
O Espelho: Ambiente de Quarentena Interativo Escalável
A Biblioteca: Sequência de Retreinamento para Reforçar o Cérebro
Com o crescimento explosivo das aplicações web desde o início dos anos 2000, os ataques baseados na web têm se tornado progressivamente mais frequentes. Uma solução comum é o Firewall de Aplicações Web (WAF). No entanto, ajustar as regras dos WAFs atuais para melhorar os mecanismos de deteção pode ser complexo e difícil. O NGWAF procura resolver estas desvantagens com uma arquitetura inovadora baseada em machine learning e quarentena para honeypot.
Inspirado por pontos problemáticos reais da operação de WAFs, o NGWAF pretende simplificar e reimaginar as operações de WAF através dos seguintes processos:
| Ponto problemático | Característica do NGWAF |
|---|---|
| A manutenção dos mecanismos de deteção e regras pode ser complexa | Utilizar machine learning para automatizar o processo de criação e atualização dos mecanismos de deteção |
| O bloqueio imediato de tráfego malicioso reduz as oportunidades de aprender com o comportamento dos atores de ameaças para futuras melhorias do WAF | Eliminação de ameaças através de quarentena redirecionada em vez do bloqueio e descarte convencionais de tráfego malicioso |
Para tornar a implantação simples e portátil, containerizámos os diferentes componentes da arquitetura usando docker e configurámo-los num ficheiro docker-compose. Isto permite que a execução numa instalação nova seja rápida e fácil, pois as dependências são tratadas automaticamente pelo docker. A implantação pode ser expandida para ser implantada num cluster kubernetes local ou baseado em fornecedor de cloud, tornando-a escalável à medida que os utilizadores aumentam o número de nodes/pods para lidar com grandes volumes de tráfego.
A implantação foi testada no macOS (Docker desktop), linux (ubuntu).
O NGWAF funciona de imediato com três componentes principais; estes componentes, como mencionado acima, são todos containerizados e escaláveis de acordo com o uso desejado. O recurso protegido pode ser personalizado através de uma alteração na implantação dentro da configuração.
Arquitetura de alto nível do NGWAF com fluxos de tráfego esperados de diferentes partes
O NGWAF foi projetado com os seguintes benefícios principais para o utilizador em mente:
O NGWAF substitui os conjuntos de regras tradicionais por modelos de deep learning para reduzir a complexidade de gerir e atualizar regras. Em vez de editar manualmente as regras, o machine learning do NGWAF automatiza o processo de aprendizagem de padrões a partir de dados maliciosos. Os dados recolhidos do ambiente de quarentena são automaticamente limpos e agrupados, permitindo que sejam retreinados no nosso modelo de deteção, se desejado.
O NGWAF adota uma arquitetura inovadora que consiste num ambiente interativo e de quarentena construído para isolar potenciais atacantes hostis. Ao contrário dos WAFs convencionais que bloqueiam ao detetar, o NGWAF redireciona os atores de ameaças para sistemas emulados, prendendo-os para suavizar o impacto das suas ações maliciosas. O ambiente também atua como um sumidouro para recolher métodos de ataque atuais, permitindo a observação e coleta de dados maliciosos. Estes dados podem ser usados para melhorar ainda mais a capacidade de deteção do NGWAF.
NGWAF em ação: Ao detetar uma injeção SQL, o NGWAF redireciona para o nosso ambiente de quarentena, em vez de descartar ou bloquear a tentativa.
O princípio orientador por detrás da criação do NGWAF é proteger contra os riscos destacados no documento de sensibilização padrão do Open Web Application Security Project - The OWASP Top 10 2021.
Os dados de treino e as verificações de conformidade para o NGWAF são recolhidos e realizados com base neste requisito.
Quem precisa de manual quando podemos ir de NEURAL
Em vez de conjuntos de regras tradicionais que exigem que os analistas identifiquem e adicionem regras manualmente ao longo do tempo, o NGWAF utiliza pipelines de machine learning de ponta a ponta para o mecanismo de deteção, reduzindo significativamente a complexidade da gestão de regras do WAF, especialmente para detetar payloads complexos.
Para tal, precisámos primeiro de criar um modelo de base e uma arquitetura com os quais os utilizadores possam começar, antes de usarem posteriormente dados recolhidos das suas próprias aplicações para retreinamento e ajuste fino:
A arquitetura geral do modelo de base é uma RNN simples com um módulo LSTM bidirecional como abaixo:
Imagem retirada do Tensorflow (link)
Ao utilizar esta arquitetura RNN, conseguimos obter melhorias de desempenho em relação a modelos mais simples:
| Arquitetura do modelo | Precisão | Pontuação F1 |
|---|---|---|
| Nosso modelo final | 0.995 | 0.993 |
| Rede neural sem módulo LSTM | 0.956 | 0.891 |
| Árvore de Decisão | 0.878 | 0.840 |
| Regressão Logística | 0.946 | 0.914 |