Treinamento AJAX
Segurança
Waelson Negreiros
Email: [email protected]
Blog: http://waelson.com.br
Agenda




Segurança da Informações
Entendendo as falhas
Canais Seguros
Injeção de SQL
Segurança da Informações



Relacionado a proteção de um conjunto de
dados;
Informação é o maior ativo das empresas;
Características básica:



Confidencialidade
Integridade
Disponibilidade
Segurança da Informações

Mecanismos de Segurança

Controles físicos


Limita o contato com a informações ou infraestrutura
Controle Lógico

Limita o acesso a informação
Segurança da Informações

Mecanismos de Controle Lógico





Criptografia
Assinatura Digital
Controle de Acesso: biometria, firewall e etc
Honeypot
Protocolos Seguros
Segurança da Informações


Aplicações Web são frágeis;
Razões:



Desenvolvedores não capacitados;
Requisitos não funcionais não identificados;
Ferramentas não detectam todos os erros;
Segurança da Informações

Principais falhas no desenvolvimento








Cross-Site Scripting (XSS)
Manipulação de dados ocultos
Falha na restrição de acesso a URL
Tratamento indevido de erros
Dados valiosos não criptografados
Canais inseguros;
Injeção de comandos;
Processo inadequado de cadastro de usuário
Entendendo as falhas

Cross-Site Scripting (XSS)

Permite executar scripts maliciosos no navegador
Entendendo as falhas

Manipulação de dados ocultos

A aplicação permite acesso indevido a dados
ocultos.
Entendendo as falhas

Falha na restrição de acesso a URL
A aplicação permite acesso à módulos o qual o
usuário não tem permissão de acesso.
Ex:
http://erp.minhaempresa/empregado

http://erp.minhaempresa/administracao
Entendendo as falhas

Tratamento indevido de erros

Informações sensíveis são expostas quando
acontece um erro com a aplicação.
Ex: Aplicação não trata o erro adequadamente e
exibe ao usuário o nome de uma tabela.
Entendendo as falhas

Dados valiosos não criptografados

Dados sensiveis ficam armazenados de forma
não criptografada ou usa criptografia inadequada.

Ex: Senhas e números de cartões não
criptografados no banco de dados ou cookies.
Desenvolvedor cria seu próprio mecanismo de
criptografia.
Entendendo as falhas

Canais inseguros

A aplicação trafega dados sensíveis através de
canais não-seguro

Ex: Não uso do TLS em sistemas de e-commerce
Entendendo as falhas

Injeção de comandos

Atacante explora a injeção de comandos a serem
processados por outro sistema ou camada.

Ex: SQL Injection
Entendendo as falhas

Processo inadequado de cadastro de usuário

O cadastro de usuários da aplicação não segue
recomendações de segurança.

Ex: Uso de senha “123456”
Canais Seguros




Diz respeito por onde os dados irão trafegar;
TLS (predecessor SSL);
Protocolo Criptográfico;
Funcionamento:



Cliente conhece o servidor e servidor conhece o
cliente;
Cada solicitação é autenticada;
Dados trafegados são criptografados.
Canais Seguros

Utilizados por grandes instituições

Visa, Mastercard e American Express
Injeção SQL

SQL



Linguagem textual para interagir com o banco de
dados
DDL e DML
Injeção SQL

Atacante inserir instruções SQL dentro de uma
query através da entrada de dados.
Injeção SQL

Validando o acesso do usuário
SELECT * FROM usuario WHERE login=‘waelson’ AND senha=‘@wa3’
SELECT * FROM usuario WHERE login=‘waels’on’ AND senha=‘@wa3’
Download

Treinamento Ajax - Aula 5 (Segurança em