Escolar Documentos
Profissional Documentos
Cultura Documentos
1 5104896333005717508 PDF
1 5104896333005717508 PDF
http://re.granbery.edu.br ‐ ISSN 1981 0377
Curso de Sistemas de Informação ‐ N. 9, JUL/DEZ 2010
1
Pós Graduação em Segurança da Informação
Faculdade Metodista Granbery – FMG
Rua Batista de Oliveira, 1145 – Centro
CEP: 36.010-532 - Juiz de Fora – MG – Brazil
heitormagaldi@yahoo.com.br, drigocesar@uol.com.br,rogerio-
santolima@hotmail.com,andrebernardojf@gmail.com,
pquintao@granbery.edu.br
RESUMO
ABSTRACT
In an attempt to eliminate attacks via SQL Injection tools have been aiding
developers in identifying vulnerabilities. In this context, this article aims to
present what SQL Injection is, how it attacks and precautions taken to avoid
this problem.
1
1. INTRODUÇÃO
2
A proposta deste artigo é apresentar o que é SQL Injection, como as
aplicações são exploradas e maneiras para prevenção; permitindo ao desenvolvedor
confeccionar um sistema mais robusto.
Para isso, encontra-se dividido em 5 seções, além dessa introdução. A Seção
2 destaca o conceito de SQL Injection. A Seção 3 apresenta ferramentas de identificação
de vulnerabilidades nas plataformas Windows e Linux. A Seção 4 traz soluções para
uma comunicação segura entre “Aplicação – Base de Dados”. Por fim, têm-se as
considerações finais do trabalho, bem como as referências bibliográficas utilizadas.
SELECT id, senha FROM usuarios WHERE id = ‘Bruno’ and senha = ‘1234’;
3
Porém a distração do desenvolvedor no tratamento da entrada de texto
permitiu a digitação de caracteres especiais, permitindo assim que o usuário entrasse
com id de ‘Bru’no’. Com esta entrada, a aplicação não irá conseguir interpretar o
comando requisitado, retornando com um erro.
Assim como a entrada foi inválida, esta poderia ser válida, e a execução
causar um transtorno enorme como exemplo na Ilustração 2:
4
Foram selecionadas quatro ferramentas para identificação de
vulnerabilidades de SQL Injections em aplicações web que são: Acunetix, Netsparker,
SQL Inject-Me, Websecurify.
A escolha das aplicações ocorreu devido ao fato de possuírem versões
gratuitas e estarem sendo referenciadas em vários sites relacionados à segurança da
informação. Os aspectos analisados serão: profundidade da varredura, clareza nas
informações apresentadas, tempo de varredura, interface homem máquina.
3.1. Acunetix
5
Ilustração 3. Tela principal do Acunetix
3.2. Netsparker
O Netsparker é uma ferramenta paga, porém existem versões livres que não
possuem a parte de relatórios. Ferramenta disponível para download em
www.mavitunasecurity.com/communityedition/.
Ferramenta muito ágil e precisa, ideal para desenvolvedores que atuam em
servidores Linux, Possui uma varredura que abrange servidor e aplicação, informando
sobre os pontos vulneráveis encontrados
A interação no momento da varredura permite ao usuário navegar sobre os
pontos analisados, apresentando as vulnerabilidades encontradas, impactos e soluções
passiveis de serem adotadas para correção do problema.
O que se destacou no Netsparker foi à riqueza de informações em um curto
período de tempo gasto na varredura, cerca de 6 minutos. O ponto negativo desta
ferramenta foi que a versão testada, a community, é bem limitada e não possui recursos
de relatórios.
6
Ilustração 4. Tela Principal do Netsparker
7
Esta ferramenta é indicada a desenvolvedores de aplicações mais simples,
que contenham poucas entradas de informações, pois esta ferramenta depende do acesso
a cada tela a ser testada, se tornando improdutiva, dependendo do tamanho da aplicação.
3.4. Websecurify
8
Ilustração 6 – Tela Websecurify.
Acunetix 3 3 1 3
Netsparker 3 3 3 3
SQL Inject-Me 2 2 3 1
Websecurify 1 3 1 1
Legenda
9
bem comuns e podem ser evitados com práticas bem simples, conforme os tópicos
listados a seguir:
10
Defina um tamanho máximo de caracteres para senhas e usuários (10 é o
tamanho indicado);
5. CONSIDERAÇÕES FINAIS
Este artigo teve como principal objetivo abordar de forma clara o que é o
SQL Injection, pois, conhecendo a ameaça, o combate se torna mais fácil.
A apresentação das aplicações veio demonstrar como a combinação destas
ferramentas é positiva no combate ao SQL Injection. Não qual é melhor ou pior, e sim
os pontos positivos e negativos, permitindo proporcionar ao desenvolvedor definir qual
ferramenta utilizar, dependendo do ambiente a ser testado.
O perfil do desenvolvedor nos últimos anos tem sido modificado, a
preocupação com a segurança deixa de estar em segundo plano e passa a se tornar
requisito de projeto. Mesmo com todas estas mudanças, existem desenvolvedores que
ainda vivem na zona de falsa sensação de segurança, pensando que suas aplicações
nunca serão alvo de atacantes, por isso o alto número de sites vulneráveis.
11
O combate ao SQL Injection é simples e não demanda tempo extra de
desenvolvimento. A Falta de conhecimento do desenvolvedor se torna o ponto mais
crítico no combate a esta forma de ataque.
O desenvolvedor de sistemas deve se manter sempre atualizado sobre novas
formas de ataque, pois a cada dia surgem novidades neste sentido, na tentativa de burlar
os controles existentes. A dica deste artigo é que “Segurança nunca é demais!”.
6. REFERÊNCIAS BIBLIOGRÁFICAS
DANCHEV, Dancho. SQL injection attacks and malware led to most data
breaches, 9 fev 2010. Disponível em : http://www.m86security.com/labs/i/Another-
round-of-Asprox-SQL-injection-attacks,trace.1366~.asp>. Acesso em: 30 jun 2010.
______. Mass SQL Injection Attack Hits Sites Running IIS, 10 jun 2010. Disponível
em : < http://threatpost.com/en_us/blogs/mass-sql-injection-attack-hits-sites-running-
iis-061010>. Acesso em: 30 jun 2010.
12