OWASP Top 10
Principais Vulnerabilidades
        em Aplicações Web




          Rafael Soares Ferreira
          Sócio Diretor Técnico
           rafael@clavis.com.br
$ 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.
Principais Ameaças




     Injeções
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.
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.
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.
Principais Ameaças




    XSS – Cross Site
    Scripting
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
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.
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.
Principais Ameaças




   Quebra de Autenticação
   / Sessão
Definição


   Quebra de Autenticação / Sessão
   • Restrição de conteúdos / recursos

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

   Digest -> hash MD5
Impacto


  Quebra de Autenticação / Sessão
   HTTP digest:

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

   Replay de tráfego
   TCPReplay
   (http://tcpreplay.synfin.net/trac/)
Como se Prevenir


   Quebra de Autenticação / Sessão
   
       Tunelameto por SSL

   
       Políticas de segurança

   
       CAPTCHA

   
    OWASP
   Authentication_Cheat_Sheet
Principais Ameaças




    Referência Direta a
    Objetos
Definição


   Referência Direta a Objetos
   • 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
Impacto


   Referência Direta a Objetos
   • Evite expor referências a objetos internos

   
       Validação de referências

   
       Mapas de referência
   Ex: http://www.example.com/application?file=1
Principais Ameaças




    Cross Site Request
    Forgery
Definição


   Cross Site Request Forgery
   (CSRF)
   • Browsers enviam alguns tipos de credenciais
   automaticamente em cada requisição

   Cookies
   Cabeçalhos
   Endereço IP
   Certificados SSL
Impacto


   Cross Site Request Forgery
   (CSRF)
   • 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
Como se Prevenir


   Cross Site Request Forgery
   (CSRF)
   • Autenticações forçadas em requisições sensíveis

   
      Controle exposição de dados utilizados
   
     como credenciais

   
    OWASP:
   CSRF_Prevention_Cheat_Sheet
Principais Ameaças




   Falhas de Configuração
Definição


   Falhas de Configuração

   • 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
Como se Prevenir


   Falhas de Configuração

   • “Hardening” de servidores

   
       Patchs e atualizações

   
       Homologação de mudanças

   
       Vulnerability Management
Principais Ameaças




    Armazenamento com
    métodos Inseguros
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.
Impacto


   
       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.
Como se Previnir


   
       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.
Principais Ameaças




   Falha em restringir
   acesso à URL
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.
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
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.
Principais Ameaças




   Proteção Insuficiente no
   Transporte de Dados
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
Impacto


   
       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)
Como se Prevenir



   • É 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
Principais Ameaças




  Redirecionamentos e
  repasses não validados
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
Impacto



   
       Redirecionamentos podem induzir usuários
       a instalar malware ou revelar informações
       sensíveis.
   
       Repasses inseguros podem permitir
       contornar controles de acesso.
Como se Prevenir



   
       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
Dúvidas?
Siga a Clavis
Muito Obrigado!

       rafael@clavis.com.br

       @rafaelsferreira




    Rafael Soares Ferreira
      Sócio Diretor Técnico

Mais conteúdo relacionado

PPTX
Vulnerabilities in modern web applications
PPTX
Nessus-Vulnerability Tester
PDF
4 Mapping the Application
PDF
A Threat Hunter Himself
PDF
Benefits of Web Application Firewall
PDF
OWASP Top 10 Vulnerabilities - A5-Broken Access Control; A6-Security Misconfi...
PDF
Penetration testing & Ethical Hacking
PPTX
Sql injection attack
Vulnerabilities in modern web applications
Nessus-Vulnerability Tester
4 Mapping the Application
A Threat Hunter Himself
Benefits of Web Application Firewall
OWASP Top 10 Vulnerabilities - A5-Broken Access Control; A6-Security Misconfi...
Penetration testing & Ethical Hacking
Sql injection attack

Mais procurados (20)

