8 técnicas para bloquear ataques SQL

Aplicativos web recebem 71 tentativas desse tipo de taque por hora, mas isso pode chegar a 1,3 mil. Considere os conselhos de segurança para impedir ataques SQL

Em médias, aplicativos web recebem 71 tentativas de ataque por injeção de comandos SQL por hora. Mas durante picos de ataque, esse volume pode atingir 1,3 mil por hora. Essa descoberta veio da fornecedora de segurança Imperva, que divulgou uma nova pesquisa sobre ataques SQL. Para tal estudo, a companhia monitorou 30 aplicativos web diferentes – todos reais, de diferentes tamanhos e utilizados por diferentes indústrias – durante nove meses. Nesse período, a empresa viu o número de ataques diários aumentar, em média, 34%.

Os ataques contra aplicativos web, infelizmente, já são muitos eficientes. Desde 2005, eles resultaram em 83% das brechas bem sucedidas relacionadas à hacking, de acordo com a Privacy Rights Clearinghouse. O motivo é simples: a maioria dos aplicativos web tem vulnerabilidades que podem ser facilmente exploradas por quem comanda os ataques.

A disponibilidade de ferramentas automáticas para testes de penetração facilita o trabalho. Só em injeção de SQL, por exemplo, o código aberto Sqlmap pode lançar cinco tipos diferentes de ataques. Popular também – e usada por LulzSec, entre outros – é o Havij, uma ferramenta automática de SQL para Windows, distribuída pela empresa de segurança iraniana ITSecTeam. As duas ferramentas podem identificar (pela digital) bancos de dados individuais, restaurar senhas e nomes de usuário, eliminar colunas e tabelas, rodar SQL e, às vezes, até executar comandos por meio do sistema operacional do servidor de banco de dados.

Com tais ferramentas em circulação, e grandes vulnerabilidades em aplicativos web, o que empresas podem fazer para se protegerem? Quando se trata de impedir ataques SQL, comece com esses conselhos:

1. Lista negra de hosts maliciosos.

Quase um quarto dos ataques SQL registrados pela Imperva, em julho de 2011, vieram de três hosts. Além disso, metade dos dez principais hosts que lançaram ataque SQL geraram até duas mil ameaças em um período entre um e sete dias, e mais de 30 hosts geraram, ao menos, 100 ataques num período de 48 horas. Tudo isso significa que os hosts mais perigosos podem ser identificados e adicionados à lista negra de acesso ao banco de dados.

2. Pool de recursos.

Negócios que compartilham inteligência em ataques SQL podem ter uma ideia melhor de quais hosts lançam os ataques. Dito isso, de acordo com a Imperva, “a velocidade de atualização da lista negra deve ser maior para ficar em dia com as novas ameaças”, porque, em média, os hosts se mantêm ativos apenas por meio dia.

3. Acesso minimizado.

Restrinja os dados que qualquer aplicativo web pode resgatar do banco de dados. Nunca permita acesso ao banco de dados em nível de administrador a aplicativos web.

4. Codifique dados.

Nunca armazene dados em formato de texto simples. Em vez disso, codifique os dados e dificulte senhas, para que caso um ataque chegue ao banco de dados, extraia o mínimo possível de informações valiosas.

5. Desconfie de usuários.

“Qualquer input é maligno”. Esse é um mantra essencial para aplicativos web, de acordo com a Microsoft. O que significa que, em um cenário ideal, desenvolvedores de aplicativos web somente permitiriam input esperados e bloqueariam todo o resto.

6. Perfil de aplicativo.

Compreenda o comportamento normal do aplicativo web, para que fique mais fácil identificar qualquer comportamento anormal, como tentativas de executar mais buscas em bancos de dados do que o normal ou utilizando inputs incomuns.

7. Padronize inputs.

Padronize input de banco de dados “para evitar tentativas de evasão”, aconselha a Imperva. Depois compare o padrão com inputs maliciosos conhecidos para identificar ataques em andamento.

8. Cuidado com automação.

Como os ataques SQL são lançados por meio de ferramentas automáticas, preste atenção aos indicadores dessa técnica. De acordo com a Imperva, “existem diversos mecanismos para detectar o uso de clientes automáticos, como políticas baseada em taxas e coerção de resposta à desafios por clientes válidos”.

As técnicas acima ajudarão a equipe de TI a bloquear ataques SQL. Elas não vão impedir absolutamente todos os ataques a aplicativos web, mas, devido à prevalência de vulnerabilidades nesses aplicativos e à habilidade dos responsáveis pelos ataques em explorar, com êxito, essas falhas, os negócios precisam de toda ajuda que conseguirem.

fonte:8 técnicas para bloquear ataques SQL