SlideShare una empresa de Scribd logo
1 de 62
Descargar para leer sin conexión
OWASP Top Ten e Guia de Testes OWASP como
frameworks para verificação de segurança para
              aplicações web

         Ismael Rocha Gonçalves
              Fabricio Braz
Agenda



•   Palestrantes
•   Objetivos
•   OWASP
•   OWASP Top Ten
•   Guia de Testes OWASP
•   Teste de Intrusão
•   Estudo de Caso
•   Demo

                     OWASP Brasília
Ismael Rocha



• Especialista em SI, CISSP, MCSO
• Mais de 5 anos de experiência em SI para
  aplicações web e desktop
• Projetos
• Contribuidor OWASP (Cheat Sheet, Testing
  Guide v4)
• ismaelrg@gmail.com
Fabricio Braz


• Líder OWASP Brasília
• Sócio Fundador - Sr. Nimbus
• D.Sc. – UnB & FAU (USA)
    – Design de software e padrões de arquitetura para segurança.
• SERPRO – UnB – Microsoft
    – SDL (Segurança no Ciclo de Desenvolvimento) no PSDS (PROCESSO
      SERPRO de Desenvolvimento de Soluções).
• Disciplina Segurança de Software
    – UnB – Especialização em Segurança da Informação e Comunicações.
•   BSIMM PT-BR
•   http://softwareseguro.blogspot.com
•   .NET, Java
•   Twitter - fabriciobraz


                                OWASP Brasília
Agenda



•   Palestrantes
•   Objetivos
•   OWASP
•   OWASP Top Ten
•   Guia de Testes OWASP
•   Teste de Intrusão
•   Estudo de Caso
•   Demo

                     OWASP Brasília
Objetivos



• Fornecer em linhas gerais SI para web
  – OWASP Top Ten
  – Guia de Testes OWASP




                     OWASP Brasília
Agenda



•   Palestrantes
•   Objetivos
•   OWASP
•   OWASP Top Ten
•   Guia de Testes OWASP
•   Teste de Intrusão
•   Estudo de Caso
•   Demo

                     OWASP Brasília
• https://www.owasp.org
• Sem fins lucrativos, comunidade, segurança em
  software.
• DISA (EUA), ENISA (Europa), CCRIC (Canadá),
  ANSSI (França).
• Projetos com foco em proteção, detecção e ciclo
  de vida de software.
• Ferramentas, documentos, fóruns e capítulos
  autônomos.
• Creative Commons.

                      OWASP Brasília
Agenda



•   Palestrantes
•   Objetivos
•   OWASP
•   OWASP Top Ten
•   Guia de Testes OWASP
•   Teste de Intrusão
•   Estudo de Caso
•   Demo

                     OWASP Brasília
OWASP Top 10



• 2003,2004,2007 e 2010
• Foco em riscos críticos
• Foco na educação de desenvolvedores,
  engenheiros, gerentes, organizações
• Referência PCI DSS, DISA etc.



                 OWASP Brasília
OWASP Top 10 (2010)


A1: Injeção
A2: Cross Site Scripting (XSS)
A3: Autenticação e Gerenciamento de Sessão Comprometidos
A4: Referencias Inseguras Diretas a Objetos.
A5: Cross Site Request Forgery (CSRF)
A6: Configuração Insegura
A7: Falha para Restringir Acesso a URL
A8: Redirecionamentos e Encaminhamentos Não Validados
A9: Armazenamento Criptográfico Inseguro
A10: Proteção Insuficiente na Camada de Transporte
                                  OWASP Brasília
A1 – Injeção

Injeção significa…

• Subverter a aplicação a partir da inclusão de comandos não desejados no dado
  enviado para o interpretador.

Interpretadores…

• Recebe as strings e as interpreta como comandos
• SQL, OS Shell, LDAP, XPath, Hibernate, etc…

Injeção SQL ainda continua muito comum

• Muitas aplicações são suscetíveis.
• Mesmo que seja simples de se evitar.

Impacto típico

• Geralmente severo. Toda a base dados pode ser lida ou modificada.
• Pode inclusive conceder acesso ao esquema completo da base, acesso a contas,
  ou ainda, acesso ao sistema operacional.
                                 OWASP Brasília
Injeção LDAP




OWASP Brasília
Injeção LDAP




OWASP Brasília
Injeção LDAP




OWASP Brasília
Injeção LDAP



• Alvo
  – Comprometer a base de contas de usuários.
• Método
  – Injeção de Código
• Proteção
  – Validação de entrada
  – Defesa em profundidade


                        OWASP Brasília
A2 – Cross-Site Scripting (XSS)


Ocorre quando…

• O dado bruto do atacante é enviado ao navegador de um usuário inocente.

Dato bruto …

• Armazenado em banco de dados.
• Refletido de uma entrada web (campo de formulário, campo oculto, URL, etc…).
• Enviado diretamente via cliente rico JavaScript.

Virtualmente toda aplicação web possui este problema

• Tente essa instrução em seu navegador – javascript:alert(document.cookie).

Impacto Típico

• Roubo de sessão de usuário, roubo de dado sensível, reescrita de página web,
  redirecionamento de usuário a um usuário de phishing ou malware.
• Mais Severo: Instala um proxy XSS que permite ao atacante observar e direcionar todo o
  comportamento do usuário em um site vulnerável e redirecionar o usuário a outros
  sites.
                                      OWASP Brasília
XSS


• Alvo
  – Comprometer a confiança que o usuário deposita no
    conteúdo do site.
• Método
  – Injeção de Código
• Proteção
  – Validação de entrada e saída
  – Encoding
     • <script>alert(document.cookie)</script>
     • &lt;script&gt;alert(document.cookie)%lt;/script&gt

                           OWASP Brasília
A3 - Autenticação e
                                          Gerenciamento de Sessão
                                              Comprometidos
HTTP é um protocolo que não mantem estado (stateless).

• Significa que as credenciais precisam acompanhar cada requisição.
• Deve-se usar SSL para tudo que exija autenticação.

Falhas de gerenciamento de sessão

• O SESSION ID é usado para manter a sessão, uma vez que o HTTP não o faz.
• O SESSION ID é comumente exposto pela rede, nos browsers, em logs,…

Fique atento aos side-doors

• Mudança de senha, lembrança de senha, questão secreta, logout, endereço.
  de email, etc…

Impacto comuim

• Contas de usuários comprometidas ou sequestro de sessão.
                                  OWASP Brasília
Autenticação Comprometida

                                         1      Usuário envia suas




                                                                                                           Knowledge Mgmt
                                                                                                            Communication
                                                                                          Administration




                                                                                                             Bus. Functions
                                                                                           Transactions



                                                                                                              E-Commerce
                                                credenciais




                                                                               Accounts
                                                                                Finance
www.sm.com?JSESSIONID=9FA1DB9EA...
                                       O site usa rescrita de URL       2                 Custom Code
                                       (ex., colocando a sessão na URL)




                                        3       O usuário clica no link http://www.hacker.com
                                                em um forum

                  O atacante procura nos logs de www.hacker.com por referer
                                                   que contenha JSESSIONID        4
5    O atacante usa o JSESSIONID e
     se apodera da conta da vítima

                                             OWASP Brasília
A4 – Referências Inseguras
                                            Diretas a Objetos

Como você protege o acesso aos seus dados?

• Isso é em parte imposição de “Autorização” apropriada, juntamente
  com A7 – Falha em Restringir Acesso a URL.

Um erro comum …

• Listar somente os objetos autorizados para o usuário corrente, ou
  ocultar referencias a objetos em campos ocultos