PPTX
Google Dorks
PPTX
WTF is Penetration Testing v.2
PPT
Application Security
PPT
OWASP Top Ten
PDF
Implementando owasp samm en latam
PPTX
Defending broken access control in .NET
PPTX
OWASP Top 10 2021 Presentation (Jul 2022)
PDF
Desenvolvimento Seguro de Software - 10o Workshop SegInfo - Apresentação
PDF
SAST vs. DAST: What’s the Best Method For Application Security Testing?
PPTX
Owasp Top 10 A1: Injection
PDF
Windows İşletim Sistemi Yetki Yükseltme Çalışmaları
PPTX
File upload vulnerabilities & mitigation
PPTX
Owasp top 10 vulnerabilities
PPT
Introduction to Web Application Penetration Testing
PDF
Slides do Treinamento - OWASP TOP 10 (Em português)
PDF
Introduction to OpenID Connect
PPT
Top 10 Web Security Vulnerabilities (OWASP Top 10)
PDF
Broken access controls
PPTX
The Zero Trust Model of Information Security
Google Dorks
WTF is Penetration Testing v.2
Application Security
OWASP Top Ten
Implementando owasp samm en latam
Defending broken access control in .NET
OWASP Top 10 2021 Presentation (Jul 2022)
Desenvolvimento Seguro de Software - 10o Workshop SegInfo - Apresentação
SAST vs. DAST: What’s the Best Method For Application Security Testing?
Owasp Top 10 A1: Injection
Windows İşletim Sistemi Yetki Yükseltme Çalışmaları
File upload vulnerabilities & mitigation
Owasp top 10 vulnerabilities
Introduction to Web Application Penetration Testing
Slides do Treinamento - OWASP TOP 10 (Em português)
Introduction to OpenID Connect
Top 10 Web Security Vulnerabilities (OWASP Top 10)
Broken access controls
The Zero Trust Model of Information Security
Anúncio

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

PPTX
OWASP Top Ten
PPTX
CWI - Núcleo de tecnologia - OWASP Top Ten
PDF
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
PDF
OWASP TOP 10 - Web Security
PPT
Ameacas e Vulnerabilidades em Apps Web-2013
PPT
Ameaças e Vulnerabilidade em Apps Web-2013
PDF
Saindo do 0x0 sobre segurança em aplicações web
PPTX
Segurança na web
PPTX
Segurança na web
PPT
OWASP Top 10 e aplicações .Net - Tech-Ed 2007
PDF
Analysis of vulnerabilities in web applications - LinuxCon Brazil 2010
PDF
Testes de segurança em aplicações web
PDF
Analise de vulnerabilidade como e feita.
PDF
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
PPT
Tratando as vulnerabilidades do Top 10 com php
PPTX
Desenvolvimento de Aplicações Web Seguras
PPTX
CJR Apresenta: OWASP TOP10
PPTX
Desenvolvimento seguro - WorkSec 2019
PPTX
Desenvolvimento de Software Seguro
PDF
Antar ferreira
OWASP Top Ten
CWI - Núcleo de tecnologia - OWASP Top Ten
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
OWASP TOP 10 - Web Security
Ameacas e Vulnerabilidades em Apps Web-2013
Ameaças e Vulnerabilidade em Apps Web-2013
Saindo do 0x0 sobre segurança em aplicações web
Segurança na web
Segurança na web
OWASP Top 10 e aplicações .Net - Tech-Ed 2007
Analysis of vulnerabilities in web applications - LinuxCon Brazil 2010
Testes de segurança em aplicações web
Analise de vulnerabilidade como e feita.
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
Tratando as vulnerabilidades do Top 10 com php
Desenvolvimento de Aplicações Web Seguras
CJR Apresenta: OWASP TOP10
Desenvolvimento seguro - WorkSec 2019
Desenvolvimento de Software Seguro
Antar ferreira
Anúncio

Mais de Clavis Segurança da Informação (20)

