19
Treinamento AJAX Segurança Waelson Negreiros Email: [email protected] Blog: http://waelson.com.br

Treinamento ajax 05

Embed Size (px)

Citation preview

Page 1: Treinamento ajax   05

Treinamento AJAXSegurança

Waelson Negreiros

Email: [email protected]: http://waelson.com.br

Page 2: Treinamento ajax   05

Agenda

Segurança da Informações Entendendo as falhas Canais Seguros Injeção de SQL

Page 3: Treinamento ajax   05

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

Page 4: Treinamento ajax   05

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

Page 5: Treinamento ajax   05

Segurança da Informações

Mecanismos de Controle Lógico Criptografia Assinatura Digital Controle de Acesso: biometria, firewall e etc Honeypot Protocolos Seguros

Page 6: Treinamento ajax   05

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;

Page 7: Treinamento ajax   05

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

Page 8: Treinamento ajax   05

Entendendo as falhas

Cross-Site Scripting (XSS) Permite executar scripts maliciosos no navegador

Page 9: Treinamento ajax   05

Entendendo as falhas

Manipulação de dados ocultos A aplicação permite acesso indevido a dados

ocultos.

Page 10: Treinamento ajax   05

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

Page 11: Treinamento ajax   05

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.

Page 12: Treinamento ajax   05

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.

Page 13: Treinamento ajax   05

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

Page 14: Treinamento ajax   05

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

Page 15: Treinamento ajax   05

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”

Page 16: Treinamento ajax   05

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.

Page 17: Treinamento ajax   05

Canais Seguros

Utilizados por grandes instituições Visa, Mastercard e American Express

Page 18: Treinamento ajax   05

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.

Page 19: Treinamento ajax   05

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’