Assine para receber notificações de novos posts:

Como o AI WAF da Cloudflare detectou proativamente a vulnerabilidade crítica de zero-day da Ivanti Connect Secure

2024-01-23

6 min. de leitura
How Cloudflare’s AI WAF proactively detected Ivanti Connect Secure critical zero-day vulnerability

A maioria dos provedores de WAF confia em métodos reativos, respondendo a vulnerabilidades depois de descobertas e exploradas. No entanto, acreditamos em abordar proativamente os possíveis riscos e usar a IA para conseguir isso. Hoje, compartilhamos um exemplo recente de uma vulnerabilidade crítica (CVE-2023-46805 e CVE-2024-21887) e como o Attack score da Cloudflare, alimentado por IA, e as regras de emergência no WAF enfrentaram essa ameaça.

A ameaça: CVE-2023-46805 e CVE-2024-21887

Um desvio de autenticação (CVE-2023-46805) e uma vulnerabilidade de injeção de comando (CVE-2024-21887) que afetam os produtos Ivanti foram divulgados e analisados recentemente pelo AttackerKB. Esta vulnerabilidade representa riscos significativos que podem levar a acesso não autorizado e controle sobre os sistemas afetados. Na seção a seguir, vamos discutir como essa vulnerabilidade pode ser explorada.

Análise técnica

Conforme discutido em AttackerKB, o invasor pode enviar uma solicitação especialmente criada ao sistema de destino usando um comando como este:

Este comando visa um endpoint (/license/keys-status/) que geralmente é protegido por autenticação. No entanto, o invasor pode contornar a autenticação manipulando o URL para incluir /api/v1/totp/user-backup-code/../../license/keys-status/. Essa técnica é conhecida como travessia de diretório.

A parte do comando codificada pelo URL é decodificada para um shell reverso do Python, que se parece com isto:

O shell reverso do Python é uma maneira de o invasor obter controle sobre o sistema de destino.

A vulnerabilidade existe na maneira como o sistema processa o parâmetro node_name.  Se um invasor puder controlar o valor de node_name, ele poderá injetar comandos no sistema.

Explicação sobre "node_name": o parâmetro "node_name" é um componente do endpoint /api/v1/license/keys-status/path:node_name. É nesse endpoint que o problema principalmente ocorre.

O invasor pode enviar uma solicitação GET para o caminho URI /api/v1/totp/user-backup-code/../../license/keys-status/;CMD; onde CMD é qualquer comando que desejam executar. Usando um ponto e vírgula, eles podem especificar esse comando na solicitação. Para garantir que o comando seja processado corretamente pelo sistema, ele deve ser codificado para URL.

Outra vulnerabilidade de injeção de código foi identificada, conforme detalhado no post do blog do AttackerKB. Desta vez, envolve uma injeção de comando autenticada encontrada em uma parte diferente do sistema.

O mesmo conteúdo malicioso de shell reverso do Python usado na primeira injeção de comando pode ser empregado aqui, formando uma estrutura JSON para acionar a vulnerabilidade. Como o conteúdo malicioso está em JSON, ele não precisa ser codificado para URL:

Embora o endpoint /api/v1/system/maintenance/archiving/cloud-server-test-connection exija autenticação, um invasor pode contornar isso encadeando-o com a vulnerabilidade de passagem de diretório mencionada anteriormente. Ele pode construir um caminho URI não autenticado /api/v1/totp/user-backup-code/../../system/maintenance/archiving/cloud-server-test-connection para alcançar esse endpoint e explorar a vulnerabilidade.

Para executar um comando do sistema operacional não autenticado, um invasor usaria uma solicitação curl como esta:

A defesa proativa da Cloudflare

O WAF da Cloudflare é suportado por uma camada adicional alimentada por IA chamada WAF Attack Score, que foi criada com o objetivo de detectar desvios de ataque antes mesmo de serem anunciados. O Attack Score fornece uma pontuação para indicar se a solicitação é maliciosa ou não; com foco em três categorias principais até agora: XSS, SQLi, e algumas variações de RCE (Injeção de Comando, ApacheLog4J, etc.). A pontuação varia de 1 a 99 e quanto menor a pontuação mais maliciosa é a solicitação. De modo geral, qualquer solicitação com pontuação abaixo de 20 é considerada maliciosa.