PPTX
Bsides SP 2022 - EPSS - Final.pptx
PDF
Cloud Summit Canada com Rodrigo Montoro
PDF
Resposta a Incidentes | Mind The Sec 2022 com Rodrigo Montoro
PPTX
Big Data e Segurança da Informação - 10o Workshop SegInfo - Apresentação
PDF
A maldição do local admin - 10o Workshop SegInfo - Apresentação
PDF
Adoção do PCI no Brasil - 10o Workshop SegInfo - Apresentação
PDF
PDF
Palestra Clavis - Octopus
PDF
Palestra Exceda - Clavis 2016
PDF
Clavis e Cyberark promovem almoço para sobre soluções para a área de Seguranç...
PDF
Webinar #27 - Curso Permanente ComPTIA Security+ Exame SY0 401
PDF
Webinar # 21 – Análise Forense de Redes
PDF
Manobras Evasivas: Técnicas de Evasão para Varreduras com o Nmap
PDF
Testes de Invasão ajudam a alcançar a conformidade - Segurança da Informação
PDF
Entendendo como as Mídias Socias Revolucionaram os Ataques de Força Bruta
PDF
Descobrindo (e Explorando) Vulnerabilidades em Aplicações Web com o Wmap
PDF
Gerenciamento de Vulnerabilidades em Redes Corporativas - CNASI - DF
PPT
Impacto sobre o Negócio da Exploração de Vulnerabilidades de Injeção em Aplic...
PPT
Gerenciamento de Vulnerabilidades em Redes Corporativas - CNASI RJ
PDF
Webinar #18 – A Nova Lei de Cibercrimes
Bsides SP 2022 - EPSS - Final.pptx
Cloud Summit Canada com Rodrigo Montoro
Resposta a Incidentes | Mind The Sec 2022 com Rodrigo Montoro
Big Data e Segurança da Informação - 10o Workshop SegInfo - Apresentação
A maldição do local admin - 10o Workshop SegInfo - Apresentação
Adoção do PCI no Brasil - 10o Workshop SegInfo - Apresentação
Palestra Clavis - Octopus
Palestra Exceda - Clavis 2016
Clavis e Cyberark promovem almoço para sobre soluções para a área de Seguranç...
Webinar #27 - Curso Permanente ComPTIA Security+ Exame SY0 401
Webinar # 21 – Análise Forense de Redes
Manobras Evasivas: Técnicas de Evasão para Varreduras com o Nmap
Testes de Invasão ajudam a alcançar a conformidade - Segurança da Informação
Entendendo como as Mídias Socias Revolucionaram os Ataques de Força Bruta
Descobrindo (e Explorando) Vulnerabilidades em Aplicações Web com o Wmap
Gerenciamento de Vulnerabilidades em Redes Corporativas - CNASI - DF
Impacto sobre o Negócio da Exploração de Vulnerabilidades de Injeção em Aplic...
Gerenciamento de Vulnerabilidades em Redes Corporativas - CNASI RJ
Webinar #18 – A Nova Lei de Cibercrimes

Último (20)

