SEMATEC 2012/IFMA - Imperatriz


 Auditoria de Segurança em Sistema
 Web


          Silas Martins de Sales
            Ciencia da Computação - IFMA
            Técnico em Informática - IFMA




                                            1
SEMATEC 2012/IFMA - Imperatriz

   Auditoria
   Cliente/Servidor
   Banco de Dados
   Sql (Linguagem de Consulta Estruturada)
   PHP (PHP: Hypertext Preprocessor)
   SqlInjetion



                                              2
SEMATEC 2012/IFMA - Imperatriz

   Auditoria de Sistemas
   A auditoria de sistemas contribui para a melhoria constante
    do negócio suportado pela Tecnologia, nos seguintes
    aspectos.
   Desempenho;
   Confiabilidade;
   Integridade;
   Disponibilidade;
   Segurança;
   Confidencialidade;
   Privacidade.

                                                            3
SEMATEC 2012/IFMA - Imperatriz

   Auditoria de Sistemas
   A auditoria de sistemas contribui para a melhoria constante
    do negócio suportado pela Tecnologia, nos seguintes
    aspectos.
   Desempenho;
   Confiabilidade;
   Integridade;
   Disponibilidade;
   Segurança;
   Confidencialidade;
   Privacidade.

                                                            4
SEMATEC 2012/IFMA - Imperatriz

   Auditoria de Sistemas
   Proteção de Dados
   Segurança da Informação


    “A segurança deverá ser proporcional ao valor do que se está
    protegendo. Parte desse valor é realmente um valor; outra
    parte é o trabalho necessário para restabelecê-lo; uma outra
    parte mais sutil é o trabalho que permitirá confiar em sua rede
    novamente.” (WADLOW, 2000)



                                                                5
SEMATEC 2012/IFMA - Imperatriz

   Arquitetura Cliente/Servidor
   Cliente
    Qualquer navegador HTML padrão, com capacidade
    para formulários. O navegador age como um
    dispositivo genérico da interface de usuário.
   Servidor
    O principal ponto de acesso para todos os
    navegadores cliente. Os navegadores cliente, na
    arquitetura da Web, acessam o sistema somente por
    meio do servidor da Web, que aceita solicitações de
    páginas da Web.
                                                   6
SEMATEC 2012/IFMA - Imperatriz

   Arquitetura Cliente/Servidor




                                   7
SEMATEC 2012/IFMA - Imperatriz

   Banco de Dados
   Podemos entender por banco de dados qualquer sistema
    que reúna e mantenha organizada uma série de informações
    relacionadas a um determinado assunto em uma
    determinada ordem.
   Exemplos.
      Lista Telefônica
      Dicionário



                                                       8
SEMATEC 2012/IFMA - Imperatriz

   Banco de Dados
   O modelo relacional
    É um conceito abstrato que define maneiras de armazenar,
    manipular e recuperar dados estruturados unicamente na
    forma de tabelas, construindo um banco de dados.


   Um Sistema de Gerenciamento de Banco de Dados (SGBD)
    - do inglês Data Base Management System (DBMS) - é o
    conjunto de programas de computador (softwares)
    responsáveis pelo gerenciamento de uma base de dados.
   Firebird, Mysql, IBM DB2, JADE, SQL Server, PostGreSql.
                                                         9
SEMATEC 2012/IFMA - Imperatriz

   SQL - (Linguagem de Consulta Estruturada)
    O SQL é a linguagem padrão utilizada para interagir
    com os principais bancos de dados existentes no
    mercado, disponibilizando, para isso, instruções de
    criação e gerenciamento de estruturas, inclusão,
    alteração, exclusão e consulta de dados.




                                                   10
