SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
Estudo visando a mitigação do ataque
   SQL Injection em aplicações web




           CENTRO UNIVERSITÁRIO UNA / UNATEC
     CURSO DE ANÁLISE E DESENVOLVIMENTO DE SISTEMAS
                    4º PERÍODO NOITE
Projeto Aplicado
•   Apresentação            •   Metodologia
•   Problema Motivador      •   Proposta de Solução
•   Justificativa           •   Conclusão
•   Objetivos               •   Dúvidas
•   Fundamentação Teórica
•   Interdisciplinaridade
Apresentação
• Integrantes:

   – André Andrade
   – Diego Marlon
   – Heberth Moreira
   – Janaína Louback
   – Thiago Sinésio
   – Tiago Carmo
Problema Motivador
• Juntamente com o crescimento da internet surgiram:

   – Riscos do mundo virtual;
   – Invasões;
   – Fraudes.
Justificativa
• Os riscos relacionados à internet cresceram com o avanço da tecnologia;

• Não é possível erradicar todas as vulnerabilidades relacionadas à
  Tecnologia da Informação, no entanto, é necessário torná-las
  gerenciáveis visando reduzir o impacto que podem causar;

• Dentre as diversas falhas existentes, estima-se que 60% dos sistemas
  que são fortemente ligados a um banco de dados são vulneráveis a
  ataques de injeção de código, como por exemplo, o SQL Injection.
Objetivos
• Objetivo Geral:

   – Desenvolver um modelo de solução que demonstre falhas de SQL
     Injection, incentivando aos desenvolvedores o uso de boas práticas bem
     como a propagação do conhecimento necessário para colaborar com o
     aumento da segurança da informação e da segurança na internet.
Objetivos
• Objetivos Específicos:

   – Desenvolver um artigo relacionado ao SQL Injection ;
   – Criar um ambiente de testes que identifique as principais falhas de SQL
     Injection em sites e sistemas para web e apresentar suas soluções;
   – Aplicar os conhecimentos adquiridos durante o curso.
Fundamentação Teórica
•   Segurança na Web;
•   Segurança da Informação;
•   SQL Injection;
•   Trabalhos Relacionados.
Interdisciplinaridade
• Gerência de Projetos:

   – Utilizamos o software
   Artia como ferramenta
   para o gerenciamento e
   distribuição de atividades.

                                  Página de atividades do Artia
Interdisciplinaridade
• Engenharia de Requisitos:

   – A disciplina de engenharia de requisitos visa demonstrar o levantamento
     dos requisitos funcionais e não funcionais de um software;
   – Como nosso trabalho não tem por objetivo o desenvolvimento de um
     software, levantamos como requisito apenas o objetivo geral do trabalho,
     que é demonstrar as melhores práticas para a mitigação de ataques de
     SQL Injection.
Interdisciplinaridade
• Criptografia e Segurança de Sistemas:

   – Foco do trabalho (SQL Injection);
   – Criptografia de senhas na proposta de solução.
Interdisciplinaridade
• Direito e Ética na Computação:

   – Questões éticas da cibercultura englobam o SQL Injection, no entanto no
     Brasil, não existe leis que regulamentam os crimes eletrônicos.
Interdisciplinaridade
• Arquitetura de Sistemas:

   – Na disciplina de arquitetura de sistemas concluímos que é muito
     importante que os softwares tenham uma boa proteção contra o SQL
     Injection. Devido a segurança da informação que deve ser feita, uma vez
     que explorando a falha, podemos obter todas informações da base de
     dados, incluindo acesso a alteração e exclusão dos dados;
   – Essa proteção abrange os quatro pilares da segurança: confiabilidade,
     integridade, disponibilidade e autenticidade.
Metodologia
• Pesquisas:

   – Periódicos científicos;
   – Livros;
   – Sites;
   – Artigos técnicos.
