190 likes | 288 Views
Treinamento AJAX Segurança. Waelson Negreiros Email: waelson@gmail.com 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;
E N D
Treinamento AJAXSegurança Waelson Negreiros Email: waelson@gmail.comBlog: 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’