WAFs populares subvertidos por JSON Bypass

Views: 182
0 0
Read Time:3 Minute, 54 Second

Os firewalls de aplicativos da Web (WAFs) dos cinco principais fornecedores são vulneráveis ​​a solicitações maliciosas que usam o popular JavaScript Object Notation (JSON) para ofuscar comandos de banco de dados e escapar da detecção.

Isso é de acordo com a empresa de segurança de aplicativos Claroty, cujos pesquisadores descobriram que os WAFs produzidos pela Amazon Web Services, Cloudflare, F5, Imperva e Palo Alto não conseguem identificar comandos SQL maliciosos codificados no formato JSON, permitindo o encaminhamento de solicitações maliciosas ao banco de dados de back-end. A pesquisa revelou uma incompatibilidade fundamental: os principais bancos de dados SQL entendem os comandos escritos em JSON, enquanto os WAFs não.

A técnica permite que invasores acessem e, em alguns casos, alterem dados, além de comprometer o aplicativo, diz Noam Moshe, pesquisador de segurança da equipe de pesquisa Team82 da Claroty.

“Ao ignorar a proteção do WAF, os invasores podem explorar outras vulnerabilidades em aplicativos da Web e potencialmente assumir o controle desses aplicativos”, disse ele ao Dark Reading. “Isso é ainda mais relevante em aplicativos hospedados na nuvem, onde muitos WAFs são implantados por padrão.”

Os firewalls de aplicativos da Web são uma camada crítica para proteger contra ataques de aplicativos e geralmente são usados ​​para dar aos desenvolvedores um pouco mais de espaço para respirar contra tipos nefastos que tentam explorar erros de codificação. Embora sejam muitas vezes usados ​​como muleta de segurança por muitas empresas , os WAFs estão longe de ser perfeitos e pesquisadores e invasores encontraram muitas maneiras de contorná-los. 

Em uma pesquisa de 2020, por exemplo, quatro em cada 10 profissionais de segurança afirmaram que pelo menos metade dos ataques a aplicativos contornaram o WAF. Em uma pesquisa mais recente divulgada em maio, uma equipe de pesquisadores acadêmicos da Universidade de Zhejiang, na China, usou vários métodos para ofuscar ataques de injeção em bancos de dados , descobrindo que — entre outras técnicas — o JSON poderia ajudar a ocultar os ataques de WAFs baseados em nuvem.

“As assinaturas de detecção não eram robustas devido a várias vulnerabilidades”, disseram os pesquisadores na época. “Apenas adicionar comentários ou espaços em branco pode ignorar alguns WAFs, mas a mutação mais eficaz depende de WAFs específicos.”

WAFs não “obtêm” JSON

A primeira suspeita dos pesquisadores sobre um possível ataque veio de experimentos não relacionados que sondavam a plataforma de gerenciamento de dispositivos sem fio da Cambium Networks. Os desenvolvedores dessa plataforma anexaram dados fornecidos pelo usuário diretamente ao final de uma consulta, uma técnica que convenceu a Claroty a investigar um aplicativo mais geral.

No final, os pesquisadores descobriram que poderiam anexar consultas JSON legítimas ao código SQL benigno, permitindo que eles contornassem a capacidade dos WAFs de detectar ataques de injeção e dando aos invasores a capacidade de obter acesso direto aos bancos de dados de back-end, mostrou a pesquisa da Claroty .

A técnica funcionou contra a maioria dos principais bancos de dados relacionais, incluindo PostgreSQL, MSSQL da Microsoft, MySQL e SQLite. Embora a empresa tivesse que superar três limitações técnicas – como inicialmente apenas ser capaz de recuperar números e não sequências de caracteres – os pesquisadores acabaram criando um desvio de uso geral para os principais firewalls de aplicativos da Web.

“Depois de contornarmos todas as três limitações, ficamos com uma grande carga útil que nos permite extrair quaisquer dados que escolhermos”, escreveram os pesquisadores no comunicado da Claroty. “E, de fato, quando usamos essa carga útil, conseguimos exfiltrar informações confidenciais armazenadas no banco de dados, desde cookies de sessão a tokens, chaves SSH e senhas com hash”.

Ofuscar para escapar

A ofuscação de código malicioso para contornar as medidas de segurança anti-injeção tem uma longa história. Em 2013, por exemplo, os invasores começaram a explorar uma vulnerabilidade na estrutura Ruby on Rails que permitia que o código JSON fosse usado para ignorar a autenticação e injetar comandos SQL em um aplicativo da web.

As empresas devem atualizar suas soluções WAFs para obter a vantagem das correções mais recentes, diz Moshe. O pesquisador de segurança também enfatizou que as empresas devem ter segurança extra para detectar futuras técnicas de desvio.

“É importante não usar uma solução WAF como sua única linha de defesa”, diz ele. “Em vez disso, é recomendável proteger seus aplicativos usando muitos mecanismos de segurança, como limitar o acesso ao seu aplicativo [e] habilitar recursos de segurança”.

Os pesquisadores notificaram todos os cinco fornecedores dos WAFs vulneráveis, cada um dos quais confirmou o problema e, desde então, adicionou suporte à sintaxe JSON a seus produtos, afirmou a Claroty em seu comunicado.

FONTE: DARK READING

POSTS RELACIONADOS