Metodologia
• Ferramentas:

   – XAMPP 1.7.3 (Apache 2.2, MySQL 5.1, PHP 5.3, PHPMyAdmin 3.2);
   – Windows Seven Professional, versão 6.1 (compilação 7600);
   – MySQL Workbench 5.2 CE;
   – PHP, HTML, CSS e JavaScript;
   – Havij 1.15 free (ITSecTeam Security Research);
   – Artia.
Proposta de Solução
• Desenvolvemos o modelo do banco de dados necessário para a
  implementação do ambiente de testes. A estrutura conta
  com uma tabela de usuários e uma de notícias;
• Este ambiente tem falhas propositais para os testes.




                   Modelo gerado com o MySQL Workbench 5.2 CE
Proposta de Solução
• Os testes serão feitos de forma manual pelo método POST
  (formulário de login) e automatizada pelo método GET (URL de
  acesso a notícia).



                                        URL de acesso a notícia



         Formulário de login
Proposta de Solução
• Teste automatizado:

   – Não é necessário conhecimento sobre SQL Injection;
   – A ferramenta utilizada foi o software Havij 1.15 Free;
   – Acesso completo e rápido à base de dados.
Proposta de Solução
• Teste automatizado:




                        Havij – Tela inicial
Proposta de Solução
• Teste automatizado:




                        Havij – Acessando os dados
Proposta de Solução
• Teste manual:




                                                    Tela de administração de conteúdo do sistema,
                                                        onde o hacker conseguiu acesso como
                                                                    administrador.
      SQL Injection manual – Inserindo código SQL
     no campo de usuário para acesso privilegiado
               a área restrita do sistema
Proposta de Solução
• Teste manual: Como funciona?




     O sistema considera a consulta SQL válida,                ...e é retornado um valor do banco de dados, normalmente
    ignorando os parâmetros de usuário e senha                          o primeiro que é o administrador do sistema



Observação: no ambiente de testes com a falha, o campo de senha não é criptografado.
Proposta de Solução
• Boas práticas de desenvolvimento sugeridas pelo The PHP Group:

   – Nunca utilizar o super-usuário (root);
   – Tratamento de tipos de variáveis;
   – Tratamento das entradas do sistema (utilizando métodos de escape);
   – Tratamento de mensagens de erro.
Proposta de Solução
• Teste prático
Conclusão
• A solução para o SQL Injection é muito simples, mas é necessário
  que a equipe de desenvolvimento conheça bem como ele funciona e
  as possibilidades que a linguagem de desenvolvimento fornece para
  evitar esse tipo de ataque.
Dúvidas

Mais conteúdo relacionado

Mais procurados

DevSecOps - Segurança em um pipeline contínuo
DevSecOps - Segurança em um pipeline contínuoDevSecOps - Segurança em um pipeline contínuo
DevSecOps - Segurança em um pipeline contínuoEndrigo Antonini
 
Teste seguranca aplicacoes web security testing
Teste seguranca aplicacoes web security testingTeste seguranca aplicacoes web security testing
Teste seguranca aplicacoes web security testingCristiano Caetano
 
Engenharia de Software II - Teste de segurança de software
Engenharia de Software  II - Teste de segurança de softwareEngenharia de Software  II - Teste de segurança de software
Engenharia de Software II - Teste de segurança de softwareJuliano Padilha
 
Introducão a Web Applications Firewalls
Introducão a Web Applications FirewallsIntroducão a Web Applications Firewalls
Introducão a Web Applications FirewallsJeronimo Zucco
 
[GUTS-RS] - Testes de Segurança: O que preciso saber para planejar
 [GUTS-RS] - Testes de Segurança: O que preciso saber para planejar [GUTS-RS] - Testes de Segurança: O que preciso saber para planejar
[GUTS-RS] - Testes de Segurança: O que preciso saber para planejarGUTS-RS
 
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...Clavis Segurança da Informação
 
