SlideShare uma empresa Scribd logo
1 de 43
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

Mais procurados

A Brief History of Cryptographic Failures
A Brief History of Cryptographic FailuresA Brief History of Cryptographic Failures
A Brief History of Cryptographic FailuresNothing Nowhere
 
F8 a.5-pagsulat ng talata
F8 a.5-pagsulat ng talataF8 a.5-pagsulat ng talata
F8 a.5-pagsulat ng talataMaryGraceGaspar
 
Mga-Lingkod-sa-Aking-Komunidad (1).pptx
Mga-Lingkod-sa-Aking-Komunidad (1).pptxMga-Lingkod-sa-Aking-Komunidad (1).pptx
Mga-Lingkod-sa-Aking-Komunidad (1).pptxRitchenCabaleMadura
 
Social Engineering Basics
Social Engineering BasicsSocial Engineering Basics
Social Engineering BasicsLuke Rusten
 
OWASP Top 10 - Insecure Communication
OWASP Top 10 - Insecure CommunicationOWASP Top 10 - Insecure Communication
OWASP Top 10 - Insecure CommunicationGayan Weerarathna
 
Secure Socket Layer (SSL)
Secure Socket Layer (SSL)Secure Socket Layer (SSL)
Secure Socket Layer (SSL)amanchaurasia
 
Lecture 5 ip security
Lecture 5 ip securityLecture 5 ip security
Lecture 5 ip securityrajakhurram
 
Arp protokolu ve guvenlik zafiyeti
Arp  protokolu ve guvenlik zafiyetiArp  protokolu ve guvenlik zafiyeti
Arp protokolu ve guvenlik zafiyetiBGA Cyber Security
 
Presentation on cyber crime
Presentation on cyber crimePresentation on cyber crime
Presentation on cyber crimeSMSumon8
 
Learner centered classroom demo
Learner centered classroom demoLearner centered classroom demo
Learner centered classroom demoBrenda Escopete
 
El Gamal Cryptosystem
El Gamal CryptosystemEl Gamal Cryptosystem
El Gamal CryptosystemAdri Jovin
 
Phishing définition, statistiques, solutions
Phishing   définition, statistiques, solutionsPhishing   définition, statistiques, solutions
Phishing définition, statistiques, solutionsStephane Manhes
 
Tedarikci siber risk_giris
Tedarikci siber risk_girisTedarikci siber risk_giris
Tedarikci siber risk_girisAlper Başaran
 
Ransomware and tips to prevent ransomware attacks
Ransomware and tips to prevent ransomware attacksRansomware and tips to prevent ransomware attacks
Ransomware and tips to prevent ransomware attacksdinCloud Inc.
 
Block cipher modes of operations
Block cipher modes of operationsBlock cipher modes of operations
Block cipher modes of operationsAkashRanjandas1
 

Mais procurados (20)

A Brief History of Cryptographic Failures
A Brief History of Cryptographic FailuresA Brief History of Cryptographic Failures
A Brief History of Cryptographic Failures
 
F8 a.5-pagsulat ng talata
F8 a.5-pagsulat ng talataF8 a.5-pagsulat ng talata
F8 a.5-pagsulat ng talata
 
Mga-Lingkod-sa-Aking-Komunidad (1).pptx
Mga-Lingkod-sa-Aking-Komunidad (1).pptxMga-Lingkod-sa-Aking-Komunidad (1).pptx
Mga-Lingkod-sa-Aking-Komunidad (1).pptx
 
Social Engineering Basics
Social Engineering BasicsSocial Engineering Basics
Social Engineering Basics
 
Des
DesDes
Des
 
OWASP Top 10 - Insecure Communication
OWASP Top 10 - Insecure CommunicationOWASP Top 10 - Insecure Communication
OWASP Top 10 - Insecure Communication
 
Secure Socket Layer (SSL)
Secure Socket Layer (SSL)Secure Socket Layer (SSL)
Secure Socket Layer (SSL)
 
Lecture 5 ip security
Lecture 5 ip securityLecture 5 ip security
Lecture 5 ip security
 
Arp protokolu ve guvenlik zafiyeti
Arp  protokolu ve guvenlik zafiyetiArp  protokolu ve guvenlik zafiyeti
Arp protokolu ve guvenlik zafiyeti
 
Presentation on cyber crime
Presentation on cyber crimePresentation on cyber crime
Presentation on cyber crime
 
Sniffing and spoofing
Sniffing and spoofingSniffing and spoofing
Sniffing and spoofing
 
BGA Eğitim Sunum
BGA Eğitim SunumBGA Eğitim Sunum
BGA Eğitim Sunum
 
Learner centered classroom demo
Learner centered classroom demoLearner centered classroom demo
Learner centered classroom demo
 
