Assine para receber notificações de novos posts:

Pare os ataques antes que eles fiquem conhecidos: como tornar o Cloudflare WAF mais inteligente

09/12/2022

7 min. de leitura
Stop attacks before they are known: making the Cloudflare WAF smarter

O Cloudflare WAF ajuda os proprietários de sites a manter seus aplicativos protegidos contra invasores. Ele faz isso analisando o tráfego com as regras gerenciadas da Cloudflare: regras escritas à mão altamente especializadas que detectam e interrompem cargas maliciosas. Mas há um problema: se uma regra não for escrita para um ataque específico, ela não o detectará.

Hoje, resolvemos esse problema tornando nosso WAF mais inteligente e anunciamos nosso sistema de pontuação de ataques WAF em disponibilidade geral.

Os clientes em nossos pacotes Enterprise Core e Advanced Security terão acesso gradual a esse novo recurso. Todos os outros clientes Enterprise terão acesso nos próximos meses.

Nosso sistema de pontuação de ataques WAF, totalmente compatível com as regras gerenciadas da Cloudflare, classifica todas as solicitações usando um modelo treinado em verdadeiros positivos observados em toda a rede da Cloudflare, permitindo que você detecte (e bloqueie) evasão, desvio e novas técnicas de ataque antes que sejam conhecidas publicamente.

O problema com WAFs baseados em assinatura

Os invasores que tentam se infiltrar em aplicativos web geralmente usam cargas conhecidas ou divulgadas recentemente. O Cloudflare WAF foi desenvolvido para lidar muito bem com esses ataques. O conjunto de regras gerenciadas da Cloudflare e o conjunto de regras gerenciadas do OWASP da Cloudflare são, de fato, continuamente atualizados e visam proteger aplicativos web contra ameaças conhecidas, minimizando falsos positivos.

As coisas ficam mais difíceis com ataques não conhecidos publicamente, geralmente chamados de ataques de dia zero. Enquanto nossas equipes fazem o possível para pesquisar novos vetores de ameaças e manter as regras gerenciadas da Cloudflare atualizadas, a velocidade humana se torna um fator limitante. Sempre que um novo vetor é encontrado, uma janela de oportunidade fica disponível para os invasores escaparem das mitigações.

Um exemplo bem conhecido foi o ataque Log4j RCE, no qual tivemos que implantar atualizações de regras frequentes à medida que novos desvios eram descobertos, alterando os padrões de ataque conhecidos.

A solução: complementar as assinaturas com um modelo de pontuação de aprendizado de máquina

Nosso sistema de pontuação de ataques WAF é um aprimoramento baseado em aprendizado de máquina para o Cloudflare WAF. Ele pontua cada solicitação com a probabilidade de ser maliciosa. Você pode usar essa pontuação ao implementar as regras personalizadas do WAF para manter seu aplicativo seguro junto com as regras gerenciadas da Cloudflare existentes.

Como usamos o aprendizado de máquina no Cloudflare WAF?

Em qualquer problema de classificação, a qualidade do conjunto de treinamento está diretamente relacionada à qualidade da saída da classificação; portanto, muito esforço foi colocado na preparação dos dados de treinamento.

E foi aqui que usamos um superpoder da Cloudflare: aproveitamos a visibilidade da rede da Cloudflare reunindo milhões de amostras verdadeiramente positivas geradas por nosso WAF baseado em assinatura existente e o aprimoramos ainda mais usando técnicas abordadas em “Improving the accuracy of our machine learning WAF” .

Isso nos permitiu treinar um modelo capaz de classificar, uma determinada solicitação HTTP, com a probabilidade de que ela contenha uma carga maliciosa, mas, mais importante, classificar quando uma solicitação é muito semelhante a um verdadeiro positivo conhecido, mas suficientemente diferente para evitar uma correspondência de regra gerenciada.

O modelo é executado em linha com o tráfego HTTP e, a partir de hoje, está otimizado para três categorias de ataque: Injeção de SQL (SQLi), Cross Site Scripting (XSS) e uma ampla variedade de ataques de Execução Remota de Código (RCE), como injeção de shell, injeção PHP, comprometimentos do tipo Apache Struts, Apache log4j e ataques semelhantes que resultam em RCE. Planejamos adicionar outros tipos de ataque no futuro.

As pontuações de saída são semelhantes às pontuações do Gerenciamento de bots; elas variam entre 1 e 99, onde pontuações baixas indicam malicioso ou provavelmente malicioso e pontuações altas indicam solicitação HTTP limpa ou provavelmente limpa.

Scale showing distribution of the WAF Attack Score between 1 and 99

Provando o valor imediato

Como exemplo da eficácia deste novo sistema, em 13 de outubro de 2022, o CVE-2022-42889 foi identificado como uma “gravidade crítica” no Apache Commons Text afetando as versões 1.5 a 1.9.

A carga usada no ataque, embora não tenha sido imediatamente bloqueada pelas regras gerenciadas da Cloudflare, foi identificada corretamente (por pontuação muito baixa) por nosso sistema de pontuação de ataques. Isso nos permitiu proteger os endpoints, identificar o ataque e implantar em tempo zero. Claro, também atualizamos as regras gerenciadas da Cloudflare para cobrir o novo vetor de ataque, pois isso nos permite melhorar nossos dados de treinamento completando ainda mais nosso ciclo de feedback.

Saiba o que você não sabe com o novo Security Analytics

Além do sistema de pontuação de ataques, temos outro grande anúncio: nosso novo Security Analytics. Você pode ler mais sobre ele no comunicado oficial.

Usando o Security Analytics, você pode visualizar a distribuição da pontuação do ataque, independentemente de as solicitações terem sido bloqueadas ou não, permitindo que você explore ataques possivelmente maliciosos antes de implantar quaisquer regras.