PDF
resumo de instalação de placa arduino em jardim vertical para fertirrigação
PPT
Padrões de Beleza I - Estética Corporal e Saúde
PPTX
Importacao_Ordem_Customizacao_SAP_S4HANA.pptx
PDF
Metodologia Scrumban-XP - Um Guia Rápido (MrSomebody19).pdf
PDF
Integração da produção com o SAP Extended Warehouse Management, EWM130 Col26
PPT
Apresentacao Do Trabalho de Inteligencia
PDF
Arquitetura de Software slides sommerville
PDF
POO - Aula 05 - Herança - Generalização e Especialização.pdf
PDF
pdfcoffee.com_metalografia-25-pdf-free.pdf
PDF
Capacitação em Logística – Instituto Federal
PPTX
Formação aaaaaaaaadsdsfg er rsgrsgesf efsfsefsf e LEEI.pptx
PDF
Administração de qualidade no SAP Extended Warehouse Management, EWM140 Col26
PDF
Personalização de tópicos adicionais no SAP Extended Warehouse Management, EW...
PDF
POO - Aula 03 - Membros Estáticos e Construtores.pdf
PDF
POO - Aula 05 - Herança - Generalização e Especialização.pdf
PDF
T-pico 1.pdfnsjabdkaksbbsuendnijsbshajanzk
PPTX
AULA 1.pptx GESTÃO DE OPERAÇÕES INDUSTRIAIS
PDF
Processamento da remessa no SAP ERP, SCM610 Col15
PPTX
Introdução a Computação em Nuvem-parte2-T2
PPTX
Legislação aeronautica na aviação civil Brasileira
resumo de instalação de placa arduino em jardim vertical para fertirrigação
Padrões de Beleza I - Estética Corporal e Saúde
Importacao_Ordem_Customizacao_SAP_S4HANA.pptx
Metodologia Scrumban-XP - Um Guia Rápido (MrSomebody19).pdf
Integração da produção com o SAP Extended Warehouse Management, EWM130 Col26
Apresentacao Do Trabalho de Inteligencia
Arquitetura de Software slides sommerville
POO - Aula 05 - Herança - Generalização e Especialização.pdf
pdfcoffee.com_metalografia-25-pdf-free.pdf
Capacitação em Logística – Instituto Federal
Formação aaaaaaaaadsdsfg er rsgrsgesf efsfsefsf e LEEI.pptx
Administração de qualidade no SAP Extended Warehouse Management, EWM140 Col26
Personalização de tópicos adicionais no SAP Extended Warehouse Management, EW...
POO - Aula 03 - Membros Estáticos e Construtores.pdf
POO - Aula 05 - Herança - Generalização e Especialização.pdf
T-pico 1.pdfnsjabdkaksbbsuendnijsbshajanzk
AULA 1.pptx GESTÃO DE OPERAÇÕES INDUSTRIAIS
Processamento da remessa no SAP ERP, SCM610 Col15
Introdução a Computação em Nuvem-parte2-T2
Legislação aeronautica na aviação civil Brasileira

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

  • 1. OWASP Top 10 Principais Vulnerabilidades em Aplicações Web Rafael Soares Ferreira Sócio Diretor Técnico [email protected]
  • 2. $ 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.
  • 3. Principais Ameaças Injeções
  • 4. 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.
  • 5. 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.
  • 6. 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.
  • 7. Principais Ameaças XSS – Cross Site Scripting
  • 8. 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
  • 9. 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.
  • 10. 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.
  • 11. Principais Ameaças Quebra de Autenticação / Sessão
  • 12. Definição Quebra de Autenticação / Sessão • Restrição de conteúdos / recursos  Autenticação HTTP: Basic -> credenciais concatenadas separadas por “:” e codificadas em base64 Digest -> hash MD5
  • 13. Impacto Quebra de Autenticação / Sessão HTTP digest: Força-bruta Hydra (http://freeworld.thc.org/thc-hydra/) Replay de tráfego TCPReplay (http://tcpreplay.synfin.net/trac/)
  • 14. Como se Prevenir Quebra de Autenticação / Sessão  Tunelameto por SSL  Políticas de segurança  CAPTCHA  OWASP Authentication_Cheat_Sheet
  • 15. Principais Ameaças Referência Direta a Objetos
  • 16. Definição Referência Direta a Objetos • 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
  • 17. Impacto Referência Direta a Objetos • Evite expor referências a objetos internos  Validação de referências  Mapas de referência Ex: http://www.example.com/application?file=1
  • 18. Principais Ameaças Cross Site Request Forgery
  • 19. Definição Cross Site Request Forgery (CSRF) • Browsers enviam alguns tipos de credenciais automaticamente em cada requisição Cookies Cabeçalhos Endereço IP Certificados SSL
  • 20. Impacto Cross Site Request Forgery (CSRF) • 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
  • 21. Como se Prevenir Cross Site Request Forgery (CSRF) • Autenticações forçadas em requisições sensíveis  Controle exposição de dados utilizados  como credenciais  OWASP: CSRF_Prevention_Cheat_Sheet
  • 22. Principais Ameaças Falhas de Configuração
  • 23. Definição Falhas de Configuração • 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
  • 24. Como se Prevenir Falhas de Configuração • “Hardening” de servidores  Patchs e atualizações  Homologação de mudanças  Vulnerability Management
  • 25. Principais Ameaças Armazenamento com métodos Inseguros
  • 26. 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.
  • 27. Impacto  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.
  • 28. Como se Previnir  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.
  • 29. Principais Ameaças Falha em restringir acesso à URL
  • 30. 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.
  • 31. 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
  • 32. 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.
  • 33. Principais Ameaças Proteção Insuficiente no Transporte de Dados
  • 34. 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
  • 35. Impacto  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)
  • 36. Como se Prevenir • É 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
  • 37. Principais Ameaças Redirecionamentos e repasses não validados
  • 38. 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
  • 39. Impacto  Redirecionamentos podem induzir usuários a instalar malware ou revelar informações sensíveis.  Repasses inseguros podem permitir contornar controles de acesso.
  • 40. Como se Prevenir  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
  • 43. Muito Obrigado! [email protected] @rafaelsferreira Rafael Soares Ferreira Sócio Diretor Técnico