DevSecOps - Workshop do Bem
DevSecOps - Workshop do BemDevSecOps - Workshop do Bem
DevSecOps - Workshop do BemBruno Dantas
 
Experiência e Cases com Auditorias Teste de Invasão em Redes e Sistemas
Experiência e Cases com Auditorias Teste de Invasão em Redes e SistemasExperiência e Cases com Auditorias Teste de Invasão em Redes e Sistemas
Experiência e Cases com Auditorias Teste de Invasão em Redes e SistemasClavis Segurança da Informação
 
Testes de segurança desafios e oportunidades
Testes de segurança desafios e oportunidadesTestes de segurança desafios e oportunidades
Testes de segurança desafios e oportunidadesQualister
 
DevOpsDays Brasilia - DevSecOps: Adotando uma cultura de segurança ágil
DevOpsDays Brasilia - DevSecOps: Adotando uma cultura de segurança ágilDevOpsDays Brasilia - DevSecOps: Adotando uma cultura de segurança ágil
DevOpsDays Brasilia - DevSecOps: Adotando uma cultura de segurança ágilBruno Dantas
 
CPBR11 - DevSecOps: Adotando uma cultura de segurança ágil
CPBR11 - DevSecOps: Adotando uma cultura de segurança ágil CPBR11 - DevSecOps: Adotando uma cultura de segurança ágil
CPBR11 - DevSecOps: Adotando uma cultura de segurança ágil Bruno Dantas
 
Impacto sobre o Negócio da Exploração de Vulnerabilidades de Injeção em Aplic...
Impacto sobre o Negócio da Exploração de Vulnerabilidades de Injeção em Aplic...Impacto sobre o Negócio da Exploração de Vulnerabilidades de Injeção em Aplic...
Impacto sobre o Negócio da Exploração de Vulnerabilidades de Injeção em Aplic...Clavis Segurança da Informação
 
Teste de segurança em aplicações web ( sites )
Teste de segurança em aplicações web ( sites )Teste de segurança em aplicações web ( sites )
Teste de segurança em aplicações web ( sites )Pablo Ribeiro
 
PHP Conference Brasil 2011 - Desenvolvendo Seguro (do rascunho ao deploy)
PHP Conference Brasil 2011 - Desenvolvendo Seguro (do rascunho ao deploy)PHP Conference Brasil 2011 - Desenvolvendo Seguro (do rascunho ao deploy)
PHP Conference Brasil 2011 - Desenvolvendo Seguro (do rascunho ao deploy)Erick Belluci Tedeschi
 
(4) Comparando o N-Stalker WAS com o RedeSegura
(4) Comparando o N-Stalker WAS com o RedeSegura(4) Comparando o N-Stalker WAS com o RedeSegura
(4) Comparando o N-Stalker WAS com o RedeSeguraEduardo Lanna
 

Mais procurados (20)

DevSecOps - Segurança em um pipeline contínuo
DevSecOps - Segurança em um pipeline contínuoDevSecOps - Segurança em um pipeline contínuo
DevSecOps - Segurança em um pipeline contínuo
 
Desenvolvimento Seguro- 2011
Desenvolvimento Seguro- 2011Desenvolvimento Seguro- 2011
Desenvolvimento Seguro- 2011
 
Teste seguranca aplicacoes web security testing
Teste seguranca aplicacoes web security testingTeste seguranca aplicacoes web security testing
Teste seguranca aplicacoes web security testing
 
Engenharia de Software II - Teste de segurança de software
Engenharia de Software  II - Teste de segurança de softwareEngenharia de Software  II - Teste de segurança de software
Engenharia de Software II - Teste de segurança de software
 
Testes de Segurança de Software (tech-ed 2008)
Testes de Segurança de Software (tech-ed 2008)Testes de Segurança de Software (tech-ed 2008)
Testes de Segurança de Software (tech-ed 2008)
 
