DevSecOps

6 jul, 2016

Backdoors enviados através de aplicação web

Publicidade

Um dos problemas mais enfrentados pela comunidade de segurança, a nível global, está relacionado às tentativas de invasão direta a um site. Durante essas tentativas de invadir um site, servidor ou aplicação online, pessoas mal-intencionadas costumam realizar diferentes testes para encontrar vulnerabilidades ou portas abertas.

O objetivo? Identificar formas de fazer uma invasão, de preferência sem ser notado. Os motivos para esse tipo de ataque podem variar, mas estão sempre relacionados ao acesso a banco de dados que concentram informações sensíveis de clientes ou relacionadas ao negócio da empresa invadida. Esses ataques são muito comuns em sites de e-commerce e empresas que concentram informações como e-mail, senhas e dados bancários.

As formas de se fazer esse tipo de invasão variam, alguns preferem a utilização de softwares, já outros optam por fazer o trabalho “manual”, explorando todas as possibilidades com testes que indicarão como pode ser feita a invasão. Mas, independentemente do objetivo, esses dados terão algum valor ao atacante – comercial ou status.

Esse processo (de invasão), na maioria dos casos, não é dos mais simples: na realidade, pode demorar algum tempo até que se encontre “a mina do ouro”. E como os atacantes costumam ser precavidos, eles encontram formas de manter o acesso sem ter que realizar todos os processos até que as vulnerabilidades sejam encontradas. Quer dizer, de maneira remota, eles continuam tendo acesso àquele “caminho” encontrado.

Como isso é feito? Por meio do que é chamado de backdoors. Essa técnica consiste em deixar o canal da invasão aberto, e geralmente é feita com a utilização de códigos de programação como o PHP, Javascript ou outros mais comuns. Geralmente, esse tipo de invasão se dá por meio de plataformas de e-commerce ou outros canais que permitem subir fotos e diferentes tipos de arquivos como Jpeg, PNG, Doc, entre outros.

O problema está justamente na permissão de alguns desses arquivos. Quando não existe um controle sobre quais tipos deles podem ser indexados, qualquer arquivo com códigos maliciosos será aceito. Assim, alguns comandos feitos em PHP ou Javascript propiciam a criação do backdoor por conta dessa brecha.

Essa ação tem impacto direto no site, já que irá criar um canal permanente de acesso ao atacante que, de forma remota, poderá fazer o mesmo caminho todas as vezes que desejar invadir a aplicação. Como os ataques costumam ser multi vetoriais, o que significa que partem de várias frentes, é comum que eles deixem alguns backdoors, ou seja, várias portas abertas.

A forma de prevenção ao backdoor? Pentest, WAF e backup

Os scans tradicionais, automatizados, podem não captar esse tipo de falha na aplicação, muito por conta da forma como elas são criadas – cheias de detalhes e bem “camufladas”. A maneira de se prevenir desse tipo de ataque no site é com a realização de teste de penetração manual, o chamado pentest.

Com essa técnica, o profissional de segurança irá procurar em todas as partes do site por vulnerabilidades ou ações suspeitas, dentre elas, as possíveis formas de implementar uma  backdoor. Com as brechas identificadas e corrigidas, não significa que o site estará completamente livre destes ataques. Como já dissemos, as chances de existirem outras portas abertas que não foram identificadas são reais. Na maioria dos casos, a recomendação é que se faça o backup dos arquivos e inicie o sistema por meio das recomendações do fornecedor. Além disso, algumas soluções de WAF podem ser eficazes no bloqueio das backdoors.

Fique atento também aos backdoors oriundos de hardware

Já existem formas de se livrar dessa vulnerabilidade em sites ou aplicações, mas é preciso se preparar, pois especialistas já tem falado sobre a presença de backdoors não só em softwares, mas também em hardwares.

Pesquisadores da Universidade de Michigan já estão preocupados com isso e, para demonstrar as chances desse risco nos hardwares, eles desenvolveram um chip que já vem com backdoors, e que são ativados por uma série de comandos do usuário.