Notas do Editor

  • #3: 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. Tem especial interesse nas seguintes áreas: 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.
  • #4: ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
  • #5: As falhas de injeção, em especial SQL Injection , são comuns em aplicações Web. A injeção ocorre quando os dados fornecidos pelo usuário são enviados a um interpretador com parte do comando ou consulta. A informação maliciosa fornecida pelo atacante engana o interpretador que irá executar comandos mal intencionados ou manipular informações Referências: http://www.matped.com/2009/07/injecao-codigo-paginas-php/
  • #6: ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
  • #7: ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
  • #8: ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
  • #9: ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
  • #10: ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
  • #11: ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
  • #12: ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
  • #13: Referências: https://www.owasp.org/index.php/Broken_Authentication_and_Session_Management
  • #14: Referências: http://www.thc.org/thc-hydra/ http://tcpreplay.synfin.net/
  • #15: Referências: https://www.owasp.org/index.php/Authentication_Cheat_Sheet
  • #16: ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
  • #17: Uma referência direta à objeto ocorre quando um desenvolvedor expõe a referência a um objeto implementado internamente, como é o caso de arquivos, diretórios, registros da base de dados ou chaves, na forma de uma URL ou parâmetro de formulário. Os atacantes podem manipular estas referências para acessar outros objetos sem autorização. Referências: http://serdarbuyuktemiz.blogspot.com/2008/09/insecure-direct-object-reference.html
  • #18: ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
  • #19: ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
  • #20: Um ataque CSRF força o navegador da vítima, que esteja autenticado em uma aplicação, a enviar uma requisição pré-autenticada a um servidor Web vulnerável, que por sua vez força o navegador da vítima a executar uma ação maliciosa em prol do atacante Referências: http://www.veracode.com/security/csrf http://www.securitytube.net/video/196
  • #21: ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
  • #22: Referências: https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)_Prevention_Cheat_Sheet https://www.owasp.org/index.php/Category:OWASP_CSRFGuard_Project
  • #23: ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
  • #24: ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
  • #25: Referências: http://www.moneycontrol.com/news-topic/internet-security-company-/video-firewall-ips-ids-systems-and-vulnerability-management-tutorial-guidewmv_ECAWAcZ80tg.html
  • #26: ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
  • #27: Atacantes tipicamente não contornam os algoritmos de criptografia em si, mas exploram outras brechas que permitem obter chaves ou cópias de dados em texto claro ( backups ), ou acessar dados via canais que descriptografam automaticamente. Dados sensíveis trafegados sem criptografia são capturados pela simples interceptação de tráfego Senhas protegidas por métodos de criptografia em uma só via podem ser quebradas através de “ Rainbow Tables ” Projetos relacionados a Rainbow Tables : http://regenboog.yellosoft.us/ http://project-rainbowcrack.com/ http://lasecwww.epfl.ch/~oechslin/projects/ophcrack
  • #28: O comprometimento pode ser parcial se forem utilizadas diversas chaves protegendo dados de diferentes tipos. Assim, quando uma chave é comprometida, os dados criptografas com outras chaves permanecem seguros. É importante ter em mente que cópias dos dados ( backups , servidores de teste internos) também devem ser protegidos.
  • #29: Riscos associados a métodos de criptografia inseguros envolvem conceitos de criptoanálise para contornar matematicamente este métodos e por isto estão fora do escopo da apresentação A escolha do algoritmo de criptografia também depende dos requisitos da aplicação. Um algoritmo considerado não tão forte pode ser escolhido por seu desempenho. Neste caso, é importante trocar regularmente as chaves de criptografia. Métodos de criptografia em uma só via também devem ser escolhidos apropriadamente, pois, geralmente nas aplicações web, o método é aplicado no lado do cliente, de forma que o procedimento que o executa fica exposto.
  • #30: ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
  • #31: A falha está relacionada a possibilidade de contornar o mecanismo de autorização da aplicação web só pela modificação da URL. Por exemplo, dado um usuário conectado legitimamente à URL: http://www.aplicacao_web.com/sistema Se este usuário editar a URL e acessar, por exemplo: http://www.aplicacao_web.com/admin Por ele já estar autenticado em “ /sistema ” , ele pode entrar em “ /admin ” ? Ou pior, um usuário não autenticado pode acessar diretamente “ /admin ” ?
  • #32: O comprometimento não está relacionado a roubo de credenciais de acesso, mas a personificação do usuário ( im personation attack ), onde o atacante se faz passar por outro usuário, tendo acesso à informação que o usuário tem permissão para acessar Uma vez executado o ataque, o atacante terá, provavelmente, a oportunidade de modificar as credenciais de acesso do usuário, mas esta ação é característica deste ataque e sim um produto do mesmo.
  • #33: É 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. No caso de acessos automatizados, é importante fazer as verificações corretamente, pois um atacante pode simular um acesso automatizado para contornar os mecanismos de proteção.
  • #34: ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
  • #35: A falha diz respeito ao problemas na proteção dos dados trafegados pela Internet. No caso das aplicações web, refere-se ao uso criptografia sobre o protocolo HTTP (HTTPS) Se a criptografia for utilizada somente para a autenticação, o atacante não poderá interceptar as credenciais de acesso, mas poderá interceptar o ID de seção e personificar o usuário ( impersonation attack ), a fim de acessar informações que o usuário tem permissão para acessar
  • #36: Se não houver nenhuma proteção no transporte de dados, o atacante pode interceptá-los quando trafegam na rede, incluindo credenciais de acesso, informações pessoais, dados da aplicação, etc O uso de certificados auto-assinados é prejudicial à confiabilidade da aplicação e facilita a execução de ataques MITM, que, em geral, utilizam certificados auto-assinados (se o browser sempre apresenta o aviso alertando sobre o certificado auto-assinado, o usuário pode não perceber a diferença entre o certificado usual e o do atacante). É importante proteger também conexões de back end , pois estas podem revelar informações confidenciais ou que podem ser usadas para executar um ataque vindo da rede interna
  • #37: Para proteger somente os dados privados, é preciso diferenciar os dados públicos dos privados e verificar a transição entre a transmissão de dados públicos e protegidos e vice-versa É importante também que a aplicação não aceite requisições contendo dados privados por canais inseguros, pois um atacante pode modificar a URL da aplicação e enviá-la a um usuário autenticado para interceptar os dados transmitidos por este usuário ao acessar esta URL modificada A flag 'secure ' dos cookies estipula que o cookie só pode ser transmitido através de um canal seguro
  • #38: ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
  • #39: A falha diz respeito a manipulação de repasses ( forwards ) e redirecionamentos legítimos presentes na aplicação para destinos arbitrários controlados pelo atacante. Um ataque deste tipo, em geral, é muito similar a um ataque de injeção comum, mas difere quanto ao objetivo A falha de validação pode permitir que o atacante manipule um redirecionamento interno para um destino externo arbitrário
  • #40: Um atacante pode redirecionar o atacante para um site malicioso a fim de instalar malware , para uma cópia do site para induzir o usuário a inserir suas credenciais de acesso, para um site que repassa requisições para o servidor web original ( Man-In-The-Middle attack ), etc O atacante pode manipular redirecionamentos internos para acessar páginas privadas ou para contornar mecanismos de autorização (escalada de privilégios) Ataques deste tipo contém uma etapa de engenharia social, pois o redirecionamento em si não configura dano obrigatoriamente, mas o que o usuário é induzido a fazer, uma vez redirecionado, que em geral é danosa
  • #41: Estas falhas são úteis para os phishers , pois o endereço é enviado no phishing scam é, de fato, legítimo, mas redireciona para um destino arbitrário Ao se utilizar valores mapeados (tabelas hash ) só será possível redirecionar para os destinos pré-definidos, assim ainda que o redirecionamento tenha sido manipulado, é mais simples fazer os controles de autorização, pois os possíveis destinos estão restritos aos destinos mapeados. A ESAPI é uma API para desenvolvimento de aplicações web desenvolvida pela OWASP e inclui módulos de validação de entradas, codificação de saídas, autenticação, etc
  • #42: ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________