Introducão a Web Applications Firewalls
Introducão a Web Applications FirewallsIntroducão a Web Applications Firewalls
Introducão a Web Applications Firewalls
 
[GUTS-RS] - Testes de Segurança: O que preciso saber para planejar
 [GUTS-RS] - Testes de Segurança: O que preciso saber para planejar [GUTS-RS] - Testes de Segurança: O que preciso saber para planejar
[GUTS-RS] - Testes de Segurança: O que preciso saber para planejar
 
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
 
DevSecOps - Workshop do Bem
DevSecOps - Workshop do BemDevSecOps - Workshop do Bem
DevSecOps - Workshop do Bem
 
Experiência e Cases com Auditorias Teste de Invasão em Redes e Sistemas
Experiência e Cases com Auditorias Teste de Invasão em Redes e SistemasExperiência e Cases com Auditorias Teste de Invasão em Redes e Sistemas
Experiência e Cases com Auditorias Teste de Invasão em Redes e Sistemas
 
Java security
Java securityJava security
Java security
 
Testes de segurança em aplicações web
Testes de segurança em aplicações webTestes de segurança em aplicações web
Testes de segurança em aplicações web
 
Testes de segurança desafios e oportunidades
Testes de segurança desafios e oportunidadesTestes de segurança desafios e oportunidades
Testes de segurança desafios e oportunidades
 
DevOps
DevOpsDevOps
DevOps
 
DevOpsDays Brasilia - DevSecOps: Adotando uma cultura de segurança ágil
DevOpsDays Brasilia - DevSecOps: Adotando uma cultura de segurança ágilDevOpsDays Brasilia - DevSecOps: Adotando uma cultura de segurança ágil
DevOpsDays Brasilia - DevSecOps: Adotando uma cultura de segurança ágil
 
CPBR11 - DevSecOps: Adotando uma cultura de segurança ágil
CPBR11 - DevSecOps: Adotando uma cultura de segurança ágil CPBR11 - DevSecOps: Adotando uma cultura de segurança ágil
CPBR11 - DevSecOps: Adotando uma cultura de segurança ágil
 
Impacto sobre o Negócio da Exploração de Vulnerabilidades de Injeção em Aplic...
Impacto sobre o Negócio da Exploração de Vulnerabilidades de Injeção em Aplic...Impacto sobre o Negócio da Exploração de Vulnerabilidades de Injeção em Aplic...
Impacto sobre o Negócio da Exploração de Vulnerabilidades de Injeção em Aplic...
 
Teste de segurança em aplicações web ( sites )
Teste de segurança em aplicações web ( sites )Teste de segurança em aplicações web ( sites )
Teste de segurança em aplicações web ( sites )
 
PHP Conference Brasil 2011 - Desenvolvendo Seguro (do rascunho ao deploy)
PHP Conference Brasil 2011 - Desenvolvendo Seguro (do rascunho ao deploy)PHP Conference Brasil 2011 - Desenvolvendo Seguro (do rascunho ao deploy)
PHP Conference Brasil 2011 - Desenvolvendo Seguro (do rascunho ao deploy)
 
(4) Comparando o N-Stalker WAS com o RedeSegura
(4) Comparando o N-Stalker WAS com o RedeSegura(4) Comparando o N-Stalker WAS com o RedeSegura
(4) Comparando o N-Stalker WAS com o RedeSegura
 

Semelhante a Estudo visando a mitigação do ataque sql injection em aplicações web

Validando a Segurança de Software
Validando a Segurança de SoftwareValidando a Segurança de Software
Validando a Segurança de SoftwareJeronimo Zucco
 
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...Magno Logan
 
Aula 03 de engenharia de software uespi 2011-1
Aula 03 de engenharia de software uespi 2011-1Aula 03 de engenharia de software uespi 2011-1
Aula 03 de engenharia de software uespi 2011-1Erivelton Silva Rocha
 