El Gamal Cryptosystem
El Gamal CryptosystemEl Gamal Cryptosystem
El Gamal Cryptosystem
 
Phishing définition, statistiques, solutions
Phishing   définition, statistiques, solutionsPhishing   définition, statistiques, solutions
Phishing définition, statistiques, solutions
 
Tedarikci siber risk_giris
Tedarikci siber risk_girisTedarikci siber risk_giris
Tedarikci siber risk_giris
 
Metasploit framwork
Metasploit framworkMetasploit framwork
Metasploit framwork
 
Inc 15 Scada Cyber Security
Inc 15 Scada Cyber SecurityInc 15 Scada Cyber Security
Inc 15 Scada Cyber Security
 
Ransomware and tips to prevent ransomware attacks
Ransomware and tips to prevent ransomware attacksRansomware and tips to prevent ransomware attacks
Ransomware and tips to prevent ransomware attacks
 
Block cipher modes of operations
Block cipher modes of operationsBlock cipher modes of operations
Block cipher modes of operations
 

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

Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...Clavis Segurança da Informação
 
CWI - Núcleo de tecnologia - OWASP Top Ten
CWI - Núcleo de tecnologia - OWASP Top TenCWI - Núcleo de tecnologia - OWASP Top Ten
CWI - Núcleo de tecnologia - OWASP Top TenPOANETMeetup
 
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em AplicaçõesPalestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em AplicaçõesClavis Segurança da Informação
 
OWASP TOP 10 - Web Security
OWASP TOP 10 - Web SecurityOWASP TOP 10 - Web Security
OWASP TOP 10 - Web SecurityMarlon Bernardes
 
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Alcyon Ferreira de Souza Junior, MSc
 
Como analisar a vulnerabilidade de uma aplicação web com o Kali Linux
Como analisar a vulnerabilidade de uma aplicação web com o Kali LinuxComo analisar a vulnerabilidade de uma aplicação web com o Kali Linux
Como analisar a vulnerabilidade de uma aplicação web com o Kali LinuxEdlaine Zamora
 
Engenharia de Software II - Teste de segurança de software
Engenharia de Software  II - Teste de segurança de softwareEngenharia de Software  II - Teste de segurança de software
Engenharia de Software II - Teste de segurança de softwareJuliano Padilha
 
Saindo do 0x0 sobre segurança em aplicações web
Saindo do 0x0 sobre segurança em aplicações webSaindo do 0x0 sobre segurança em aplicações web
Saindo do 0x0 sobre segurança em aplicações webIgor Carneiro
 
Vulnerabilidades Comuns em Aplicações Web - RoadSec 2023 EMERSON EDUARDO RODR...
Vulnerabilidades Comuns em Aplicações Web - RoadSec 2023 EMERSON EDUARDO RODR...Vulnerabilidades Comuns em Aplicações Web - RoadSec 2023 EMERSON EDUARDO RODR...
Vulnerabilidades Comuns em Aplicações Web - RoadSec 2023 EMERSON EDUARDO RODR...EMERSON EDUARDO RODRIGUES
 
Segurança em Aplicações Web conforme OWASP
Segurança em Aplicações Web conforme OWASPSegurança em Aplicações Web conforme OWASP
Segurança em Aplicações Web conforme OWASPFabiano Pereira
 
OWASP Top 10 - A2 2017 Broken Authentication
OWASP Top 10 - A2 2017 Broken AuthenticationOWASP Top 10 - A2 2017 Broken Authentication
OWASP Top 10 - A2 2017 Broken AuthenticationFernando Galves
 
Workshop - Testes de Segurança
Workshop - Testes de SegurançaWorkshop - Testes de Segurança
Workshop - Testes de SegurançaAlan Carlos
 

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

Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
 
CWI - Núcleo de tecnologia - OWASP Top Ten
CWI - Núcleo de tecnologia - OWASP Top TenCWI - Núcleo de tecnologia - OWASP Top Ten
CWI - Núcleo de tecnologia - OWASP Top Ten
 
OWASP Top Ten
OWASP Top TenOWASP Top Ten
OWASP Top Ten
 
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em AplicaçõesPalestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
 
OWASP TOP 10 - Web Security
OWASP TOP 10 - Web SecurityOWASP TOP 10 - Web Security
OWASP TOP 10 - Web Security
 
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
 
Desenvolvimento seguro - WorkSec 2019
Desenvolvimento seguro - WorkSec 2019Desenvolvimento seguro - WorkSec 2019
Desenvolvimento seguro - WorkSec 2019
 
