O documento discute segurança da informação em treinamentos AJAX, abordando conceitos como segurança de dados, mecanismos de controle lógico, falhas comuns em desenvolvimento como XSS e injeção SQL, e a importância de canais seguros como TLS.
3. 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
4. Segurança da Informações
Mecanismos
Controles físicos
de Segurança
Limita o contato com a informações ou infraestrutura
Controle Lógico
Limita o acesso a informação
5. Segurança da Informações
Mecanismos
de Controle Lógico
Criptografia
Assinatura Digital
Controle de Acesso: biometria, firewall e etc
Honeypot
Protocolos Seguros
6. 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;
7. 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
8. Entendendo as falhas
Cross-Site
Scripting (XSS)
Permite executar scripts maliciosos no navegador
9. Entendendo as falhas
Manipulação
de dados ocultos
A aplicação permite acesso indevido a dados
ocultos.
10. 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
11. 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.
12. 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.
13. 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
14. 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
15. 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”
16. 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.
18. 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.
19. 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’