Microservices - Arquitetura, Ecossistema e Desafios
Microservices - Arquitetura, Ecossistema e DesafiosMicroservices - Arquitetura, Ecossistema e Desafios
Microservices - Arquitetura, Ecossistema e DesafiosRyan Padilha
 
Projeto de Sistemas - Aula002
Projeto de Sistemas - Aula002Projeto de Sistemas - Aula002
Projeto de Sistemas - Aula002Cláudio Amaral
 
Projeto de Avaliação de Segurança de TI
Projeto de Avaliação de Segurança de TIProjeto de Avaliação de Segurança de TI
Projeto de Avaliação de Segurança de TIMessias Dias Teixeira
 
Aula 1 introdução à engenharia de software1 (1)
Aula 1   introdução à engenharia de software1 (1)Aula 1   introdução à engenharia de software1 (1)
Aula 1 introdução à engenharia de software1 (1)Tiago Vizoto
 
TechNet Wiki Summit 2015 - DevOps
TechNet Wiki Summit 2015 - DevOpsTechNet Wiki Summit 2015 - DevOps
TechNet Wiki Summit 2015 - DevOpsAlan Carlos
 
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software Aula Modelos de Processos Tradicionais para Desenvolvimento de Software
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software Cloves da Rocha
 
Fundamentos Engenharia de Software.pptx
Fundamentos Engenharia de Software.pptxFundamentos Engenharia de Software.pptx
Fundamentos Engenharia de Software.pptxRoberto Nunes
 
Aula - Modelos de Processos de Desenvolvimento de Software / Mobile App
Aula - Modelos de Processos de Desenvolvimento de Software / Mobile AppAula - Modelos de Processos de Desenvolvimento de Software / Mobile App
Aula - Modelos de Processos de Desenvolvimento de Software / Mobile AppCloves da Rocha
 
aula projeto e des sistemas 22 03 2021.pptx
aula projeto e des sistemas 22 03 2021.pptxaula projeto e des sistemas 22 03 2021.pptx
aula projeto e des sistemas 22 03 2021.pptxMarcondesTiburcio
 
WebGoat Project - Apresentação
WebGoat Project - ApresentaçãoWebGoat Project - Apresentação
WebGoat Project - ApresentaçãoCleyton Kano
 
Palestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreiraPalestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreiraTaís Dall'Oca
 
Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareCloves da Rocha
 

Semelhante a Estudo visando a mitigação do ataque sql injection em aplicações web (20)

Validando a Segurança de Software
Validando a Segurança de SoftwareValidando a Segurança de Software
Validando a Segurança de Software
 
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
 
Aula 03 de engenharia de software uespi 2011-1
Aula 03 de engenharia de software uespi 2011-1Aula 03 de engenharia de software uespi 2011-1
Aula 03 de engenharia de software uespi 2011-1
 
Aula 2 - Processos de Software
Aula 2 - Processos de SoftwareAula 2 - Processos de Software
Aula 2 - Processos de Software
 
Microservices - Arquitetura, Ecossistema e Desafios
Microservices - Arquitetura, Ecossistema e DesafiosMicroservices - Arquitetura, Ecossistema e Desafios
Microservices - Arquitetura, Ecossistema e Desafios
 
Projeto de Sistemas - Aula002
Projeto de Sistemas - Aula002Projeto de Sistemas - Aula002
Projeto de Sistemas - Aula002
 
Projeto de Avaliação de Segurança de TI
Projeto de Avaliação de Segurança de TIProjeto de Avaliação de Segurança de TI
Projeto de Avaliação de Segurança de TI
 
Aula 1 introdução à engenharia de software1 (1)
Aula 1   introdução à engenharia de software1 (1)Aula 1   introdução à engenharia de software1 (1)
Aula 1 introdução à engenharia de software1 (1)
 
