DevSecOps

4 nov, 2015

RASP: o futuro da segurança para aplicações?

Publicidade

O runtime application self-protection, que é conhecido como RASP, é uma tecnologia de segurança que vem sendo desenvolvida há algum tempo e sua principal função é atuar de forma inteligente, permitindo que uma aplicação detecte e, em seguida, evite ataques em tempo real.

A ideia do RASP é impedir ataques utilizando um sistema de autoproteção ou que consiga se reconfigurar automaticamente sem que haja intervenção humana em resposta a determinadas condições, como ameaças, exploração de vulnerabilidades etc.

O RASP entra em ação no momento que a aplicação é executada e, com isso, começa um automonitoramento para detectar entradas e comportamentos maliciosos. Esse monitoramento é realizado em tempo real, implementando uma verificação contínua da segurança para o sistema identificar e responder qualquer um dos ataques conhecidos.

Como funciona o RASP

O funcionamento básico do RASP é por meio da incorporação da segurança na aplicação que se encontra em execução no servidor; com isso, ele consegue interceptar todas as chamadas e avaliar se elas são seguras ou não.

O RASP pode ser utilizado tanto em aplicações web como em não web; ele não afeta o design da aplicação, pois os recursos de detecção e proteção são adicionados aos servidores onde ela é executada.

A proteção ocorre quando um determinado evento de segurança acontece, e o RASP entra em ação controlando as entradas da aplicação e tomando as medidas necessárias para proteger em tempo real, bloqueando o ataque ou gerando um alerta para os responsáveis.

Vantagens e desvantagens do RASP

Uma das grandes vantagens dessa tecnologia é que ela irá te fornecer uma visão muito detalhada das ações que a aplicação está realizando, incluindo a parte lógica, configuração e fluxo de dados. Com isso, você irá melhorar a precisão na identificação dos problemas de segurança que sua aplicação pode apresentar, além de poder atender a algumas regulamentações de segurança.

Já a desvantagem é que cada aplicação precisa ser protegida individualmente, e também é necessário verificar o impacto na performance – como a aplicação irá criar um sistema de autoproteção, existe uma possibilidade de uma perda no desempenho ser sentida pelo usuário final. Nesse caso, a melhor opção é sempre testar e verificar possíveis alternativas.

RASP vs WAF

Uma das perguntas que normalmente se faz é: qual a diferença do RASP para o WAF? O RASP é instalado no servidor onde a aplicação está instalada e vai monitorar as bibliotecas de entrada e saída de dados diretamente no fluxo da aplicação. Já o WAF normalmente é uma solução SaaS (Software-as-a-Service) em cloud e trabalha com assinaturas de ataques conhecidos.

Atualmente algumas soluções de mercado oferecem o RASP para as plataformas Java e .NET; já o WAF pode proteger qualquer tipo de linguagem web, porém o WAF protege apenas aplicações web, enquanto que o RASP pode proteger todos os tipos de aplicações.

Se você já adota técnicas de DevOps e SecDevOps, acredito que vale a pena conhecer esse tipo de solução, pois irá ajudar os programadores a identificar as vulnerabilidades de forma mais eficiente e implementar correções na mesma velocidade em que os deploys são realizados.

O melhor de tudo é que, além de identificar essas falhas, os ataques são bloqueados em tempo real.

O RASP não é uma solução definitiva para bloquear todos os tipos de ataques e vulnerabilidades que podem existir em sua aplicação, e pode ser um ponto de atenção em relação ao desempenho, mas a melhor opção é você avaliar e testar, e sempre utilizá-lo em conjunto com outras soluções, como um WAF.