Analysis of vulnerabilities in web applications - LinuxCon Brazil 2010
Analysis of vulnerabilities in web applications - LinuxCon Brazil 2010Analysis of vulnerabilities in web applications - LinuxCon Brazil 2010
Analysis of vulnerabilities in web applications - LinuxCon Brazil 2010
 
Como analisar a vulnerabilidade de uma aplicação web com o Kali Linux
Como analisar a vulnerabilidade de uma aplicação web com o Kali LinuxComo analisar a vulnerabilidade de uma aplicação web com o Kali Linux
Como analisar a vulnerabilidade de uma aplicação web com o Kali Linux
 
Testes de segurança em aplicações web
Testes de segurança em aplicações webTestes de segurança em aplicações web
Testes de segurança em aplicações web
 
Engenharia de Software II - Teste de segurança de software
Engenharia de Software  II - Teste de segurança de softwareEngenharia de Software  II - Teste de segurança de software
Engenharia de Software II - Teste de segurança de software
 
Saindo do 0x0 sobre segurança em aplicações web
Saindo do 0x0 sobre segurança em aplicações webSaindo do 0x0 sobre segurança em aplicações web
Saindo do 0x0 sobre segurança em aplicações web
 
Vulnerabilidades Comuns em Aplicações Web - RoadSec 2023 EMERSON EDUARDO RODR...
Vulnerabilidades Comuns em Aplicações Web - RoadSec 2023 EMERSON EDUARDO RODR...Vulnerabilidades Comuns em Aplicações Web - RoadSec 2023 EMERSON EDUARDO RODR...
Vulnerabilidades Comuns em Aplicações Web - RoadSec 2023 EMERSON EDUARDO RODR...
 
Java security
Java securityJava security
Java security
 
Treinamento ajax 05
Treinamento ajax   05Treinamento ajax   05
Treinamento ajax 05
 
Ameaças e Vulnerabilidade em Apps Web-2013
Ameaças e Vulnerabilidade em Apps Web-2013Ameaças e Vulnerabilidade em Apps Web-2013
Ameaças e Vulnerabilidade em Apps Web-2013
 
Ameacas e Vulnerabilidades em Apps Web-2013
Ameacas e Vulnerabilidades em Apps Web-2013Ameacas e Vulnerabilidades em Apps Web-2013
Ameacas e Vulnerabilidades em Apps Web-2013
 
Segurança em Aplicações Web conforme OWASP
Segurança em Aplicações Web conforme OWASPSegurança em Aplicações Web conforme OWASP
Segurança em Aplicações Web conforme OWASP
 
OWASP Top 10 - A2 2017 Broken Authentication
OWASP Top 10 - A2 2017 Broken AuthenticationOWASP Top 10 - A2 2017 Broken Authentication
OWASP Top 10 - A2 2017 Broken Authentication
 
Workshop - Testes de Segurança
Workshop - Testes de SegurançaWorkshop - Testes de Segurança
Workshop - Testes de Segurança
 

Mais de Clavis Segurança da Informação

Resposta a Incidentes | Mind The Sec 2022 com Rodrigo Montoro
Resposta a Incidentes | Mind The Sec 2022 com Rodrigo MontoroResposta a Incidentes | Mind The Sec 2022 com Rodrigo Montoro
Resposta a Incidentes | Mind The Sec 2022 com Rodrigo MontoroClavis Segurança da Informação
 
Desenvolvimento Seguro de Software - 10o Workshop SegInfo - Apresentação
Desenvolvimento Seguro de Software - 10o Workshop SegInfo - ApresentaçãoDesenvolvimento Seguro de Software - 10o Workshop SegInfo - Apresentação
Desenvolvimento Seguro de Software - 10o Workshop SegInfo - ApresentaçãoClavis Segurança da Informação
 
Big Data e Segurança da Informação - 10o Workshop SegInfo - Apresentação
Big Data e Segurança da Informação - 10o Workshop SegInfo - ApresentaçãoBig Data e Segurança da Informação - 10o Workshop SegInfo - Apresentação
Big Data e Segurança da Informação - 10o Workshop SegInfo - ApresentaçãoClavis Segurança da Informação
 
A maldição do local admin - 10o Workshop SegInfo - Apresentação
A maldição do local admin - 10o Workshop SegInfo - ApresentaçãoA maldição do local admin - 10o Workshop SegInfo - Apresentação
A maldição do local admin - 10o Workshop SegInfo - ApresentaçãoClavis Segurança da Informação
 
Adoção do PCI no Brasil - 10o Workshop SegInfo - Apresentação
Adoção do PCI no Brasil - 10o Workshop SegInfo - ApresentaçãoAdoção do PCI no Brasil - 10o Workshop SegInfo - Apresentação
Adoção do PCI no Brasil - 10o Workshop SegInfo - ApresentaçãoClavis Segurança da Informação
 