TechNet Wiki Summit 2015 - DevOps
TechNet Wiki Summit 2015 - DevOpsTechNet Wiki Summit 2015 - DevOps
TechNet Wiki Summit 2015 - DevOps
 
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software Aula Modelos de Processos Tradicionais para Desenvolvimento de Software
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software
 
Fundamentos Engenharia de Software.pptx
Fundamentos Engenharia de Software.pptxFundamentos Engenharia de Software.pptx
Fundamentos Engenharia de Software.pptx
 
Aula - Modelos de Processos de Desenvolvimento de Software / Mobile App
Aula - Modelos de Processos de Desenvolvimento de Software / Mobile AppAula - Modelos de Processos de Desenvolvimento de Software / Mobile App
Aula - Modelos de Processos de Desenvolvimento de Software / Mobile App
 
aula projeto e des sistemas 22 03 2021.pptx
aula projeto e des sistemas 22 03 2021.pptxaula projeto e des sistemas 22 03 2021.pptx
aula projeto e des sistemas 22 03 2021.pptx
 
Rup e metodos ágies
Rup e metodos ágiesRup e metodos ágies
Rup e metodos ágies
 
Ethical Hacking - Campus Party Brasília 2017
Ethical Hacking - Campus Party Brasília 2017Ethical Hacking - Campus Party Brasília 2017
Ethical Hacking - Campus Party Brasília 2017
 
Aula - Teste de Software
Aula - Teste de SoftwareAula - Teste de Software
Aula - Teste de Software
 
WebGoat Project - Apresentação
WebGoat Project - ApresentaçãoWebGoat Project - Apresentação
WebGoat Project - Apresentação
 
Palestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreiraPalestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreira
 
Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de Software
 
Aula 02
Aula 02Aula 02
Aula 02
 

