A melhor solução para proteger aplicações web

Aplicações web são programas armazenados em um servidor remoto, entregues via internet para um cliente através de uma interface em um navegador.

Há desafios em proteger aplicações. E o histórico tecnológico explica o motivo.

No começo da internet, os sites eram estáticos. Basicamente, o que se tinha era um navegador que lia um html e montava a página para os usuários navegarem. Nesse começo, a interação do usuário com o site era mínima, e bastante limitada. E a segurança se resumia a um firewall de camada 3 ou 4, que protegia o servidor web de acesso a outras portas além da 80/443 (onde o acesso http ocorre por padrão).

Por isso é que, nessa época, a maioria dos ataques era voltada para a explorar vulnerabilidades nos componentes do serviço que era executado no servidor web, e não no código do site propriamente dito.

Na década de 1990, isso começou a mudar, com os servidores web aceitando scripts no lado do servidor. A interação do usuário com o site começou a existir, o que permitiu o surgimento das primeiras aplicações, como e-commerce, webmail, blogs, fóruns.

E aqui está o primeiro ponto de atenção. O site estático, as primeiras aplicações super simples, e as aplicações de hoje super complexas, que executam PYTHON, JAVA, HTML5, PHP, ASP, RUBY, dependem do mesmo protocolo para funcionar: o bom e velho http.

O problema é que o http não foi criado com a ideia de ser um protocolo para suportar toda essa complexidade. O que faz com que a fundação, o alicerce das aplicações web de hoje, seja a mesma de 30 anos atrás.

Aplicações web são ferramentas imprescindíveis para os negócios

Dados e informação são o novo dinheiro. O que tornou aplicações web alvos preferenciais de hackers. Elas são facilmente acessíveis via internet ao mesmo tempo em conectam usuários aos bancos de dados corporativos. Então, o que separa o usuário, seja ele legítimo ou malicioso, do acesso irrestrito às informações da empresa é a aplicação web.

Portanto, não é exagerado dizer que sempre haverá alguém tentando atacar uma aplicação. E como hoje os sistemas operacionais possuem políticas de atualização constante, é mais fácil encontrar uma porta aberta na aplicação do que na infraestrutura.

Nesse contexto, o que protege melhor a aplicação?

Se formos olhar para o modelo OSI, podemos dizer que o firewall tradicional não é uma opção. Ele trabalha normalmente vendo apenas as informações da rede, portanto, não faz a menor ideia do que está acontecendo na aplicação já que as decisões dele são baseadas em porta, protocolo e endereço IP.

Um next generation firewall é suficiente? Certamente são melhores do que os tradicionais, por adicionarem mais contexto nas decisões e terem capacidades como IPS, filtro web, antivírus e antimalware, o que simplifica e melhora a gestão de segurança. Mas ainda têm o foco principal abaixo da camada 7. Muitos ataques vão passar pelo NGFW sem dificuldades.

Então, quem sobra?

WAF

O WAF – Web Application Firewall – vai proteger aplicações web contra ataques não volumétricos, tanto na camada de aplicação quanto na camada de rede.

Por isso quando falamos em proteção de aplicações, a melhor solução é sempre um WAF, porque ele é feito para proteger especificamente essa parte do tráfego que chega para aplicações web. Tanto que o WAF não substitui o firewall de perímetro. Uma empresa vai continuar precisando de um na sua rede.

O WAF irá compensar, por exemplo, desenvolvimentos inseguros da aplicação. Digamos que a empresa tenha 100 aplicações legadas, desenvolvidas quando ainda não existia uma preocupação tão forte com segurança. Será muito mais fácil, eficiente e barato proteger essas aplicações de uma só vez com um WAF do que tentar recodificá-las com segurança.

O WAF vai conseguir aplicar um “patch” virtual nessas aplicações. E por conseguir corrigir a aplicação virtualmente, também é uma ferramenta excelente para proteção contra ameaças do tipo zero day.

Principais vulnerabilidades

Ataques de injeção, como SQL injection, URL injection, LDAP injection, que são comuns e exploram falhas na validação de dados que o usuário consegue inserir na aplicação. O atacante tenta fazer a aplicação executar comandos ou consultas não autorizadas. Um WAF conseguiria identificar o ataque e bloquear somente os pacotes maliciosos, sem afetar usuários legítimos que estejam usando a aplicação ao mesmo tempo.

Exposição de dados sensíveis, que ocorre quando informações sabidamente confidenciais estão sendo enviadas pela aplicação para o usuário. O WAF pode detectar e bloquear a transmissão das informações em tempo real.

Cross site scripting. Dois terços de todas as aplicações têm essa vulnerabilidade em algum ponto de seu código. A aplicação usa um pedaço de código inseguro que um atacante desenvolve. Muito comum em ataques de pishing com objetivo de roubar credenciais de acesso, por exemplo.

Uso de componentes vulneráveis. Hoje os desenvolvedores usam nas aplicações vários componentes desenvolvidos por terceiros e não fazem a menor ideia do código que está sendo executado por trás.

Um WAF vai conseguir corrigir o código da aplicação “on the fly”. Pode embutir um CAPTCHA na aplicação dinamicamente. Ou seja, em vez de refazer aplicação por aplicação para inserir um CAPTCHA em formulários de entrada de dados, seu waf pode fazer isso para você com um clique de mouse.

Ou, ainda, o WAF consegue determinar se o usuário que está acessando a aplicação é um robô, e tomar ações como bloquear o acesso. Também trabalha com threat intelligence. Um ataque feito do outro lado do mundo que vai para um banco de inteligência de ameaças pode ser bloqueado na empresa sem que o WAF nunca tenha visto aquele ataque antes, sem a necessidade de configurações prévias.

Falsos positivos

Muitas pessoas podem pensar que uma ferramenta assim vai gerar uma grande quantidade de falso positivos. Na verdade, é o contrário: a quantidade de falsos positivos é muito pequena. E ainda existe a possibilidade de ativar em modo de aprendizado, para o WAF entenda como a aplicação daquele negócio funciona antes de iniciar o bloqueio de tráfego fora do funcionamento normal e legitimo da aplicação.

Se você precisa de mais informações, procure-nos. Queremos ajudar a proteger o seu negócio.

Por Leonardo Camata