O documento discute auditoria de segurança em sistemas web, mencionando conceitos como auditoria de sistemas, arquitetura cliente-servidor, bancos de dados, linguagem SQL, PHP e injeção SQL. O documento fornece detalhes sobre como esses conceitos são usados para melhorar a segurança e desempenho de sistemas web.
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
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
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