Detectar e responder a ataques: AppSensor

O projeto OWASP AppSensor é uma iniciativa colaborativa que fornece materiais de código aberto e código para organizações para ajudá-las a desenvolver suas próprias implementações de monitoramento e resposta a ataques.

Apesar da enorme importância desses sistemas, a situação atual é que as medidas de defesa são integradas em apenas algumas aplicações. Todos os dias, ataques são lançados para inspecionar aplicativos e procurar vulnerabilidades. Os invasores às vezes usam scanners de vulnerabilidade automatizados, como o OWASP ZAP, que testam um aplicativo em busca de padrões de vulnerabilidade conhecidos. Infelizmente, ainda é uma triste realidade que quase todos os aplicativos são completamente cegos para esses ataques.

O projeto OWASP AppSensor reclama que as empresas muitas vezes depositam falsa confiança em mecanismos de defesa antiquados, como sistemas baseados em assinatura, que muitas vezes podem ser trivialmente ignorados. É tarde demais para monitorar os logs depois que um ataque foi realizado. Portanto, é necessária uma melhor defesa nesse ponto, que também entenda o caráter individual do pedido. Isso significa entender como a lógica de negócios funciona, como o controle de acesso é imposto e todos os outros aspectos exclusivos do aplicativo são considerados.

O OWASP escreve ainda que não apenas técnicas de ataque genéricas, mas também ataques individuais devem ser detectados. Em conclusão, esses são ataques direcionados ao design e à arquitetura específicos do aplicativo.

No entanto, a detecção avançada por si só não é suficiente. Um passo à frente é um sistema de defesa que pode identificar um invasor mal-intencionado antes que ele encontre e explore uma vulnerabilidade. Essa abordagem requer a capacidade de detectar o invasor enquanto ele procura vulnerabilidades em todo o aplicativo. A resposta deve ser rápida e totalmente automatizada para eliminar a ameaça do invasor. A análise humana reativa é muito lenta para isso. No momento em que um invasor é detectado, ele pode ter roubado dados críticos e comprometido o sistema.

“O futuro da defesa de aplicativos é um sistema que pode entender ataques personalizados contra um aplicativo, correlacioná-los contra um invasor mal-intencionado e reagir em tempo real para conter e eliminar a ameaça. Essa defesa é o OWASP AppSensor.”
Guia do AppSensor, maio de 2014

Logotipo do folheto informativo AppSensor CISO.

Em 2020, 25% de todas as aplicações web poderiam ter implementado esse sistema de defesa. Pelo menos o projeto OWASP AppSensor prevê isso em seu folheto publicitário. Um objetivo que, no momento atual, parece improvável de ser alcançado.

A situação atual permite que os invasores pesquisem vulnerabilidades não detectadas em muitos aplicativos. Se os dados forem comprometidos com sucesso depois, os invasores geralmente têm muito tempo para cobrir seus rastros até que uma invasão seja detectada e o processo possa começar. No passado, casos também mostraram que os registros já foram excluídos nesse meio tempo (consulte “Erro de API do Google+ 2018”). Portanto, um aplicativo que possa se proteger e reagir a ataques é uma ferramenta necessária em ambientes profissionais.

Esse mecanismo de defesa é chamado de autoproteção de aplicativo de tempo de execução (RASP). O RASP é um software de segurança integrado ao aplicativo ou vinculado ao ambiente. Dessa forma, os ataques no nível do aplicativo podem ser detectados e bloqueados diretamente. Como o RASP é executado no nível do aplicativo, o AppSensor, por exemplo, tem informações sobre os processos dentro do aplicativo. O comportamento da aplicação pode ser analisado com precisão. Isso possibilita a reação em tempo real. Isso distingue o RASP das tecnologias baseadas em perímetro, como o WAF (Web Application Firewalls).

Um sistema de prevenção de intrusão (IPS), como um firewall de aplicativo Web, detecta ataques genéricos que podem ocorrer em qualquer aplicativo. No entanto, o objetivo do RASP é detectar ataques direcionados a um aplicativo a tempo. Se um usuário não enviar um valor de lista predefinido como pretendido no cliente, mas o ID de um modelo inválido (“Adulteração de solicitação”), um sistema de defesa integrado ao aplicativo nesse local reconheceria essa tentativa de ataque. Um WAF seria completamente cego para este evento. A abordagem integrada do aplicativo permite a detecção específica do aplicativo e permite que ações e acessos sejam atribuídos a um visitante específico e autenticado.

O esforço de integração de um RASP é bastante alto em comparação com um IPS, pois geralmente adaptações precisam ser feitas no código-fonte da aplicação. Em pontos críticos, como autenticação, são anexados sensores que enviam eventos para o sistema RASP durante a tentativa de login. Especificamente, a API do sistema RASP é chamada e as informações sobre o contexto do evento são passadas. O sistema RASP usa então regras e políticas para decidir por si mesmo se medidas defensivas precisam ser iniciadas ou o que precisa ser feito. Além de integrar os sensores na aplicação web, manter as políticas no RASP é, portanto, um esforço considerável que deve ser feito ao instalar tal sistema. Alternativamente ao uso da API RASP também a programação orientada a aspectos (AOP) pode ser usada, a fim de se comunicar com o AppSensor que um ataque pode ocorrer.

Para a visualização e notificação dos eventos, que são supervisionados por isso, um painel pode ser usado como aplicativo cliente, acumulando todos os eventos recebidos, bem como as medidas de defesa, como por exemplo, o bloqueio de contas de usuário ou o bloqueio de um endereço IP. Tais medidas também devem, naturalmente, ser implementadas, de forma otimizada, em um aplicativo separado que corre separadamente do aplicativo a ser defendido.

Conclusão

Investir na integração de um RASP não apenas cria a visibilidade tão necessária no tráfego de aplicativos Web, mas também pode mostrar ataques em tempo real e iniciar defesas apropriadas.

Uma desvantagem que um WAF tem é que ele está localizado na frente do aplicativo Web real e não dentro dele. Se um hacker for capaz de ignorar os filtros de entrada do WAF, há o risco de que o aplicativo seja hackeado. Na maioria dos casos, o WAF é a única linha de defesa para proteger um aplicativo. Um RASP, por outro lado, monitora constantemente o aplicativo e pode ser configurado para avisar contra um ataque ou até mesmo bloquear a ameaça em tempo real. É necessário estar um passo à frente das ameaças em evolução. A melhor maneira de se manter à frente é monitorar essas ameaças potenciais em tempo real e bloqueá-las imediatamente, o que é possível com a solução de arquitetura de um RASP.

Leitura adicional sobre o OWASP AppSensor:

Muito obrigado por suas críticas e sugestões a Bernhard Hirschmann.


Autor: Javan Rasokat

Artigo Original