Analisar os resultados do exemplo de exploração acima de CVE-2023-46805 e CVE-2024-21887 usando o painel da Cloudflare (Segurança > Eventos). Os resultados da análise do Attack Score consistem em três pontuações individuais, cada uma rotulada para indicar sua relevância para uma categoria de ataque específica. Existe também uma pontuação global, a "WAF Attack Score", que considera o impacto combinado dessas três pontuações. Em alguns casos, a pontuação global é afetada por uma das subpontuações se o ataque corresponde a uma categoria. Aqui podemos ver que a subpontuação dominante é a "WAF RCE Attack Score" de execução remota de código.

Screenshot from Security Events highlighting WAF Attack Score Results showing WAF attack Score of 9
Captura de tela do Security Events, destacando os resultados do WAF Attack Score mostrando o WAF Attack Score de 9

Da mesma forma, para a solicitação de comando do sistema operacional não autenticada, recebemos o "WAF Attack Score: 19" do modelo de IA, que também se enquadra na categoria de solicitação maliciosa. Vale mencionar que as pontuações de exemplo não são números fixos e podem variar com base na variação do ataque de entrada.

A grande notícia aqui é: clientes nos planos Enterprise e Business com WAF Attack Score ativado, juntamente com uma regra para bloquear pontuações baixas (por exemplo, cf.waf.score le 20) ou (cf.waf.score.class eq "attack") para Business, já estavam protegidos contra possíveis explorações de vulnerabilidades que foram testadas até agora, antes mesmo de a vulnerabilidade ser anunciada.

Implantação da regra de emergência

Em resposta a esta vulnerabilidade crítica, a Cloudflare lançou as Regras de emergência em 17de janeiro de2024, 24 horas após a prova de conceito se tornar pública. Essas regras fazem parte das regras gerenciadas do WAF, visando especificamente as ameaças representadas pelo CVE-2023-46805 e uma vulnerabilidade adicional, a CVE-2024-21887, também relacionada aos produtos da Ivanti. As regras, chamadas "Ivanti - Auth Bypass, Command Injection - CVE:CVE-2023-46805, CVE:CVE-2024-21887", foram desenvolvidas para bloquear tentativas de exploração dessas vulnerabilidades, fornecendo uma camada extra de segurança para os usuários da Cloudflare.

Desde que implantamos essas regras, registramos um alto nível de atividade. No momento da redação deste artigo, a regra foi acionada mais de 180 mil vezes.

ID da regra Descrição Ação padrão
Nova regra gerenciada…34ab53c5 Ivanti - Auth Bypass, Command Injection - CVE:CVE-2023-46805, CVE:CVE-2024-21887 Bloquear
Regra gerenciada legada
100622
Ivanti - Auth Bypass, Command Injection - CVE:CVE-2023-46805, CVE:CVE-2024-21887 Bloquear

Implicações e práticas recomendadas

A resposta da Cloudflare a CVE-2023-46805 e CVE-2024-21887 ressalta a importância de ter medidas de segurança robustas em vigor. As organizações que usam os serviços da Cloudflare, particularmente o WAF, são aconselhadas a garantir que seus sistemas estejam atualizados com as regras e configurações mais recentes para manter a proteção ideal. Também recomendamos que os clientes implantem regras usando o Attack Score para melhorar sua postura de segurança. Se você quiser saber mais sobre o Attack Score, entre em contato com a equipe da sua conta.

Conclusão

A abordagem proativa da Cloudflare para a segurança cibernética usando IA para identificar e parar ataques, exemplificada por sua resposta a CVE-2023-46805 e CVE-2024-21887, destaca como ameaças e ataques podem ser identificados antes de serem tornados públicos e as vulnerabilidades divulgadas. Ao monitorar continuamente e responder rapidamente às vulnerabilidades, a Cloudflare garante que seus clientes permaneçam seguros em um cenário digital cada vez mais complexo.

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.
Vulnerabilities (PT)WAF Rules (PT)WAF (PT)WAF Attack Score (PT)Zero Day Threats (PT)AI WAF (PT)Portugues do Brasil

Seguir no X

Himanshu Anand|@anand_himanshu
Radwa Radwan|@RadwaRadwan__
Cloudflare|@cloudflare

Posts relacionados

14 de março de 2024 às 12:30

Mitigar um ataque de canal lateral do comprimento de um token em nossos produtos de IA

A equipe do Workers AI e do AI Gateway recentemente colaborou estreitamente com pesquisadores de segurança da Universidade Ben Gurion em relação a um relatório enviado por meio de nosso programa Public Bug Bounty. Por meio desse processo, descobrimos e corrigimos totalmente uma vulnerabilidade...