• … e não impor tais restrições no servidor
• Isso é conhecido como controle de acesso da camada de apresentação,
  e não funciona.
• O atacante simplesmente adultera os valores dos parâmetros.

Impacto Típico

• Acesso não autorizado a arquivos ou dados pelos usuários.
                               OWASP Brasília
Referências Inseguras Diretas a
                                                       Objetos


                                                      • O atacante percebe
https://www.onlinebank.com/user?acct=6065                que o parâmetro de
                                                         sua conta é 6065
                                                        ?acct=6065

                                                      • Ele tenta o próximo
                                                         numero
                                                        ?acct=6066

                                                      • O atacante tem acesso
                                                        a informação da conta
                                                        da vítima

                                     OWASP Brasília
A5 - Cross Site Request Forgery
                                                      (CSRF)

Cross Site Request Forgery

• Um ataque no qual o browser da vítima é enganado de modo a enviar um
  comando a uma aplicação web vulnerável.
• A vulnerabilidade é causada pelo fato dos navegadores incluírem
  automaticamente dados de autenticação do usuário (session ID, endereço IP,
  credenciais de domínio Windows, …) em cada requisição.

Imagine…

• E se um atacante puder tomar posse de seu mouse e fazê-lo clicar em links em
  seu web banking?
• O que eles podem obrigá-lo a fazer?

Impacto Comum

• Iniciar transações (transferir fundos, encerrar cessão, desativar conta).
• Acessar dados sensíveis.
• Alterar detalhes da conta.

                                     OWASP Brasília
CSRF Ilustrado


    Atacante coloca uma armadilha em um site (ou via email)
1




                                                      Aplicação com
                    Uma tag <img> oculta              vulnerabilidade CSRF
                    contém um ataque a um
                    site vulnerável




                                                                                   Knowledge Mgmt
                                                                                   Communication
                                                                  Administration




                                                                                   Bus. Functions
                                                                  Transactions



                                                                                   E-Commerce
                                                       Accounts
                                                       Finance
    Apesar de logar no site vulnerável, usuário
2   acessa o site do atacante
                                                        Custom Code


                                                            3
                                                        O site vulneravel recebe
                A tag <img> é carregada                 requisições legítimas da
                pelo navegador – envia                  vítima e realiza a ação
                requisição GET (incluindo               requisitada
                credenciais) OWASP Brasília
                             ao site
                vulnerável
CSRF


• Alvo
  – Comprometer a confiança que o site deposita no
    browser.
• Método
  – Injeção de Código
• Proteção
  – Validação de entrada e saída
  – Utilização de tokens
  – Encoding
     • <script>alert(document.cookie)</script>
     • &lt;script&gt;alert(document.cookie)%lt;/script&gt

                           OWASP Brasília
A6 – Configuração Insegura


Aplicações web dependem de uma base segura

• Tudo que esteja entre a rede a plataforma
• Não se esqueça do ambiente de desenvolvimento

Seu código fonte é secreto?

• Pense em todos os locais nos quais seu código fonte esteja
• A segurança não deve depender de um código secreto

GC deve estender a todas as partes da aplicação

• Todas as credenciais devem mudar em produção

Impacto Típico

• Instalação de backdoor via brecha não corrigida na rede ou no servidor
• Exploração de falhas de XSS devido a falta de atualização de frameworks da aplicação
• Acesso não autorizado a contas, funcionalidades ou dados padrão da aplicação, ou
  funcionalidade não usada mas disponível em razão de configuração falha do servidor

                                       OWASP Brasília
A6 – Configuração Insegura




                                      Knowledge Mgmt
                                       Communication
                     Administration




                                        Bus. Functions
                                         E-Commerce
                      Transactions
          Accounts
           Finance
                                                         Database

                     Custom Code

               App Configuration




                                                                    Development
                     Framework

                      App Server
                                                                     QA Servers
                     Web Server

                     Hardened OS
Insider                                                              Test Servers



                                                                    Source Control



                OWASP Brasília
A7 - Falha em Restringir Acesso
                                                 a URL

Como você protege o acesso as URLs (páginas)?

• Isso é em parte imposição de “Autorização” apropriada, juntamente com
  A4 - Referências Inseguras Diretas a Objetos

Um erro comum …

• Mostrar apenas links e opções de menu autorizados
• Isso é conhecido como controle de acesso da camada de apresentação, e
  não funciona
• O atacante simplesmente adultera os valores dos parâmetros

Impacto Típico

• Os atacantes invocam funções e serviços a elas não autorizados
• Acesso a outras contas e dados de usuários
• Execução de ações com privilégio elevado
                                OWASP Brasília
Falha em Restringir Acesso a
                                                         URL


                                                        • O atacante percebe que
https://www.onlinebank.com/user/getAccounts               a url tem correlação com
                                                          sua conta
                                                          /user/getAccounts

                                                        • Ele a modifica para
                                                          outro diretório (papel)
                                                        •   /admin/getAccounts,
                                                          ou
                                                        •
                                                          /manager/getAccounts

                                                        • O atacante visualiza
                                                          outras contas além da
                                                          sua

                                       OWASP Brasília
A8 - Redirecionamentos e
                                        Encaminhamentos Não Validados

Redirecionamento em aplicações web é muito comum

• E com frequência incluem parâmetros fornecidos pelo usuário na URL de destino.
• Caso elas não sejam validadas, o atacantes pode direcionar a vitima para o site
  que desejar.

Encaminhamentos são comuns também

• Eles enviam internamente a requisição para uma nova página da mesma
  aplicação.
• Em alguns casos os parâmetros definem a página alvo.
• Caso não seja validado, o atacante pode conseguir usar uma encaminhamento não
  validado para subverter as verificações de autenticação e autorização.

Impacto Típico

• Redireciona a vítima a site de malware e phishing.
• A requisição do atacante é encaminhada para para verificações de segurança já
  realizadas, permitindo acesso não autorizado a dados e funções.
                                   OWASP Brasília
A8 - Redirecionamentos e
                                                      Encaminhamentos Não Validados

                  1   O atacante envia o ataque a vitima pode email ou site web

                            De: TAM Fidelidade
                            Assunto: Prêmio de 10.000 pontos
                            A TAM tem por hábito premiar os clientes que
                            mais usam nossos serviços, por esta razão
                                                                                       A aplicação redireciona
                                                                                 3     a vítima ao site do
                            estamos concedendo 10.000 pontos para você.
                            Para garantir esses pontos preencha o                      atacante.
                            formulário disponível neste link




                                                                                                                                                          Knowledge Mgmt
                                                                                                                                          Communication
                                                                                                          Administration




                                                                                                                                                                                        Bus. Functions
                                                                                                                                                                           E-Commerce
                                                                                                                           Transactions
                                                                                     Accounts
                      A vítima clica no link contendo um parâmetro não




                                                                                                Finance
                  2      validado

                                                                                                              Custom Code


                                    A requisição enviada a um site
                                    vulnerável, incluindo o site do
                                    atante como parâmetro. Isso
                                    redirecionará a vítima ao site do
                                    atacante                                                                                                              Evil Site



                                                                           4   O site malicioso instala um
http://www.irs.gov/taxrefund/claim.jsp?year=2006                               malware na vítima
   & … &dest=www.evilsite.com             OWASP Brasília
