owasp top 10 - experiência e cases com auditorias teste de invasão em 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
![Page 1: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web](https://reader035.vdocuments.site/reader035/viewer/2022081511/556a6fbfd8b42ab0468b5201/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081511/556a6fbfd8b42ab0468b5201/html5/thumbnails/2.jpg)
$ 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](https://reader035.vdocuments.site/reader035/viewer/2022081511/556a6fbfd8b42ab0468b5201/html5/thumbnails/3.jpg)
Principais Ameaças
Injeções
![Page 4: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web](https://reader035.vdocuments.site/reader035/viewer/2022081511/556a6fbfd8b42ab0468b5201/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081511/556a6fbfd8b42ab0468b5201/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081511/556a6fbfd8b42ab0468b5201/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081511/556a6fbfd8b42ab0468b5201/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081511/556a6fbfd8b42ab0468b5201/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081511/556a6fbfd8b42ab0468b5201/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081511/556a6fbfd8b42ab0468b5201/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081511/556a6fbfd8b42ab0468b5201/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081511/556a6fbfd8b42ab0468b5201/html5/thumbnails/12.jpg)
• 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](https://reader035.vdocuments.site/reader035/viewer/2022081511/556a6fbfd8b42ab0468b5201/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081511/556a6fbfd8b42ab0468b5201/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081511/556a6fbfd8b42ab0468b5201/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081511/556a6fbfd8b42ab0468b5201/html5/thumbnails/16.jpg)
• 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](https://reader035.vdocuments.site/reader035/viewer/2022081511/556a6fbfd8b42ab0468b5201/html5/thumbnails/17.jpg)
• 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](https://reader035.vdocuments.site/reader035/viewer/2022081511/556a6fbfd8b42ab0468b5201/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081511/556a6fbfd8b42ab0468b5201/html5/thumbnails/19.jpg)
• 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](https://reader035.vdocuments.site/reader035/viewer/2022081511/556a6fbfd8b42ab0468b5201/html5/thumbnails/20.jpg)
• 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](https://reader035.vdocuments.site/reader035/viewer/2022081511/556a6fbfd8b42ab0468b5201/html5/thumbnails/21.jpg)
• 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](https://reader035.vdocuments.site/reader035/viewer/2022081511/556a6fbfd8b42ab0468b5201/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081511/556a6fbfd8b42ab0468b5201/html5/thumbnails/23.jpg)
• 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](https://reader035.vdocuments.site/reader035/viewer/2022081511/556a6fbfd8b42ab0468b5201/html5/thumbnails/24.jpg)
• “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](https://reader035.vdocuments.site/reader035/viewer/2022081511/556a6fbfd8b42ab0468b5201/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081511/556a6fbfd8b42ab0468b5201/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081511/556a6fbfd8b42ab0468b5201/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081511/556a6fbfd8b42ab0468b5201/html5/thumbnails/28.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081511/556a6fbfd8b42ab0468b5201/html5/thumbnails/29.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081511/556a6fbfd8b42ab0468b5201/html5/thumbnails/30.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081511/556a6fbfd8b42ab0468b5201/html5/thumbnails/31.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081511/556a6fbfd8b42ab0468b5201/html5/thumbnails/32.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081511/556a6fbfd8b42ab0468b5201/html5/thumbnails/33.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081511/556a6fbfd8b42ab0468b5201/html5/thumbnails/34.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081511/556a6fbfd8b42ab0468b5201/html5/thumbnails/35.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081511/556a6fbfd8b42ab0468b5201/html5/thumbnails/36.jpg)
• É 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](https://reader035.vdocuments.site/reader035/viewer/2022081511/556a6fbfd8b42ab0468b5201/html5/thumbnails/37.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081511/556a6fbfd8b42ab0468b5201/html5/thumbnails/38.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081511/556a6fbfd8b42ab0468b5201/html5/thumbnails/39.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081511/556a6fbfd8b42ab0468b5201/html5/thumbnails/40.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081511/556a6fbfd8b42ab0468b5201/html5/thumbnails/41.jpg)
Dúvidas?
![Page 42: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web](https://reader035.vdocuments.site/reader035/viewer/2022081511/556a6fbfd8b42ab0468b5201/html5/thumbnails/42.jpg)
Siga a Clavis
![Page 43: OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicações Web](https://reader035.vdocuments.site/reader035/viewer/2022081511/556a6fbfd8b42ab0468b5201/html5/thumbnails/43.jpg)
Rafael Soares FerreiraRafael Soares FerreiraSócio Diretor TécnicoSócio Diretor Técnico
Muito Obrigado!Muito Obrigado!
[email protected]@clavis.com.br
@rafaelsferreira@rafaelsferreira