Clavis e Cyberark promovem almoço para sobre soluções para a área de Seguranç...
Clavis e Cyberark promovem almoço para sobre soluções para a área de Seguranç...Clavis e Cyberark promovem almoço para sobre soluções para a área de Seguranç...
Clavis e Cyberark promovem almoço para sobre soluções para a área de Seguranç...Clavis Segurança da Informação
 
Webinar #27 - Curso Permanente ComPTIA Security+ Exame SY0 401
Webinar #27 - Curso Permanente ComPTIA Security+ Exame SY0 401Webinar #27 - Curso Permanente ComPTIA Security+ Exame SY0 401
Webinar #27 - Curso Permanente ComPTIA Security+ Exame SY0 401Clavis Segurança da Informação
 
Manobras Evasivas: Técnicas de Evasão para Varreduras com o Nmap
Manobras Evasivas: Técnicas de Evasão para Varreduras com o NmapManobras Evasivas: Técnicas de Evasão para Varreduras com o Nmap
Manobras Evasivas: Técnicas de Evasão para Varreduras com o NmapClavis Segurança da Informação
 
Testes de Invasão ajudam a alcançar a conformidade - Segurança da Informação
Testes de Invasão ajudam a alcançar a conformidade - Segurança da InformaçãoTestes de Invasão ajudam a alcançar a conformidade - Segurança da Informação
Testes de Invasão ajudam a alcançar a conformidade - Segurança da InformaçãoClavis Segurança da Informação
 
Entendendo como as Mídias Socias Revolucionaram os Ataques de Força Bruta
Entendendo como as Mídias Socias Revolucionaram os Ataques de Força BrutaEntendendo como as Mídias Socias Revolucionaram os Ataques de Força Bruta
Entendendo como as Mídias Socias Revolucionaram os Ataques de Força BrutaClavis Segurança da Informação
 
Descobrindo (e Explorando) Vulnerabilidades em Aplicações Web com o Wmap
Descobrindo (e Explorando) Vulnerabilidades em Aplicações Web com o WmapDescobrindo (e Explorando) Vulnerabilidades em Aplicações Web com o Wmap
Descobrindo (e Explorando) Vulnerabilidades em Aplicações Web com o WmapClavis Segurança da Informação
 
Gerenciamento de Vulnerabilidades em Redes Corporativas - CNASI - DF
Gerenciamento de Vulnerabilidades em Redes Corporativas - CNASI - DFGerenciamento de Vulnerabilidades em Redes Corporativas - CNASI - DF
Gerenciamento de Vulnerabilidades em Redes Corporativas - CNASI - DFClavis Segurança da Informação
 
Impacto sobre o Negócio da Exploração de Vulnerabilidades de Injeção em Aplic...
Impacto sobre o Negócio da Exploração de Vulnerabilidades de Injeção em Aplic...Impacto sobre o Negócio da Exploração de Vulnerabilidades de Injeção em Aplic...
Impacto sobre o Negócio da Exploração de Vulnerabilidades de Injeção em Aplic...Clavis Segurança da Informação
 
Gerenciamento de Vulnerabilidades em Redes Corporativas - CNASI RJ
Gerenciamento de Vulnerabilidades em Redes Corporativas - CNASI RJ Gerenciamento de Vulnerabilidades em Redes Corporativas - CNASI RJ
Gerenciamento de Vulnerabilidades em Redes Corporativas - CNASI RJ Clavis Segurança da Informação
 

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

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

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 rafael@clavis.com.br
  • 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! rafael@clavis.com.br @rafaelsferreira Rafael Soares Ferreira Sócio Diretor Técnico

Notas do Editor

  1. 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.
  2. ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
  3. 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/
  4. ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
  5. ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
  6. ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
  7. ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
  8. ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
  9. ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
  10. ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
  11. Referências: https://www.owasp.org/index.php/Broken_Authentication_and_Session_Management
  12. Referências: http://www.thc.org/thc-hydra/ http://tcpreplay.synfin.net/
  13. Referências: https://www.owasp.org/index.php/Authentication_Cheat_Sheet
  14. ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
  15. 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
  16. ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
  17. ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
  18. 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
  19. ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
  20. 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
  21. ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
  22. ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
  23. Referências: http://www.moneycontrol.com/news-topic/internet-security-company-/video-firewall-ips-ids-systems-and-vulnerability-management-tutorial-guidewmv_ECAWAcZ80tg.html
  24. ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
  25. 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
  26. 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.
  27. 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.
  28. ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
  29. 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 ” ?
  30. 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.
  31. É 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.
  32. ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
  33. 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
  34. 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
  35. 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
  36. ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
  37. 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
  38. 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
  39. 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
  40. ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________