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;
 Informação é o maior ativo das empresas;
 Características básica:




Confidencialidade
Integridade
Disponibilidade
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
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’

Treinamento ajax 05

  • 1.
    Treinamento AJAX Segurança Waelson Negreiros Email:waelson@gmail.com Blog: http://waelson.com.br
  • 2.
    Agenda  Segurança da Informações Entendendo as falhas  Canais Seguros  Injeção de SQL
  • 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 respeitopor 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.
  • 17.
    Canais Seguros  Utilizados  porgrandes instituições Visa, Mastercard e American Express
  • 18.
    Injeção SQL  SQL   Linguagemtextual 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 oacesso do usuário SELECT * FROM usuario WHERE login=‘waelson’ AND senha=‘@wa3’ SELECT * FROM usuario WHERE login=‘waels’on’ AND senha=‘@wa3’