A exibição não mostra apenas o WAF Attack Score, mas também o Gerenciamento de bots e o Content Scanning com a capacidade de misturar e combinar filtros conforme desejado.

Snapshot from the dashboard showing the Analytics default view

Como usar o WAF Attack Score e o Security Analytics

Vamos fazer um tour para detectar ataques usando o novo Security Analytics e, em seguida, usar o WAF Attack Score para mitigá-los.

Vamos começar com o Security Analytics

Essa nova visualização tem o poder de mostrar tudo sobre o seu tráfego em um só lugar. Você tem dezenas de filtros para misturar e combinar, principais estatísticas, várias distribuições de gráficos interativos, bem como amostras de logs para verificar seus insights. Em essência, isso oferece a capacidade de visualizar vários filtros sem a necessidade de criar regras personalizadas de WAF em primeiro lugar.

Etapa 1 – acessar o novo Security Analytics: para acessar o novo Security Analytics no painel, vá até a guia “Segurança” (Segurança > Analytics), a guia anterior (Segurança > Visão geral) ainda existe em (Segurança > Eventos). Você deve ter acesso, pelo menos, ao WAF Attack Score para poder visualizar o novo Security Analytics por enquanto.

Etapa 2 – explorar insights: na nova página do Analytics, você verá a distribuição de tempo de todo o tráfego, juntamente com muitos filtros no lado direito, mostrando distribuições para vários recursos, incluindo o WAF Attack Score e a pontuação do Gerenciamento de bots, para que fique super fácil aplicar filtros interessantes, adicionamos a seção “Insights”.

Graph displayed in the dashboard showing HTTP requests distribution

Ao escolher a opção “Attack Analysis”, você tem uma visão geral do gráfico de barras de como seu tráfego fica na perspectiva do WAF Attack Score.

Snapshot from the dashboard showing Attack analysis stacked chart distribution

Etapa 3 – filtrar o tráfego de ataque: um bom lugar para começar é procurar por solicitações HTTP não mitigadas, classificadas como ataques. Você pode fazer isso usando os controles deslizantes de pontuação de ataques no lado direito ou selecionando qualquer um dos filtros de insights com atalhos de um clique fáceis de usar. Todos os gráficos serão atualizados automaticamente de acordo com os filtros selecionados.

Snapshot shows insights usage to propagate multiple filters at once

Etapa 4 – verificar o tráfego de ataque: isso pode ser feito expandindo os logs de amostra abaixo do gráfico de distribuição de tráfego, por exemplo, no log expandido abaixo, você pode ver uma pontuação RCE muito baixa indicando um "Ataque", juntamente com a pontuação do Bot indicando que a solicitação era “Likely Automated” (provavelmente automatizada). Observando o campo “Path” (caminho), podemos confirmar que realmente se trata de uma solicitação maliciosa. Observe que nem todos os campos estão registrados/mostrados no momento. Por exemplo, uma solicitação pode receber uma pontuação baixa devido a uma carga maliciosa no corpo do HTTP que não pode ser facilmente verificada nas amostra de logs hoje.

Expanded log of an attack from the new analytics view

Etapa 5 – criar uma regra para mitigar o tráfego de ataque: depois de verificar que seu filtro não está correspondendo a falsos positivos, com um único clique no botão “Criar regra personalizada”, você será direcionado ao construtor de regras personalizadas do WAF com todos os seus filtros pré-preenchidos e prontos para “Implantar”.

Pontuações de ataque em logs de eventos de segurança

As pontuações de ataque WAF também estão disponíveis em logs de HTTP e navegando para (Segurança > Eventos) ao expandir qualquer uma das amostras de logs de eventos:

Expanded log in the security events tab highlighting WAF attack scores

Observe que todos os novos campos estão disponíveis em regras personalizadas do WAF e regras de Rate Limiting do WAF. Eles estão documentados em nossa documentação para desenvolvedores: cf.waf.score, cf.waf.score.xss, cf.waf.score.sqli e cf.waf.score.rce.

Embora a maneira mais fácil de usar esses campos seja iniciar no novo painel do Security Analytics, conforme descrito acima, você pode usá-los como estão ao criar regras e, claro, combinar com qualquer outro campo disponível. O exemplo a seguir implanta uma regra de ação "Log" para qualquer solicitação com WAF Attack Score agregado (cf.waf.score) inferior a 40.

Dashboard view of a custom rule with action log for WAF Attack Score less than 40

O que vem a seguir?

Este é apenas o primeiro passo de muitos para tornar nosso Cloudflare WAF verdadeiramente “inteligente”. Além de lançar essa nova tecnologia para mais clientes, já estamos trabalhando para fornecer visibilidade ainda melhor e cobrir vetores de ataque adicionais. Por tudo isso e muito mais, fique ligado.

Protegemos redes corporativas inteiras, ajudamos os clientes a criarem aplicativos em escala de internet com eficiência, aceleramos qualquer site ou aplicativo de internet, evitamos os ataques de DDoS, mantemos os invasores afastados e podemos ajudar você em sua jornada rumo ao Zero Trust.

Acesse 1.1.1.1 a partir de qualquer dispositivo para começar a usar nosso aplicativo gratuito que torna sua internet mais rápida e mais segura.

Para saber mais sobre nossa missão de construir uma internet melhor, comece aqui. Se estiver procurando uma nova carreira para trilhar, confira nossas vagas disponíveis.
WAF (PT)WAF Attack Score (PT)Machine Learning (PT)Português

Seguir no X

Radwa Radwan|@RadwaRadwan__
Cloudflare|@cloudflare

Posts relacionados