Estudo visando a mitigação do ataque sql injection em aplicações web

  • 1. Estudo visando a mitigação do ataque SQL Injection em aplicações web CENTRO UNIVERSITÁRIO UNA / UNATEC CURSO DE ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 4º PERÍODO NOITE
  • 2. Projeto Aplicado • Apresentação • Metodologia • Problema Motivador • Proposta de Solução • Justificativa • Conclusão • Objetivos • Dúvidas • Fundamentação Teórica • Interdisciplinaridade
  • 3. Apresentação • Integrantes: – André Andrade – Diego Marlon – Heberth Moreira – Janaína Louback – Thiago Sinésio – Tiago Carmo
  • 4. Problema Motivador • Juntamente com o crescimento da internet surgiram: – Riscos do mundo virtual; – Invasões; – Fraudes.
  • 5. Justificativa • Os riscos relacionados à internet cresceram com o avanço da tecnologia; • Não é possível erradicar todas as vulnerabilidades relacionadas à Tecnologia da Informação, no entanto, é necessário torná-las gerenciáveis visando reduzir o impacto que podem causar; • Dentre as diversas falhas existentes, estima-se que 60% dos sistemas que são fortemente ligados a um banco de dados são vulneráveis a ataques de injeção de código, como por exemplo, o SQL Injection.
  • 6. Objetivos • Objetivo Geral: – Desenvolver um modelo de solução que demonstre falhas de SQL Injection, incentivando aos desenvolvedores o uso de boas práticas bem como a propagação do conhecimento necessário para colaborar com o aumento da segurança da informação e da segurança na internet.
  • 7. Objetivos • Objetivos Específicos: – Desenvolver um artigo relacionado ao SQL Injection ; – Criar um ambiente de testes que identifique as principais falhas de SQL Injection em sites e sistemas para web e apresentar suas soluções; – Aplicar os conhecimentos adquiridos durante o curso.
  • 8. Fundamentação Teórica • Segurança na Web; • Segurança da Informação; • SQL Injection; • Trabalhos Relacionados.
  • 9. Interdisciplinaridade • Gerência de Projetos: – Utilizamos o software Artia como ferramenta para o gerenciamento e distribuição de atividades. Página de atividades do Artia
  • 10. Interdisciplinaridade • Engenharia de Requisitos: – A disciplina de engenharia de requisitos visa demonstrar o levantamento dos requisitos funcionais e não funcionais de um software; – Como nosso trabalho não tem por objetivo o desenvolvimento de um software, levantamos como requisito apenas o objetivo geral do trabalho, que é demonstrar as melhores práticas para a mitigação de ataques de SQL Injection.
  • 11. Interdisciplinaridade • Criptografia e Segurança de Sistemas: – Foco do trabalho (SQL Injection); – Criptografia de senhas na proposta de solução.
  • 12. Interdisciplinaridade • Direito e Ética na Computação: – Questões éticas da cibercultura englobam o SQL Injection, no entanto no Brasil, não existe leis que regulamentam os crimes eletrônicos.
  • 13. Interdisciplinaridade • Arquitetura de Sistemas: – Na disciplina de arquitetura de sistemas concluímos que é muito importante que os softwares tenham uma boa proteção contra o SQL Injection. Devido a segurança da informação que deve ser feita, uma vez que explorando a falha, podemos obter todas informações da base de dados, incluindo acesso a alteração e exclusão dos dados; – Essa proteção abrange os quatro pilares da segurança: confiabilidade, integridade, disponibilidade e autenticidade.
  • 14. Metodologia • Pesquisas: – Periódicos científicos; – Livros; – Sites; – Artigos técnicos.
  • 15. Metodologia • Ferramentas: – XAMPP 1.7.3 (Apache 2.2, MySQL 5.1, PHP 5.3, PHPMyAdmin 3.2); – Windows Seven Professional, versão 6.1 (compilação 7600); – MySQL Workbench 5.2 CE; – PHP, HTML, CSS e JavaScript; – Havij 1.15 free (ITSecTeam Security Research); – Artia.
  • 16. Proposta de Solução • Desenvolvemos o modelo do banco de dados necessário para a implementação do ambiente de testes. A estrutura conta com uma tabela de usuários e uma de notícias; • Este ambiente tem falhas propositais para os testes. Modelo gerado com o MySQL Workbench 5.2 CE
  • 17. Proposta de Solução • Os testes serão feitos de forma manual pelo método POST (formulário de login) e automatizada pelo método GET (URL de acesso a notícia). URL de acesso a notícia Formulário de login
  • 18. Proposta de Solução • Teste automatizado: – Não é necessário conhecimento sobre SQL Injection; – A ferramenta utilizada foi o software Havij 1.15 Free; – Acesso completo e rápido à base de dados.
  • 19. Proposta de Solução • Teste automatizado: Havij – Tela inicial
  • 20. Proposta de Solução • Teste automatizado: Havij – Acessando os dados
  • 21. Proposta de Solução • Teste manual: Tela de administração de conteúdo do sistema, onde o hacker conseguiu acesso como administrador. SQL Injection manual – Inserindo código SQL no campo de usuário para acesso privilegiado a área restrita do sistema
  • 22. Proposta de Solução • Teste manual: Como funciona? O sistema considera a consulta SQL válida, ...e é retornado um valor do banco de dados, normalmente ignorando os parâmetros de usuário e senha o primeiro que é o administrador do sistema Observação: no ambiente de testes com a falha, o campo de senha não é criptografado.
  • 23. Proposta de Solução • Boas práticas de desenvolvimento sugeridas pelo The PHP Group: – Nunca utilizar o super-usuário (root); – Tratamento de tipos de variáveis; – Tratamento das entradas do sistema (utilizando métodos de escape); – Tratamento de mensagens de erro.
  • 24. Proposta de Solução • Teste prático
  • 25. Conclusão • A solução para o SQL Injection é muito simples, mas é necessário que a equipe de desenvolvimento conheça bem como ele funciona e as possibilidades que a linguagem de desenvolvimento fornece para evitar esse tipo de ataque.