SEMATEC 2012/IFMA - Imperatriz

   SQL - (Linguagem de Consulta Estruturada)
    SELECT [predicado { * | tabela.* | [tabela.]campo1 [AS alias1]
   [, [tabela.]campo2 [AS alias2] [, ...]]}
    FROM expressãotabela [, ...] [IN bancodedadosexterno]
    [WHERE... ]
    [GROUP BY... ]
    [HAVING... ]
    [ORDER BY... ]





                                                                     11
SEMATEC 2012/IFMA - Imperatriz

   SQL - (Linguagem de Consulta Estruturada)
    SELECT [predicado { * | tabela.* | [tabela.]campo1 [AS alias1]
   [, [tabela.]campo2 [AS alias2] [, ...]]}
    FROM expressãotabela [, ...] [IN bancodedadosexterno]
    [WHERE... ]
    [GROUP BY... ]
    [HAVING... ]
    [ORDER BY... ]





                                                                     12
SEMATEC 2012/IFMA - Imperatriz

   PHP (PHP: Hypertext Preprocessor)
    O Personal Home Page ou PHP, embora pela
    traduçaõ do nome pareça ser uma linguagem de
    paginas pessoais, é muito mais que isso: PHP é
    uma linguagem que permite criar sites WEB
    dinâmicos, possibilitando uma interação com o
    usuário através de formulários, parâmetros da
    URL e links.




                                              13
SEMATEC 2012/IFMA - Imperatriz

   PHP (PHP: Hypertext Preprocessor)
    Métodos HTTP
   POST – É um método HTTP que faz solicitação do
    servidor, os dados são passados no escopo da
    solicitação.

   GET – É um método HTTP que faz solicitação de
    algum recurso do servidor, os dados são passados
    pelo cabeçálho da solicitação.

                                                14
SEMATEC 2012/IFMA - Imperatriz

   Injeção de Sql (SqlInjection)
   SqlInjection é uma falha de segurança presente
    em sites e serviços online dinâmicos.
   Ela se baseia em adulterar instruções sql que são
    passadas posteriomente para o servidor.
   Dessa forma é possível acessar dados presentes
    no banco de dados da aplicação.




                                                 15
SEMATEC 2012/IFMA - Imperatriz

   Injeção de Sql (SqlInjection)
   A maioria das falhas de sqlInjection consistem no
    não tratamento de informações passadas para o
    servidor por meio dos métodos HTTP.

   Toda informação recebida pelos clientes devem
    ser devidamente tratadas.




                                                   16
SEMATEC 2012/IFMA - Imperatriz

   Funções SQL
   group_concat()
   UNION
   SELECT




                                17
SEMATEC 2012/IFMA - Imperatriz

   Obrigado!




                                18

sqlInjection

  • 1.
    SEMATEC 2012/IFMA -Imperatriz Auditoria de Segurança em Sistema Web Silas Martins de Sales Ciencia da Computação - IFMA Técnico em Informática - IFMA 1
  • 2.
    SEMATEC 2012/IFMA -Imperatriz  Auditoria  Cliente/Servidor  Banco de Dados  Sql (Linguagem de Consulta Estruturada)  PHP (PHP: Hypertext Preprocessor)  SqlInjetion 2
  • 3.
    SEMATEC 2012/IFMA -Imperatriz  Auditoria de Sistemas  A auditoria de sistemas contribui para a melhoria constante do negócio suportado pela Tecnologia, nos seguintes aspectos.  Desempenho;  Confiabilidade;  Integridade;  Disponibilidade;  Segurança;  Confidencialidade;  Privacidade. 3
  • 4.
    SEMATEC 2012/IFMA -Imperatriz  Auditoria de Sistemas  A auditoria de sistemas contribui para a melhoria constante do negócio suportado pela Tecnologia, nos seguintes aspectos.  Desempenho;  Confiabilidade;  Integridade;  Disponibilidade;  Segurança;  Confidencialidade;  Privacidade. 4
  • 5.
    SEMATEC 2012/IFMA -Imperatriz  Auditoria de Sistemas  Proteção de Dados  Segurança da Informação “A segurança deverá ser proporcional ao valor do que se está protegendo. Parte desse valor é realmente um valor; outra parte é o trabalho necessário para restabelecê-lo; uma outra parte mais sutil é o trabalho que permitirá confiar em sua rede novamente.” (WADLOW, 2000) 5
  • 6.
    SEMATEC 2012/IFMA -Imperatriz  Arquitetura Cliente/Servidor  Cliente Qualquer navegador HTML padrão, com capacidade para formulários. O navegador age como um dispositivo genérico da interface de usuário.  Servidor O principal ponto de acesso para todos os navegadores cliente. Os navegadores cliente, na arquitetura da Web, acessam o sistema somente por meio do servidor da Web, que aceita solicitações de páginas da Web. 6
  • 7.
    SEMATEC 2012/IFMA -Imperatriz  Arquitetura Cliente/Servidor 7
  • 8.
    SEMATEC 2012/IFMA -Imperatriz  Banco de Dados  Podemos entender por banco de dados qualquer sistema que reúna e mantenha organizada uma série de informações relacionadas a um determinado assunto em uma determinada ordem.  Exemplos. Lista Telefônica Dicionário 8
  • 9.
    SEMATEC 2012/IFMA -Imperatriz  Banco de Dados  O modelo relacional É um conceito abstrato que define maneiras de armazenar, manipular e recuperar dados estruturados unicamente na forma de tabelas, construindo um banco de dados.  Um Sistema de Gerenciamento de Banco de Dados (SGBD) - do inglês Data Base Management System (DBMS) - é o conjunto de programas de computador (softwares) responsáveis pelo gerenciamento de uma base de dados.  Firebird, Mysql, IBM DB2, JADE, SQL Server, PostGreSql. 9
  • 10.
    SEMATEC 2012/IFMA -Imperatriz  SQL - (Linguagem de Consulta Estruturada) O SQL é a linguagem padrão utilizada para interagir com os principais bancos de dados existentes no mercado, disponibilizando, para isso, instruções de criação e gerenciamento de estruturas, inclusão, alteração, exclusão e consulta de dados. 10
  • 11.
    SEMATEC 2012/IFMA -Imperatriz  SQL - (Linguagem de Consulta Estruturada) SELECT [predicado { * | tabela.* | [tabela.]campo1 [AS alias1]  [, [tabela.]campo2 [AS alias2] [, ...]]} FROM expressãotabela [, ...] [IN bancodedadosexterno] [WHERE... ] [GROUP BY... ] [HAVING... ] [ORDER BY... ]  11
  • 12.
    SEMATEC 2012/IFMA -Imperatriz  SQL - (Linguagem de Consulta Estruturada) SELECT [predicado { * | tabela.* | [tabela.]campo1 [AS alias1]  [, [tabela.]campo2 [AS alias2] [, ...]]} FROM expressãotabela [, ...] [IN bancodedadosexterno] [WHERE... ] [GROUP BY... ] [HAVING... ] [ORDER BY... ]  12
  • 13.
    SEMATEC 2012/IFMA -Imperatriz  PHP (PHP: Hypertext Preprocessor) O Personal Home Page ou PHP, embora pela traduçaõ do nome pareça ser uma linguagem de paginas pessoais, é muito mais que isso: PHP é uma linguagem que permite criar sites WEB dinâmicos, possibilitando uma interação com o usuário através de formulários, parâmetros da URL e links. 13
  • 14.
    SEMATEC 2012/IFMA -Imperatriz  PHP (PHP: Hypertext Preprocessor) Métodos HTTP  POST – É um método HTTP que faz solicitação do servidor, os dados são passados no escopo da solicitação.  GET – É um método HTTP que faz solicitação de algum recurso do servidor, os dados são passados pelo cabeçálho da solicitação. 14
  • 15.
    SEMATEC 2012/IFMA -Imperatriz  Injeção de Sql (SqlInjection)  SqlInjection é uma falha de segurança presente em sites e serviços online dinâmicos.  Ela se baseia em adulterar instruções sql que são passadas posteriomente para o servidor.  Dessa forma é possível acessar dados presentes no banco de dados da aplicação. 15
  • 16.
    SEMATEC 2012/IFMA -Imperatriz  Injeção de Sql (SqlInjection)  A maioria das falhas de sqlInjection consistem no não tratamento de informações passadas para o servidor por meio dos métodos HTTP.  Toda informação recebida pelos clientes devem ser devidamente tratadas. 16
  • 17.
    SEMATEC 2012/IFMA -Imperatriz  Funções SQL  group_concat()  UNION  SELECT 17
  • 18.
    SEMATEC 2012/IFMA -Imperatriz  Obrigado! 18