A8 - Redirecionamentos e
                                                    Encaminhamentos Não Validados

             1      O atacante ataca uma página vulnerável que ele tenha acesso

                                 A requisição enviada a uma
                                 página vulnerável que o
                                 usuário possua acesso. O
                                 redirecionamento envia o               public void sensitiveMethod(
                                 usuário diretamente a uma              HttpServletRequest request,
                                                                        HttpServletResponse response) {
                                 página privada, subvertendo               try {
                                                                                 // Do sensitive stuff here.
                                 o controle de acesso.                           ...
                                                                           }
                                                                           catch ( ...


2     A aplicação autoriza a
      requisição, que continua        Filter
      para uma página                                           3   O encaminhamento de página falha em
      vulnerável                                                    validar o parâmetro, enviado o
                                                                    atacante a uma página não autorizada,
    public void doPost( HttpServletRequest request,                 subvertendo o controle de acesso
    HttpServletResponse response) {
       try {
           String target = request.getParameter( "dest" ) );
           ...
           request.getRequestDispatcher( target
           ).forward(request, response);
       }
       catch ( ...


                                               OWASP Brasília
A9 – Armazenamento Criptográfico
                                                     Inseguro


Armazenamento inseguro de dados sensíveis
• Falha na identificação de todos os dados sensíveis.
• Falha em se identificar todos os locais que tais dados sensíveis são armazenados:
  • Bando de dados, arquivos, diretórios, arquivos de log, backups, etc.
• Falha em proteger de forma apropriada esses dados em todos os locais.

Impacto Típico
• Os atacantes acessam e modificam informação confidencial ou privada:
  • ex., cartão de crédito, registros de histórico de saúde, dados financeiro (seus ou
    de seus clientes).
• Os atacantes podem extrair os segredos para montar o quebra-cabeças dos
  ataque.
• Constrangimento para a empresa, insatisfação do cliente e perda de confiança.
• Custo para resolver o incidente, como em forense, envio de cartas de desculpas,
  reemissão de milhões de cartões de créditos, fornecimento de seguro contra
  falsificação de identidade.
• Condenações na justiça e/ou multas.
                                      OWASP Brasília
A9 – Armazenamento Criptográfico
            Inseguro
A9 – Armazenamento Criptográfico
                                                                       Inseguro



                               Usuario: fabricio;
                               Senha: 7900 8700 6500 8300 8000 8300 9700 10200 10100 8000
                               9700 11500 11500




Usuario: fabricio;
Senha: OWASPSafePass
Senha ASCII: 79 87 65 83 80 83 97 102 101 80 97 115 115
A10 – Proteção Insuficiente na
                                          Camada de Transporte

Transmissão insegura de dados sensíveis
• Falha na identificação de todos os dados sensíveis
• Falha na identificação de todos os locais em que os dados sensíveis são
  enviados:
 • Na web, para banco de dados, para parceiros de negócio, em comunicação
   interna.
• Falha em se proteger de forma apropriada este dado em qualquer local.

Impacto Típico
• Os atacantes acessam o modificam dados confidenciais ou informação
  privada:
 • Ex., cartão de crédito, prontuários médicos, dados financeiros (de você ou de seus
   clientes).
• Atacantes extraem segredos para compor outros ataques.
• Constrangimento para a empresa, insatisfação do cliente e perda de
  confiança.
• Custo para resolver o incidente, como em forense, etc.
• Condenações na justiça e/ou multas.
                                   OWASP Brasília
Proteção Insuficiente na Camada
                                                       de Transporte




                                                                          Parceiros
Vítima Externa
                      Código Adaptado     Sistemas Backend




                                                                          Funcionários
                  1                                            2
                 Atacantes externos                             Atacantes internos
                 roubam credenciais e                           roubam credenciais e
                 dados fora da rede                             dados da rede interna
Atacantes Externos                                Atacantes Internos
                                        OWASP Brasília
Agenda



•   Palestrantes
•   Objetivos
•   OWASP
•   OWASP Top Ten
•   Guia de Testes OWASP
•   Teste de Intrusão
•   Estudo de Caso
•   Demo

                     OWASP Brasília
Guia de Testes OWASP



• Framework de testes de segurança
• Entender o que, por quê, quando, onde e
  como testar aplicações web
• Metodologia de classificação de riscos
  – Identificação dos riscos
  – Fatores para estima de probabilidade
  – Fatores para estima de impacto no negócio
  – Determinação da severidade do risco

                      OWASP Brasília
Agenda



•   Palestrantes
•   Objetivos
•   OWASP
•   OWASP Top Ten
•   Guia de Testes OWASP
•   Teste de Intrusão
•   Estudo de Caso
•   Demo

                     OWASP Brasília
Teste de Intrusão



• Técnica exploratória para determinar o nível
  de risco associado a uma vulnerabilidade ou a
  um conjunto de vulnerabilidades de
  determinado alvo
• Simula um ataque real a um sistema ou
  infraestrutura
• Processo amplo, fases pré e pós-ataques


                     OWASP Brasília
Teste de Intrusão




-   Planejamento
-   Descobrimento
-   Ataque
-   Relato
                OWASP Brasília
Agenda



•   Palestrantes
•   Objetivos
•   OWASP
•   OWASP Top Ten
•   Guia de Testes OWASP
•   Teste de Intrusão
•   Estudo de Caso
•   Demo

                     OWASP Brasília
Estudo de Caso



• Planejamento
  – Tipo de teste
     • Gray-box
  – Estratégia de teste:
     • Externo à rede
     • Informação de vulnerabilidades para correção
     • Sem credenciais e sem conhecimento de detalhes de
       infraestrutura, exceto endereço IP
  – Escopo
     • http://www.alvo.com.br

                           OWASP Brasília
Estudo de Caso


• Planejamento
  – Restrições
     •   Inspeção de segurança código-fonte
     •   Engenharia social
     •   Negação de serviço
     •   Modificação/exclusão de informações restritas
     •   Testes de lógica de negócio
     •   Testes em áreas restritas da aplicação
  – Período:
     • De 2 a 9 de MM de YYYY
     • Sem restrição de horário

                             OWASP Brasília
Estudo de Caso



• Descobrimento
  – Levantamento de Informações
    • Ferramenta automatizada
       – Versão do Servidor, bibliotecas, tecnologias
       – Árvore de diretórios com pontos de entradas
       – Informações sensíveis
    • Inspeção manual de códigos HTML
       – Ajax




                           OWASP Brasília
Estudo de Caso



• Descobrimento
  – Resultados
    •   Versão do Servidor Web: Apache
    •   Tecnologia PHP: versão 5.1.6
    •   Scripts com ponto de entrada (ferramenta): 167
    •   Scripts Ajax: 4




                          OWASP Brasília
Estudo de Caso



• Descobrimento
  – Análise de Vulnerabilidades
     •   Em acordo com escopo e limitações
     •   Utilização dos testes Guia de Testes OWASP
     •   Análise automatizada e manual e análise crítica
     •   CVE




                            OWASP Brasília
Estudo de Caso



• Descobrimento
  – Testes realizados (Gerência de Configuração)
     •   OWASP-CM-001 – SSL/TLS Testing
     •   OWASP-CM-002 – DB Listener Testing
     •   OWASP-CM-003 – Infrastructure configuration Mgt test
     •   OWASP-CM-007 – Infrastructure and app admin
         interfaces




                           OWASP Brasília
Estudo de Caso



• Descobrimento
  – Testes realizados (Testes de Autenticação)
     • OWASP-AT-001 – Credential transport over encrypted
       channel
     • OWASP-AT-002 – Test for user enumeration
     • OWASP-AT-006 – Test for vulnerable remember me
       password




                         OWASP Brasília
Estudo de Caso



• Descobrimento
  – Testes realizados (Gerência de sessão)
     • OWASP-SM-001 – Testing for session mgt schema
     • OWASP-SM-003 – Testing for session fixation




                        OWASP Brasília
Estudo de Caso



• Descobrimento
  – Testes realizados (Validação de dados)
     • OWASP-DV-001 – Testing for Reflected XSS
     • OWASP-DV-005 – SQL Injection




                         OWASP Brasília
Estudo de Caso



• Ataque
  – Verifica grau de profundidade das
    vulnerabilidades
  – OWASP-DV-005 Sql Injection
  – Conformidade com regras acordadas na fase de
    planejamento
  – Desenvolvido exploits



                     OWASP Brasília
Estudo de Caso


• Ataque
  – Exemplo exploit:
     • http://www.alvo.com.br/site/ajax/ajax.php?id=12222%20un
       ion%20select%201,1,concat%28nome,%20%27%20%27,%2
       0login,%20%27%20%27,%20senha%29,1%20from%20USUA
       RIOS--
  – Objetivo
     • Obter os campos nome, login e senha da tabela USUARIOS
       banco de dados ALVO.




                          OWASP Brasília
Estudo de Caso



• Ataque
   – Resultados: mais de 2700 contas de
     usuários/senhas, acesso administrativo.
   – Senhas armazenadas em hash:
   – Rainbow Tables, tabelas com entradas pré-
     computadas
HASH MD5                                  Texto Claro
4a45c297942c77ad3a47ac4650e7e90a          !@#123qwe
1ac0111bb4011eeb099059a87548bcb2          kelly12!@
e10adc3949ba59abbe56e057f20f883e          123456
64760ea431d3ace72ffa9065ed1b706e          1005197
eb52b9e89e7272b9742ce97bed92a98a          04010612
                                   OWASP Brasília
Estudo de Caso



• Relato (riscos OWASP Top Ten)
    Item OWASP Top                  Id             Vulnerabilidade             Item OWASP Testing          Risco
                Ten                                                                  Guide
  A1 – Injeção                01          Injeção de Comandos SQL              OWASP-DV-005         Muito Alto
  A2    –       Cross     Site 02         Cross-site-scripting                 OWASP-DV-001         Médio
  Scripting
  A6 – Configuração de 03                 Versão insegura PHP                  OWASP-CM-003         Alto
  segurança defeituosa        04          Slow HTTP                            OWASP-CM-003         Alto
                              05          Interfaces administrativas abertas   OWASP-CM-007         Alto


  A7 – Armazenamento 06                   Armazenamento de senhas com -                             Médio
  criptográfico inseguro                  hash sem salt




  A9        –         Proteção 07         Canal inseguro para autenticação     OWASP-AT-001         Alto
  insuficiente da camada
  de transporte




                                         OWASP Brasília
Estudo de Caso



• Relato (recomendações)
 Id              Vulnerabilidade                                           Recomendação
01    Injeção de Comandos SQL              Utilizar    APIs   que    forneçam   suporte   para   queries   parametrizadas
                                           (STTUTARD, 2008).
02    Cross-site-scripting                 Validar os dados de entrada e saída oriundos de formulários e requisições get;
                                           utilizar entidades HTML (&gt, &lt etc). (STTUTARD, 2008)


03    Versão insegura PHP                  Atualizar versão do PHP (STTUTARD, 2008).
04    Slow HTTP                            Aplicar processo de hardening no servidor web (QUALYS).


05    Interfaces administrativas abertas   Restringir acesso às interfaces administrativas a uma rede segura/interna.


06    Armazenamento de senhas com hash Utilizar algoritmo de hash seguro e aplicar técnica de salt (STTUTARD,
      sem salt                             2008).
07    Canal inseguro para autenticação     Implementar protocolo SSL/TLS compatível com as melhores práticas
                                           (STTUTARD, 2008) .
                                                    OWASP Brasília
Agenda



•   Palestrantes
•   Objetivos
•   OWASP
•   OWASP Top Ten
•   Guia de Testes OWASP
•   Teste de Intrusão
•   Estudo de Caso
•   Demo

                     OWASP Brasília
Demo



• A1 – Injeção
• A2 – XSS
• A3/A7 – Falha no Gerenciamento de
  Sessão/Armazenamento criptográfico inseguro
• A10 – Redirecionamento e reenvios não
  validados



                   OWASP Brasília
Conclusão



• Segurança permeia todos os processos e
  sistemas não foge à regra
• Sempre haverá riscos, mas apoiado em boas
  práticas pode-se levá-los a um nível adequado
• OWASP Top Ten – Boa referência/introdução
• Guia de testes OWASP – Base sólida para
  testes web
• Ferramentas não são tudo
                    OWASP Brasília
Referências



• http://www.md5decrypter.co.uk/
• https://www.owasp.org/index.php/Main_Pag
  e
• https://www.owasp.org/index.php/Category:
  OWASP_Top_Ten_Project
• https://www.owasp.org/images/5/56/OWASP
  _Testing_Guide_v3.pdf
• http://csrc.nist.gov/publications/nistpubs/800
  -115/SP800-115.pdf
                     OWASP Brasília
• Obrigado!



• H2hc
  – Discount code: ECT12




                      OWASP Brasília

Más contenido relacionado

La actualidad más candente

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
 
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
 
Segurança em aplicações web: pequenas ideias, grandes resultados
Segurança em aplicações web: pequenas ideias, grandes resultadosSegurança em aplicações web: pequenas ideias, grandes resultados
Segurança em aplicações web: pequenas ideias, grandes resultadosAlex Camargo
 
Quem tem medo do XSS
Quem tem medo do XSSQuem tem medo do XSS
Quem tem medo do XSSWilliam Costa
 
OWASP_BSB_20120827_TOP10_ISMAELROCHA
OWASP_BSB_20120827_TOP10_ISMAELROCHAOWASP_BSB_20120827_TOP10_ISMAELROCHA
OWASP_BSB_20120827_TOP10_ISMAELROCHAOWASP Brasília
 
Segurança de Redes
Segurança de RedesSegurança de Redes
Segurança de RedesCassio Ramos
 
Aprendendo a atacar (e proteger) aplicações web através de jogos de guerra
Aprendendo a atacar (e proteger) aplicações web através de jogos de guerraAprendendo a atacar (e proteger) aplicações web através de jogos de guerra
Aprendendo a atacar (e proteger) aplicações web através de jogos de guerraClavis Segurança da Informação
 
OWASP top 10 - Referência insegura direta a objeto
OWASP top 10 - Referência insegura direta a objetoOWASP top 10 - Referência insegura direta a objeto
OWASP top 10 - Referência insegura direta a objetoLuciano Monteiro da Silva
 

La actualidad más candente (11)

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
 
THE WebSec
THE WebSecTHE WebSec
THE WebSec
 
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
 
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: pequenas ideias, grandes resultados
Segurança em aplicações web: pequenas ideias, grandes resultadosSegurança em aplicações web: pequenas ideias, grandes resultados
Segurança em aplicações web: pequenas ideias, grandes resultados
 
OWASP Top Ten
OWASP Top TenOWASP Top Ten
OWASP Top Ten
 
Quem tem medo do XSS
Quem tem medo do XSSQuem tem medo do XSS
Quem tem medo do XSS
 
OWASP_BSB_20120827_TOP10_ISMAELROCHA
OWASP_BSB_20120827_TOP10_ISMAELROCHAOWASP_BSB_20120827_TOP10_ISMAELROCHA
OWASP_BSB_20120827_TOP10_ISMAELROCHA
 
Segurança de Redes
Segurança de RedesSegurança de Redes
Segurança de Redes
 
Aprendendo a atacar (e proteger) aplicações web através de jogos de guerra
Aprendendo a atacar (e proteger) aplicações web através de jogos de guerraAprendendo a atacar (e proteger) aplicações web através de jogos de guerra
Aprendendo a atacar (e proteger) aplicações web através de jogos de guerra
 
OWASP top 10 - Referência insegura direta a objeto
OWASP top 10 - Referência insegura direta a objetoOWASP top 10 - Referência insegura direta a objeto
OWASP top 10 - Referência insegura direta a objeto
 

Similar a Apresentação Ismael Rocha e Fabricio Braz

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
 
ENSOL 2011 - OWASP e a Segurança na Web
ENSOL 2011 - OWASP e a Segurança na WebENSOL 2011 - OWASP e a Segurança na Web
ENSOL 2011 - OWASP e a Segurança na WebMagno Logan
 
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
 
Apresentação OWASP - UBI, Covilhã
Apresentação OWASP - UBI, CovilhãApresentação OWASP - UBI, Covilhã
Apresentação OWASP - UBI, CovilhãCarlos Serrao
 
Workshop - Testes de Segurança
Workshop - Testes de SegurançaWorkshop - Testes de Segurança
Workshop - Testes de SegurançaAlan Carlos
 
OWASP TOP 10 - Web Security
OWASP TOP 10 - Web SecurityOWASP TOP 10 - Web Security
OWASP TOP 10 - Web SecurityMarlon Bernardes
 
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...Magno Logan
 
Novidades do Windows Azure AppFabric
Novidades do Windows Azure AppFabricNovidades do Windows Azure AppFabric
Novidades do Windows Azure AppFabricEvilázaro Alves
 
Aula 1 - Testando a Segurança de Sua Aplicação Web
Aula 1 - Testando a Segurança de Sua Aplicação WebAula 1 - Testando a Segurança de Sua Aplicação Web
Aula 1 - Testando a Segurança de Sua Aplicação WebMatheus Fidelis
 
Arquitetura de Segurança utilizando Computação em Nuvem - Proteção DDoS
Arquitetura de Segurança utilizando Computação em Nuvem - Proteção DDoSArquitetura de Segurança utilizando Computação em Nuvem - Proteção DDoS
Arquitetura de Segurança utilizando Computação em Nuvem - Proteção DDoSDiogo Guedes
 
OWASP Top 10 - A web security cookbook
OWASP Top 10 - A web security cookbookOWASP Top 10 - A web security cookbook
OWASP Top 10 - A web security cookbookGiovane Liberato
 
Segurança em Aplicativos Web
Segurança em Aplicativos WebSegurança em Aplicativos Web
Segurança em Aplicativos WebSergio Henrique
 
Testes de segurança
Testes de segurançaTestes de segurança
Testes de segurançaQualister
 

Similar a Apresentação Ismael Rocha e Fabricio Braz (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...
 
ENSOL 2011 - OWASP e a Segurança na Web
ENSOL 2011 - OWASP e a Segurança na WebENSOL 2011 - OWASP e a Segurança na Web
ENSOL 2011 - OWASP e a Segurança na Web
 
OWASP - Ferramentas
OWASP - FerramentasOWASP - Ferramentas
OWASP - Ferramentas
 
Ferranentas OWASP
Ferranentas OWASPFerranentas OWASP
Ferranentas OWASP
 
Api todo list
Api todo listApi todo list
Api todo list
 
Adicionando segurança web: AWS WAF
Adicionando segurança web: AWS WAFAdicionando segurança web: AWS WAF
Adicionando segurança web: AWS WAF
 
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
 
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
 
Apresentação OWASP - UBI, Covilhã
Apresentação OWASP - UBI, CovilhãApresentação OWASP - UBI, Covilhã
Apresentação OWASP - UBI, Covilhã
 
Workshop - Testes de Segurança
Workshop - Testes de SegurançaWorkshop - Testes de Segurança
Workshop - Testes de Segurança
 
OWASP TOP 10 - Web Security
OWASP TOP 10 - Web SecurityOWASP TOP 10 - Web Security
OWASP TOP 10 - Web Security
 
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
 
Novidades do Windows Azure AppFabric
Novidades do Windows Azure AppFabricNovidades do Windows Azure AppFabric
Novidades do Windows Azure AppFabric
 
Aula 1 - Testando a Segurança de Sua Aplicação Web
Aula 1 - Testando a Segurança de Sua Aplicação WebAula 1 - Testando a Segurança de Sua Aplicação Web
Aula 1 - Testando a Segurança de Sua Aplicação Web
 
Arquitetura de Segurança utilizando Computação em Nuvem - Proteção DDoS
Arquitetura de Segurança utilizando Computação em Nuvem - Proteção DDoSArquitetura de Segurança utilizando Computação em Nuvem - Proteção DDoS
Arquitetura de Segurança utilizando Computação em Nuvem - Proteção DDoS
 
OWASP Top 10 - A web security cookbook
OWASP Top 10 - A web security cookbookOWASP Top 10 - A web security cookbook
OWASP Top 10 - A web security cookbook
 
Segurança em Aplicativos Web
Segurança em Aplicativos WebSegurança em Aplicativos Web
Segurança em Aplicativos Web
 
OWASP Top 10 e aplicações .Net - Tech-Ed 2007
OWASP Top 10 e aplicações .Net - Tech-Ed 2007OWASP Top 10 e aplicações .Net - Tech-Ed 2007
OWASP Top 10 e aplicações .Net - Tech-Ed 2007
 
Testes de segurança
Testes de segurançaTestes de segurança
Testes de segurança
 
Owasp Chapter Belo Horizonte
Owasp Chapter Belo HorizonteOwasp Chapter Belo Horizonte
Owasp Chapter Belo Horizonte
 

Apresentação Ismael Rocha e Fabricio Braz

  • 1. OWASP Top Ten e Guia de Testes OWASP como frameworks para verificação de segurança para aplicações web Ismael Rocha Gonçalves Fabricio Braz
  • 2. Agenda • Palestrantes • Objetivos • OWASP • OWASP Top Ten • Guia de Testes OWASP • Teste de Intrusão • Estudo de Caso • Demo OWASP Brasília
  • 3. Ismael Rocha • Especialista em SI, CISSP, MCSO • Mais de 5 anos de experiência em SI para aplicações web e desktop • Projetos • Contribuidor OWASP (Cheat Sheet, Testing Guide v4) • ismaelrg@gmail.com
  • 4. Fabricio Braz • Líder OWASP Brasília • Sócio Fundador - Sr. Nimbus • D.Sc. – UnB & FAU (USA) – Design de software e padrões de arquitetura para segurança. • SERPRO – UnB – Microsoft – SDL (Segurança no Ciclo de Desenvolvimento) no PSDS (PROCESSO SERPRO de Desenvolvimento de Soluções). • Disciplina Segurança de Software – UnB – Especialização em Segurança da Informação e Comunicações. • BSIMM PT-BR • http://softwareseguro.blogspot.com • .NET, Java • Twitter - fabriciobraz OWASP Brasília
  • 5. Agenda • Palestrantes • Objetivos • OWASP • OWASP Top Ten • Guia de Testes OWASP • Teste de Intrusão • Estudo de Caso • Demo OWASP Brasília
  • 6. Objetivos • Fornecer em linhas gerais SI para web – OWASP Top Ten – Guia de Testes OWASP OWASP Brasília
  • 7. Agenda • Palestrantes • Objetivos • OWASP • OWASP Top Ten • Guia de Testes OWASP • Teste de Intrusão • Estudo de Caso • Demo OWASP Brasília
  • 8. • https://www.owasp.org • Sem fins lucrativos, comunidade, segurança em software. • DISA (EUA), ENISA (Europa), CCRIC (Canadá), ANSSI (França). • Projetos com foco em proteção, detecção e ciclo de vida de software. • Ferramentas, documentos, fóruns e capítulos autônomos. • Creative Commons. OWASP Brasília
  • 9. Agenda • Palestrantes • Objetivos • OWASP • OWASP Top Ten • Guia de Testes OWASP • Teste de Intrusão • Estudo de Caso • Demo OWASP Brasília
  • 10. OWASP Top 10 • 2003,2004,2007 e 2010 • Foco em riscos críticos • Foco na educação de desenvolvedores, engenheiros, gerentes, organizações • Referência PCI DSS, DISA etc. OWASP Brasília
  • 11. OWASP Top 10 (2010) A1: Injeção A2: Cross Site Scripting (XSS) A3: Autenticação e Gerenciamento de Sessão Comprometidos A4: Referencias Inseguras Diretas a Objetos. A5: Cross Site Request Forgery (CSRF) A6: Configuração Insegura A7: Falha para Restringir Acesso a URL A8: Redirecionamentos e Encaminhamentos Não Validados A9: Armazenamento Criptográfico Inseguro A10: Proteção Insuficiente na Camada de Transporte OWASP Brasília
  • 12. A1 – Injeção Injeção significa… • Subverter a aplicação a partir da inclusão de comandos não desejados no dado enviado para o interpretador. Interpretadores… • Recebe as strings e as interpreta como comandos • SQL, OS Shell, LDAP, XPath, Hibernate, etc… Injeção SQL ainda continua muito comum • Muitas aplicações são suscetíveis. • Mesmo que seja simples de se evitar. Impacto típico • Geralmente severo. Toda a base dados pode ser lida ou modificada. • Pode inclusive conceder acesso ao esquema completo da base, acesso a contas, ou ainda, acesso ao sistema operacional. OWASP Brasília
  • 16. Injeção LDAP • Alvo – Comprometer a base de contas de usuários. • Método – Injeção de Código • Proteção – Validação de entrada – Defesa em profundidade OWASP Brasília
  • 17. A2 – Cross-Site Scripting (XSS) Ocorre quando… • O dado bruto do atacante é enviado ao navegador de um usuário inocente. Dato bruto … • Armazenado em banco de dados. • Refletido de uma entrada web (campo de formulário, campo oculto, URL, etc…). • Enviado diretamente via cliente rico JavaScript. Virtualmente toda aplicação web possui este problema • Tente essa instrução em seu navegador – javascript:alert(document.cookie). Impacto Típico • Roubo de sessão de usuário, roubo de dado sensível, reescrita de página web, redirecionamento de usuário a um usuário de phishing ou malware. • Mais Severo: Instala um proxy XSS que permite ao atacante observar e direcionar todo o comportamento do usuário em um site vulnerável e redirecionar o usuário a outros sites. OWASP Brasília
  • 18. XSS • Alvo – Comprometer a confiança que o usuário deposita no conteúdo do site. • Método – Injeção de Código • Proteção – Validação de entrada e saída – Encoding • <script>alert(document.cookie)</script> • &lt;script&gt;alert(document.cookie)%lt;/script&gt OWASP Brasília
  • 19. A3 - Autenticação e Gerenciamento de Sessão Comprometidos HTTP é um protocolo que não mantem estado (stateless). • Significa que as credenciais precisam acompanhar cada requisição. • Deve-se usar SSL para tudo que exija autenticação. Falhas de gerenciamento de sessão • O SESSION ID é usado para manter a sessão, uma vez que o HTTP não o faz. • O SESSION ID é comumente exposto pela rede, nos browsers, em logs,… Fique atento aos side-doors • Mudança de senha, lembrança de senha, questão secreta, logout, endereço. de email, etc… Impacto comuim • Contas de usuários comprometidas ou sequestro de sessão. OWASP Brasília
  • 20. Autenticação Comprometida 1 Usuário envia suas Knowledge Mgmt Communication Administration Bus. Functions Transactions E-Commerce credenciais Accounts Finance www.sm.com?JSESSIONID=9FA1DB9EA... O site usa rescrita de URL 2 Custom Code (ex., colocando a sessão na URL) 3 O usuário clica no link http://www.hacker.com em um forum O atacante procura nos logs de www.hacker.com por referer que contenha JSESSIONID 4 5 O atacante usa o JSESSIONID e se apodera da conta da vítima OWASP Brasília
  • 21. A4 – Referências Inseguras Diretas a Objetos Como você protege o acesso aos seus dados? • Isso é em parte imposição de “Autorização” apropriada, juntamente com A7 – Falha em Restringir Acesso a URL. Um erro comum … • Listar somente os objetos autorizados para o usuário corrente, ou ocultar referencias a objetos em campos ocultos • … e não impor tais restrições no servidor • Isso é conhecido como controle de acesso da camada de apresentação, e não funciona. • O atacante simplesmente adultera os valores dos parâmetros. Impacto Típico • Acesso não autorizado a arquivos ou dados pelos usuários. OWASP Brasília
  • 22. Referências Inseguras Diretas a Objetos • O atacante percebe https://www.onlinebank.com/user?acct=6065 que o parâmetro de sua conta é 6065 ?acct=6065 • Ele tenta o próximo numero ?acct=6066 • O atacante tem acesso a informação da conta da vítima OWASP Brasília
  • 23. A5 - Cross Site Request Forgery (CSRF) Cross Site Request Forgery • Um ataque no qual o browser da vítima é enganado de modo a enviar um comando a uma aplicação web vulnerável. • A vulnerabilidade é causada pelo fato dos navegadores incluírem automaticamente dados de autenticação do usuário (session ID, endereço IP, credenciais de domínio Windows, …) em cada requisição. Imagine… • E se um atacante puder tomar posse de seu mouse e fazê-lo clicar em links em seu web banking? • O que eles podem obrigá-lo a fazer? Impacto Comum • Iniciar transações (transferir fundos, encerrar cessão, desativar conta). • Acessar dados sensíveis. • Alterar detalhes da conta. OWASP Brasília
  • 24. CSRF Ilustrado Atacante coloca uma armadilha em um site (ou via email) 1 Aplicação com Uma tag <img> oculta vulnerabilidade CSRF contém um ataque a um site vulnerável Knowledge Mgmt Communication Administration Bus. Functions Transactions E-Commerce Accounts Finance Apesar de logar no site vulnerável, usuário 2 acessa o site do atacante Custom Code 3 O site vulneravel recebe A tag <img> é carregada requisições legítimas da pelo navegador – envia vítima e realiza a ação requisição GET (incluindo requisitada credenciais) OWASP Brasília ao site vulnerável
  • 25. CSRF • Alvo – Comprometer a confiança que o site deposita no browser. • Método – Injeção de Código • Proteção – Validação de entrada e saída – Utilização de tokens – Encoding • <script>alert(document.cookie)</script> • &lt;script&gt;alert(document.cookie)%lt;/script&gt OWASP Brasília
  • 26. A6 – Configuração Insegura Aplicações web dependem de uma base segura • Tudo que esteja entre a rede a plataforma • Não se esqueça do ambiente de desenvolvimento Seu código fonte é secreto? • Pense em todos os locais nos quais seu código fonte esteja • A segurança não deve depender de um código secreto GC deve estender a todas as partes da aplicação • Todas as credenciais devem mudar em produção Impacto Típico • Instalação de backdoor via brecha não corrigida na rede ou no servidor • Exploração de falhas de XSS devido a falta de atualização de frameworks da aplicação • Acesso não autorizado a contas, funcionalidades ou dados padrão da aplicação, ou funcionalidade não usada mas disponível em razão de configuração falha do servidor OWASP Brasília
  • 27. A6 – Configuração Insegura Knowledge Mgmt Communication Administration Bus. Functions E-Commerce Transactions Accounts Finance Database Custom Code App Configuration Development Framework App Server QA Servers Web Server Hardened OS Insider Test Servers Source Control OWASP Brasília
  • 28. A7 - Falha em Restringir Acesso a URL Como você protege o acesso as URLs (páginas)? • Isso é em parte imposição de “Autorização” apropriada, juntamente com A4 - Referências Inseguras Diretas a Objetos Um erro comum … • Mostrar apenas links e opções de menu autorizados • Isso é conhecido como controle de acesso da camada de apresentação, e não funciona • O atacante simplesmente adultera os valores dos parâmetros Impacto Típico • Os atacantes invocam funções e serviços a elas não autorizados • Acesso a outras contas e dados de usuários • Execução de ações com privilégio elevado OWASP Brasília
  • 29. Falha em Restringir Acesso a URL • O atacante percebe que https://www.onlinebank.com/user/getAccounts a url tem correlação com sua conta /user/getAccounts • Ele a modifica para outro diretório (papel) • /admin/getAccounts, ou • /manager/getAccounts • O atacante visualiza outras contas além da sua OWASP Brasília
  • 30. A8 - Redirecionamentos e Encaminhamentos Não Validados Redirecionamento em aplicações web é muito comum • E com frequência incluem parâmetros fornecidos pelo usuário na URL de destino. • Caso elas não sejam validadas, o atacantes pode direcionar a vitima para o site que desejar. Encaminhamentos são comuns também • Eles enviam internamente a requisição para uma nova página da mesma aplicação. • Em alguns casos os parâmetros definem a página alvo. • Caso não seja validado, o atacante pode conseguir usar uma encaminhamento não validado para subverter as verificações de autenticação e autorização. Impacto Típico • Redireciona a vítima a site de malware e phishing. • A requisição do atacante é encaminhada para para verificações de segurança já realizadas, permitindo acesso não autorizado a dados e funções. OWASP Brasília
  • 31. A8 - Redirecionamentos e Encaminhamentos Não Validados 1 O atacante envia o ataque a vitima pode email ou site web De: TAM Fidelidade Assunto: Prêmio de 10.000 pontos A TAM tem por hábito premiar os clientes que mais usam nossos serviços, por esta razão A aplicação redireciona 3 a vítima ao site do estamos concedendo 10.000 pontos para você. Para garantir esses pontos preencha o atacante. formulário disponível neste link Knowledge Mgmt Communication Administration Bus. Functions E-Commerce Transactions Accounts A vítima clica no link contendo um parâmetro não Finance 2 validado Custom Code A requisição enviada a um site vulnerável, incluindo o site do atante como parâmetro. Isso redirecionará a vítima ao site do atacante Evil Site 4 O site malicioso instala um http://www.irs.gov/taxrefund/claim.jsp?year=2006 malware na vítima & … &dest=www.evilsite.com OWASP Brasília
  • 32. A8 - Redirecionamentos e Encaminhamentos Não Validados 1 O atacante ataca uma página vulnerável que ele tenha acesso A requisição enviada a uma página vulnerável que o usuário possua acesso. O redirecionamento envia o public void sensitiveMethod( usuário diretamente a uma HttpServletRequest request, HttpServletResponse response) { página privada, subvertendo try { // Do sensitive stuff here. o controle de acesso. ... } catch ( ... 2 A aplicação autoriza a requisição, que continua Filter para uma página 3 O encaminhamento de página falha em vulnerável validar o parâmetro, enviado o atacante a uma página não autorizada, public void doPost( HttpServletRequest request, subvertendo o controle de acesso HttpServletResponse response) { try { String target = request.getParameter( "dest" ) ); ... request.getRequestDispatcher( target ).forward(request, response); } catch ( ... OWASP Brasília
  • 33. A9 – Armazenamento Criptográfico Inseguro Armazenamento inseguro de dados sensíveis • Falha na identificação de todos os dados sensíveis. • Falha em se identificar todos os locais que tais dados sensíveis são armazenados: • Bando de dados, arquivos, diretórios, arquivos de log, backups, etc. • Falha em proteger de forma apropriada esses dados em todos os locais. Impacto Típico • Os atacantes acessam e modificam informação confidencial ou privada: • ex., cartão de crédito, registros de histórico de saúde, dados financeiro (seus ou de seus clientes). • Os atacantes podem extrair os segredos para montar o quebra-cabeças dos ataque. • Constrangimento para a empresa, insatisfação do cliente e perda de confiança. • Custo para resolver o incidente, como em forense, envio de cartas de desculpas, reemissão de milhões de cartões de créditos, fornecimento de seguro contra falsificação de identidade. • Condenações na justiça e/ou multas. OWASP Brasília
  • 34. A9 – Armazenamento Criptográfico Inseguro
  • 35. A9 – Armazenamento Criptográfico Inseguro Usuario: fabricio; Senha: 7900 8700 6500 8300 8000 8300 9700 10200 10100 8000 9700 11500 11500 Usuario: fabricio; Senha: OWASPSafePass Senha ASCII: 79 87 65 83 80 83 97 102 101 80 97 115 115
  • 36. A10 – Proteção Insuficiente na Camada de Transporte Transmissão insegura de dados sensíveis • Falha na identificação de todos os dados sensíveis • Falha na identificação de todos os locais em que os dados sensíveis são enviados: • Na web, para banco de dados, para parceiros de negócio, em comunicação interna. • Falha em se proteger de forma apropriada este dado em qualquer local. Impacto Típico • Os atacantes acessam o modificam dados confidenciais ou informação privada: • Ex., cartão de crédito, prontuários médicos, dados financeiros (de você ou de seus clientes). • Atacantes extraem segredos para compor outros ataques. • Constrangimento para a empresa, insatisfação do cliente e perda de confiança. • Custo para resolver o incidente, como em forense, etc. • Condenações na justiça e/ou multas. OWASP Brasília
  • 37. Proteção Insuficiente na Camada de Transporte Parceiros Vítima Externa Código Adaptado Sistemas Backend Funcionários 1 2 Atacantes externos Atacantes internos roubam credenciais e roubam credenciais e dados fora da rede dados da rede interna Atacantes Externos Atacantes Internos OWASP Brasília
  • 38. Agenda • Palestrantes • Objetivos • OWASP • OWASP Top Ten • Guia de Testes OWASP • Teste de Intrusão • Estudo de Caso • Demo OWASP Brasília
  • 39. Guia de Testes OWASP • Framework de testes de segurança • Entender o que, por quê, quando, onde e como testar aplicações web • Metodologia de classificação de riscos – Identificação dos riscos – Fatores para estima de probabilidade – Fatores para estima de impacto no negócio – Determinação da severidade do risco OWASP Brasília
  • 40. Agenda • Palestrantes • Objetivos • OWASP • OWASP Top Ten • Guia de Testes OWASP • Teste de Intrusão • Estudo de Caso • Demo OWASP Brasília
  • 41. Teste de Intrusão • Técnica exploratória para determinar o nível de risco associado a uma vulnerabilidade ou a um conjunto de vulnerabilidades de determinado alvo • Simula um ataque real a um sistema ou infraestrutura • Processo amplo, fases pré e pós-ataques OWASP Brasília
  • 42. Teste de Intrusão - Planejamento - Descobrimento - Ataque - Relato OWASP Brasília
  • 43. Agenda • Palestrantes • Objetivos • OWASP • OWASP Top Ten • Guia de Testes OWASP • Teste de Intrusão • Estudo de Caso • Demo OWASP Brasília
  • 44. Estudo de Caso • Planejamento – Tipo de teste • Gray-box – Estratégia de teste: • Externo à rede • Informação de vulnerabilidades para correção • Sem credenciais e sem conhecimento de detalhes de infraestrutura, exceto endereço IP – Escopo • http://www.alvo.com.br OWASP Brasília
  • 45. Estudo de Caso • Planejamento – Restrições • Inspeção de segurança código-fonte • Engenharia social • Negação de serviço • Modificação/exclusão de informações restritas • Testes de lógica de negócio • Testes em áreas restritas da aplicação – Período: • De 2 a 9 de MM de YYYY • Sem restrição de horário OWASP Brasília
  • 46. Estudo de Caso • Descobrimento – Levantamento de Informações • Ferramenta automatizada – Versão do Servidor, bibliotecas, tecnologias – Árvore de diretórios com pontos de entradas – Informações sensíveis • Inspeção manual de códigos HTML – Ajax OWASP Brasília
  • 47. Estudo de Caso • Descobrimento – Resultados • Versão do Servidor Web: Apache • Tecnologia PHP: versão 5.1.6 • Scripts com ponto de entrada (ferramenta): 167 • Scripts Ajax: 4 OWASP Brasília
  • 48. Estudo de Caso • Descobrimento – Análise de Vulnerabilidades • Em acordo com escopo e limitações • Utilização dos testes Guia de Testes OWASP • Análise automatizada e manual e análise crítica • CVE OWASP Brasília
  • 49. Estudo de Caso • Descobrimento – Testes realizados (Gerência de Configuração) • OWASP-CM-001 – SSL/TLS Testing • OWASP-CM-002 – DB Listener Testing • OWASP-CM-003 – Infrastructure configuration Mgt test • OWASP-CM-007 – Infrastructure and app admin interfaces OWASP Brasília
  • 50. Estudo de Caso • Descobrimento – Testes realizados (Testes de Autenticação) • OWASP-AT-001 – Credential transport over encrypted channel • OWASP-AT-002 – Test for user enumeration • OWASP-AT-006 – Test for vulnerable remember me password OWASP Brasília
  • 51. Estudo de Caso • Descobrimento – Testes realizados (Gerência de sessão) • OWASP-SM-001 – Testing for session mgt schema • OWASP-SM-003 – Testing for session fixation OWASP Brasília
  • 52. Estudo de Caso • Descobrimento – Testes realizados (Validação de dados) • OWASP-DV-001 – Testing for Reflected XSS • OWASP-DV-005 – SQL Injection OWASP Brasília
  • 53. Estudo de Caso • Ataque – Verifica grau de profundidade das vulnerabilidades – OWASP-DV-005 Sql Injection – Conformidade com regras acordadas na fase de planejamento – Desenvolvido exploits OWASP Brasília
  • 54. Estudo de Caso • Ataque – Exemplo exploit: • http://www.alvo.com.br/site/ajax/ajax.php?id=12222%20un ion%20select%201,1,concat%28nome,%20%27%20%27,%2 0login,%20%27%20%27,%20senha%29,1%20from%20USUA RIOS-- – Objetivo • Obter os campos nome, login e senha da tabela USUARIOS banco de dados ALVO. OWASP Brasília
  • 55. Estudo de Caso • Ataque – Resultados: mais de 2700 contas de usuários/senhas, acesso administrativo. – Senhas armazenadas em hash: – Rainbow Tables, tabelas com entradas pré- computadas HASH MD5 Texto Claro 4a45c297942c77ad3a47ac4650e7e90a !@#123qwe 1ac0111bb4011eeb099059a87548bcb2 kelly12!@ e10adc3949ba59abbe56e057f20f883e 123456 64760ea431d3ace72ffa9065ed1b706e 1005197 eb52b9e89e7272b9742ce97bed92a98a 04010612 OWASP Brasília
  • 56. Estudo de Caso • Relato (riscos OWASP Top Ten) Item OWASP Top Id Vulnerabilidade Item OWASP Testing Risco Ten Guide A1 – Injeção 01 Injeção de Comandos SQL OWASP-DV-005 Muito Alto A2 – Cross Site 02 Cross-site-scripting OWASP-DV-001 Médio Scripting A6 – Configuração de 03 Versão insegura PHP OWASP-CM-003 Alto segurança defeituosa 04 Slow HTTP OWASP-CM-003 Alto 05 Interfaces administrativas abertas OWASP-CM-007 Alto A7 – Armazenamento 06 Armazenamento de senhas com - Médio criptográfico inseguro hash sem salt A9 – Proteção 07 Canal inseguro para autenticação OWASP-AT-001 Alto insuficiente da camada de transporte OWASP Brasília
  • 57. Estudo de Caso • Relato (recomendações) Id Vulnerabilidade Recomendação 01 Injeção de Comandos SQL Utilizar APIs que forneçam suporte para queries parametrizadas (STTUTARD, 2008). 02 Cross-site-scripting Validar os dados de entrada e saída oriundos de formulários e requisições get; utilizar entidades HTML (&gt, &lt etc). (STTUTARD, 2008) 03 Versão insegura PHP Atualizar versão do PHP (STTUTARD, 2008). 04 Slow HTTP Aplicar processo de hardening no servidor web (QUALYS). 05 Interfaces administrativas abertas Restringir acesso às interfaces administrativas a uma rede segura/interna. 06 Armazenamento de senhas com hash Utilizar algoritmo de hash seguro e aplicar técnica de salt (STTUTARD, sem salt 2008). 07 Canal inseguro para autenticação Implementar protocolo SSL/TLS compatível com as melhores práticas (STTUTARD, 2008) . OWASP Brasília
  • 58. Agenda • Palestrantes • Objetivos • OWASP • OWASP Top Ten • Guia de Testes OWASP • Teste de Intrusão • Estudo de Caso • Demo OWASP Brasília
  • 59. Demo • A1 – Injeção • A2 – XSS • A3/A7 – Falha no Gerenciamento de Sessão/Armazenamento criptográfico inseguro • A10 – Redirecionamento e reenvios não validados OWASP Brasília
  • 60. Conclusão • Segurança permeia todos os processos e sistemas não foge à regra • Sempre haverá riscos, mas apoiado em boas práticas pode-se levá-los a um nível adequado • OWASP Top Ten – Boa referência/introdução • Guia de testes OWASP – Base sólida para testes web • Ferramentas não são tudo OWASP Brasília
  • 61. Referências • http://www.md5decrypter.co.uk/ • https://www.owasp.org/index.php/Main_Pag e • https://www.owasp.org/index.php/Category: OWASP_Top_Ten_Project • https://www.owasp.org/images/5/56/OWASP _Testing_Guide_v3.pdf • http://csrc.nist.gov/publications/nistpubs/800 -115/SP800-115.pdf OWASP Brasília
  • 62. • Obrigado! • H2hc – Discount code: ECT12 OWASP Brasília