OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web

43
Rafael Soares Ferreira Rafael Soares Ferreira Sócio Diretor Técnico Sócio Diretor Técnico [email protected] [email protected] OWASP Top 10 OWASP Top 10 Principais Principais Vulnerabilidades em Vulnerabilidades em Aplicações Web Aplicações Web

description

Título: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web Proposta: Esta palestra visa apresentar exemplos de vulnerabilidades mais comumente encontradas e más práticas de segurança detectadas em auditorias teste de invasão em aplicações web já realizadas e medidas simples que podem aumentar consideravelmente o nível de segurança e evitar incidentes graves em ambientes deste tipo. Além disto, será apresentada também a experiência da Clavis Segurança da Informação enquanto empresa de consultoria especializada ao realizar auditorias desta espécie tanto in-company quanto remotamente. Cursos e Soluções Relacionados: Formação de 100 horas – Auditor em Teste de Invasão – Pentest – Academia Clavis Segurança da Informação http://www.blog.clavis.com.br/formacao-de-78-horas-auditor-em-teste-de-invasao-academia-clavis-seguranca-da-informacao/ Auditoria de Segurança em Aplicações Web http://www.clavis.com.br/servico/servico-auditoria-seguranca-da-informacao-aplicacoes-web.php Palestrante: Rafael Soares Ferreira Sobre o Instrutor: Rafael Soares Ferreira é Diretor Técnico do Grupo Clavis Segurança da Informação, e é profissional atuante nas áreas de análise forense computacional, detecção e resposta a incidentes de segurança, testes de invasão e auditorias de rede, sistemas e aplicações. Já prestou serviços e ministrou cursos e palestras sobre segurança da informação para grandes empresas nacionais, internacionais, órgãos públicos e militares, assim como em diversos eventos, entre eles: FISL – Fórum Internacional de Software Livre, EnCSIRTs – Encontro de CSIRTs Acadêmicos, SegInfo – Workshop de Segurança da Informação, Congresso Digital, Fórum de Software Livre do Rio de Janeiro, Web Security Forum, Ultra SL – Ultra Maratona How To de Software Livre, FLISOL, entre outros. Na Academia Clavis é instrutor dos seguintes cursos: Certified Ethical Hacker (CEH), Teste de Invasão em Redes e Sistemas, Auditoria de Segurança em Aplicações Web,Análise Forense Computacional, Teste de Invasão em Redes e Sistemas EAD, Auditoria de Segurança em Aplicações Web EAD e Análise Forense Computacional EAD. Possui as certificações CEH (Certified Ethical Hacker) e SANS SSP-CNSA.

Transcript of OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web

Page 1: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web

Rafael Soares FerreiraRafael Soares FerreiraSócio Diretor TécnicoSócio Diretor Té[email protected]@clavis.com.br

OWASP Top 10OWASP Top 10Principais Vulnerabilidades Principais Vulnerabilidades

em Aplicações Webem Aplicações Web

Page 2: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web

$ whoami

• Grupo Clavis

• Sócio Diretor Técnico

• Detecção e resposta a incidentes de segurança

• Testes de invasão em redes, sistemas e aplicações.

Page 3: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web

Principais Ameaças

Injeções

Page 4: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web

Descrição

• Ocorre quando a aplicação envia dados não tratados para algum serviço interno.

• Pode ser feita via SQL, LDAP, Xpath, comandos de sistema operacional, argumentos de programas, etc.

• Descoberta por varreduras e/ou fuzzers

• Mais facilmente por verificação de código.

Page 5: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web

Impactos

• Dependendo do tipo de injeção os danos causados podem ser:

Perda ou corrupção de dados

Negação de Serviço

Falhas de autenticação

Execução arbitrária de código e até comprometimento total do sistema.

Page 6: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web

Como se Prevenir

• Não utilizar dados não confiáveis em comandos e/ou queries.

• Rotinas de validação ou “escape” de caracteres.

• É aconselhável o uso de validação positiva nas entradas.

• Utilizar canonicalização de dados.

Page 7: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web

Principais Ameaças

XSS – Cross Site Scripting

Page 8: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web

Descrição

• Ocorre quando uma aplicação inclui dados não tratados em um objeto enviado ao navegador.

• A detecção pode ser feita via teste de injeção ou análise de código.

• Existem 3 principais tipos: Stored Reflected DOM based XSS

Page 9: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web

Impactos

• Atacante pode executar scripts no navegador da vítima para: Roubo de informações de sessão Pichação de Sites Inserção de conteúdo malicioso Redirecionamento de usuários e etc.

• Além da exposição de informações dos usuários, tal falha pode denegrir a imagem da instituição responsável pela aplicação.

Page 10: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web

Como se Prevenir

• “Escapar” caracteres vindo de fontes não confiáveis e que serão utilizados no contexto do navegador (body, atributos, JavaScript, CSS, URL).

• A validação positiva é sempre interessante mas é preciso atentar para peculiaridades da aplicação em questão pois caracteres especiais e codificações diversas podem fazer parte da rotina da aplicação.

Page 11: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web

Quebra de Autenticação / Sessão

Principais Ameaças

Page 12: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web

• Restrição de conteúdos / recursos

Autenticação HTTP:Basic -> credenciais concatenadasseparadas por “:” e codificadas em base64

Digest -> hash MD5

Quebra de Autenticação / Sessão

Definição

Page 13: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web

HTTP digest:

Força-brutaHydra (http://freeworld.thc.org/thc-hydra/)

Replay de tráfegoTCPReplay (http://tcpreplay.synfin.net/trac/)

Impacto

Quebra de Autenticação / Sessão

Page 14: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web

Tunelameto por SSL

Políticas de segurança

CAPTCHA

OWASPAuthentication_Cheat_Sheet

Como se Prevenir

Quebra de Autenticação / Sessão

Page 15: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web

Referência Direta a Objetos

Principais Ameaças

Page 16: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web

• Exposição de informações internas

• Evite Controle de Acesso em camada de apresentação

Modificações de informações para acesso a dados não autorizados

Referência Direta a Objetos

Definição

Page 17: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web

• Evite expor referências a objetos internos

Validação de referências

Mapas de referênciaEx: http://www.example.com/application?file=1

Impacto

Referência Direta a Objetos

Page 18: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web

Cross Site Request Forgery

Principais Ameaças

Page 19: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web

• Browsers enviam alguns tipos de credenciais automaticamente em cada requisição

CookiesCabeçalhosEndereço IPCertificados SSL

Cross Site Request Forgery (CSRF)

Definição

Page 20: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web

• A vítima acessa um site malicioso enquanto está logada no sistema vulnerável

O atacante força a vítima a fazer tal requisição

Impacto

Cross Site Request Forgery (CSRF)

Page 21: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web

• Autenticações forçadas em requisições sensíveis

Controle exposição de dados utilizados como credenciais

OWASP:CSRF_Prevention_Cheat_Sheet

Como se Prevenir

Cross Site Request Forgery (CSRF)

Page 22: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web

Falhas de Configuração

Principais Ameaças

Page 23: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web

• Aplicações rodam em cima de serviços que rodam em cima de SOs

• Todos podem ser vetores de ataque

• Exploits (e patchs!) se aplicam à qualquer tipo de software

Falhas de Configuração

Definição

Page 24: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web

• “Hardening” de servidores

Patchs e atualizações

Homologação de mudanças

Vulnerability Management

Como se Prevenir

Falhas de Configuração

Page 25: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web

Armazenamento com métodos Inseguros

Principais Ameaças

Page 26: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web

Descrição

Falha mais comum e grave: simplesmente

não criptografar dados sensíveis Falhas quando a criptografia é empregada:

Geração e armazenamento inseguros de chaves Não implantar políticas de rotação de chaves Utilizar algoritmos de criptografia fracos Utilizar métodos de criptografia em uma só via (hash)

fracos ou sem salto para proteger senhas.

Page 27: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web

Frequentemente comprometem todos os

dados protegidos por criptografia Tipicamente, estes dados incluem, mas não

estão limitados à: Credenciais de acesso Dados pessoais Registros de saúde Cartões de crédito, etc.

Impacto

Page 28: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web

Requisitos mínimos para armazenamento

de dados em aplicações web: Algoritmos de criptografia e chaves utilizados devem

ser apropriadamente fortes. Chaves e senhas devem estar protegidas de acesso

não autorizado. Senhas devem armazenadas em hash com um

algoritmo de criptografia em uma só via forte e com

um salto apropriado.

Como se Previnir

Page 29: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web

Falha em restringir acesso à URL

Principais Ameaças

Page 30: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web

Descrição

Falha em proteger requisições da página apropriadamente

Falhas básicas de fácil detecção, uma vez listadas todas as páginas (URLs) que existem para atacar.

Page 31: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web

Impacto

Frequentemente, contas privilegiadas são o alvo deste tipo de ataque

Uma vez bem sucedido, o atacante pode fazer qualquer coisa que a vítima poderia fazer

Page 32: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web

Como se Prevenir

• É fundamental ter muito bem definido o que se trata de informação pública (não requer credenciais) e privada (requer credenciais) e então proteger a informação privada.

• Políticas mais restritivas (block all, allow some) são mais adequadas que as mais permissivas (allow all, block some), pois os casos não previstos são bloqueados e o acesso é liberado sob demanda.

Page 33: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web

Proteção Insuficiente no Transporte de Dados

Principais Ameaças

Page 34: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web

Descrição

Falha em proteger o tráfego de rede onde passam os dados da aplicação

Utilização de criptografia somente na autenticação (expondo dados e IDs de seção)

Utilização de certificados expirados ou mal configurados

Page 35: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web

Estas falhas expõe dados de usuários e podem conduzir a roubo de contas.

Se uma conta de administração for comprometida, o site inteiro pode ser exposto.

Utilizar de métodos de criptografia mal configurados também podem facilitar ataques de phishing e Man-In-The-Middle (MITM)

Impacto

Page 36: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web

• É importante que a aplicação não aceite requisições contendo dados privados por canais inseguros

• A flag 'secure' dos cookies estipula que o cookie só pode ser transmitido através de um canal seguro

Como se Prevenir

Page 37: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web

Redirecionamentos e repasses não validados

Principais Ameaças

Page 38: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web

Descrição

Falha em validar o destino de redirecionamentos ou repasses utilizados

Problemas mais comuns: Ausência de validação do destino de um

redirecionamento ou repasse Similaridade entre redirecionamento para destinos

internos (da própria aplicação) e externos

Page 39: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web

Redirecionamentos podem induzir usuários a instalar malware ou revelar informações sensíveis.

Repasses inseguros podem permitir contornar controles de acesso.

Impacto

Page 40: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web

Recomendações básicas para utilizar redirecionamentos e repasses: Não envolver parâmetros de usuário para calcular o

destino Se não puder evitar, validar o parâmetro e verificar

autorização do usuário

Como se Prevenir

Page 41: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web

Dúvidas?

Page 42: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web

Siga a Clavis

Page 43: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web

Rafael Soares FerreiraRafael Soares FerreiraSócio Diretor TécnicoSócio Diretor Técnico

Muito Obrigado!Muito Obrigado!

[email protected]@clavis.com.br

@rafaelsferreira@rafaelsferreira