SlideShare una empresa de Scribd logo
1 de 79
Descargar para leer sin conexión
OWASP
Open Web Applications Security Project
Projectos, Documentos e Ferramentas



        Carlos Serrão                      Joaquim Marques
        OWASP Portugal                     OWASP Portugal
        ISCTE/DCTI/Adetti/NetMuST          EST/IPCB

        carlos.serrao@iscte.pt             carlos.serrao@iscte.pt
        carlos.j.serrao@gmail.com          carlos.j.serrao@gmail.com




             Copyright © 2004 - The OWASP Foundation
             Permission is granted to copy, distribute and/or modify this document under
             the terms of the GNU Free Documentation License.




             The OWASP Foundation
             http://www.owasp.org
Sumário

 Introdução ao OWASP
 OWASP e OWASP Portugal
 Projectos
  Documentação
  Projectos
 Documentação
  OWASP Top 10
  Webscarab e Webgoat
 Conclusões


                           OWASP   2
Introdução ao OWASP




                      OWASP   3
O que é segurança de Aplicações Web?

 Não é Segurança de Redes
  Segurança   do “código” criado para implementar a aplicação
   web
  Segurança   de bibliotecas
  Segurança   de sistemas de back-end
  Segurança   de servidores web e aplicacionais


 Segurança de Redes ignora o conteúdo do tráfego de
  HTTP
  Firewalls, SSL, Intrusion Detection Systems, Operating
   System Hardening, Database Hardening

                                                      OWASP      4
O código faz parte do perímetro de
                    segurança
                                           O seu perímetro de segurança possui
                                               buracos enormes na camada
                                                       aplicacional
Application Layer




                                                                                                  Legacy Systems




                                                                                                                                                Human Resrcs
                                                                                                                   Web Services
                                                                                                                                  Directories
                                                                                      Databases




                                                                                                                                                               Billing
                                                      Custom Developed
                                                       Application Code
                      APPLICATION
                        ATTACK




                                                        App Server
                                                        Web Server
Network Layer




                                                       Hardened OS




                                                                           Firewall
                                    Firewall




Não é possível usar protecção ao nível da camada de rede (firewall, SSL, IDS, hardening) para parar ou
                               detectar ataques ao nível aplicacional               OWASP           5
Isto é preocupante?

 Vamos lá pensar…
  Qual a probabilidade de sucesso de um ataque contra uma
   aplicação web?
     Probabilidade elevada
     Fácil de explorar sem conhecimento e ferramentas especiais
     Quase indetectável
     Existem milhares de programadores web, pouco preocupados
      com segurança
  Consequências?
     Corrupção de dados ou destruição de BD
     Acesso root a servidores web ou aplicacionais
     Perda de autenticação e de controlo de acesso de utilizadores
     Descaracterização (Defacement)
     Ataques secundários a partir da própria aplicação web

                                                        OWASP
Isto é preocupante?

 A Segurança de Aplicações Web é tão importante como a
  Segurança de Redes
  Porque é que grande parte do investimento em Segurança é
   canalizado para a segurança das redes?




                                                   OWASP
O que é o OWASP?

Open Web Application Security Project
  Promove o desenvolvimento seguro de software
  Orientado para o desenvolvimento de serviços
   baseados na web
  Focado principalmente em aspectos de
   desenvolvimento do que em web-design
  Um fórum aberto para discussão
  Um recurso gratuito e livre para qualquer equipa
   de desenvolvimento

                                            OWASP     2
O que é o OWASP?
Open Web Application Security Project
 an open community dedicated to enabling
 organizations to develop, purchase, and
 maintain applications that can be trusted
  Promover o desenvolvimento seguro
  Auxiliar a tomada de decisão quanto ao risco
  Oferecer recursos gratuitos
  Promover a contribuição e partilha de informação



                                            OWASP     3
O que é o OWASP?

 Open Web Application Security Project
   Organização sem fins lucrativos, orientada para esforço
    voluntário
       Todos os membros são voluntários
       Todo o trabalho é “doado” por patrocinadores
   Oferecer recursos livres para a comunidade
       Publicações, Artigos, Normas
       Software de Testes e de Formação
       Chapters Locais & Mailing Lists
   Suportada através de patrocínios
       Suporte de empresas através de patrocínios financeiros ou de
        projectos
       Patrocínios pessoais por parte dos membros


                                                                 OWASP   4
Organização do OWASP




                       OWASP
O que é o OWASP?

 O que oferece?
  Publicações
      OWASP Top 10
      OWASP Guide to Building Secure Web Applications
  Software
         WebGoat
     
         WebScarab
     
         oLabs Projects
     
         .NET Projects
     
  Chapters Locais
      Orientação das comunidades locais



                                                         OWASP   6
OWASP Ferramentas e Tecnologias




                                  OWASP   7
Publicações OWASP

 Características Comuns
  Todas as publicações OWASP estão disponíveis para
   download gratuíto em http://www.owasp.org
  Todas as publicações são licenciadas em GNU “Lesser” GNU
   Public License (LGPL), ou em GNU Free Documentation
   License (GFDL)
  Documentação “viva”
      Actualizada sempre que necessário
      Projectos evolutivos
  As publicações do OWASP são o resultado de trabalho
   cooperativo entre os membros


                                                   OWASP      8
Publicações OWASP – OWASP Top 10

 Top 10 Web Application Security Vulnerabilities
   Uma lista dos 10 aspectos de segurança mais críticos
   Actualizado numa base annual
   Crescente aceitação pela indústria
       Federal Trade Commission (US Gov)
       US Defense Information Systems Agency
       VISA (Cardholder Information Security Program)


   Está a ser adoptado como um standard de segurança para
    aplicações web



                                                         OWASP   9
Publicações OWASP - OWASP Top 10

 Top 10 (versão 2007)
  A1. Cross Site Scripting (XSS)
  A2. Injection Flaws
  A3. Malicious File Execution
  A4. Insecure Direct Object Reference
  A5. Cross Site Request Forgery (CSRF)
  A6. Information Leakage and Improper Error Handling
  A7. Broken Authentication and Session Management
  A8. Insecure Cryptographic Storage
  A9. Insecure Communications
  A10. Failure to Restrict URL Access


                                                   OWASP   11
Publicações OWASP - OWASP Guide

 Guia para o Desenvolvimento Seguro de Web Apps
  Oferece um conjunto de linhas gerais para o desenvolvimento
   de software seguro
      Introdução à segurança em geral
      Introdução à segurança aplicacional
      Discute áreas-chave de implementação
        –   Arquitectura
        –   Autenticação
        –   Gestão de Sessões
        –   Controlo de Acesso e Autorização
        –   Registo de Eventos
        –   Validação de Dados
  Em contínuo desenvolvimento


                                                    OWASP        12
Publicações OWASP – Projectos em Curso

 Projectos em Curso
  Projecto de Métricas & Medidas
      Tenta desenvolver um conjunto de métricas de segurança que podem
       ser usadas para suportar decisões críticas de negócio
  Projecto de Testes
      Tenta produzir uma framework de “boas práticas”
      Tenta produzir uma framework de testes de “baixo nível” que permite
       identificar certos aspectos
  AppSec Faq
      FAQ para programadores que se foca em segurança aplicacional
      Oferece respostas a questões sobre segurança aplicacional




                                                               OWASP         13
Software OWASP

 Características Comuns
  Todo o software OWASP é oferecido e pode ser obtido em
   http://www.owasp.org
  O software está licenciado com uma licença GNU “Lesser”
   GNU Public License (LGPL)
  Projectos Activos
      Actualizados sempre que necessário
      Projectos em curso
      Multiplos programadores a contribuirem e a menterem
  O software OWASP pode ser descarregado livremente e pode
   ser usado por indivíduos e empresas


                                                             OWASP   14
Software OWASP - WebGoat

 WebGoat
  Essencialmente é uma aplicação de treino
  Oferece
      Uma ferramenta educacional usada para ensinar e aprender sobre
       segurança aplicacional
      Uma ferramenta para testar ferrementas de segurança
  O que é?
      Uma aplicação web J2EE disposta em diversas “Lições de Segurança”
      Baseado no Tomcat e no JDK 1.5
      Orientada para o ension
         – Fácil de usar
         – Ilustra cenários credíveis
         – Ensina ataques realistas e soluções viáveis


                                                              OWASP        15
Software OWASP - WebGoat

 WebGoat – O que se pode aprender?
  Um número crescente de ataques e de soluções
         Cross Site Scripting
     
         SQL Injection Attacks
     
         Thread Safety
     
         Field & Parameter Manipulation
     
         Session Hijacking and Management
     
         Weak Authentication Mechanisms
     
         Mais ataques vão sendo adicionados
     
  Obter a ferramenta
      http://www.owasp.org/software/webgoat.html
      Descarregar, descomprimir, e executar


                                                    OWASP   16
Software OWASP - WebScarab

 WebScarab
  Uma framework para analizar tráfego HTTP/HTTPS
  Escrito em Java
  Múltiplas utilizações
      Programador: fazer o debug das trocas entre o cliente e servidor
      Analista de Segurança: analiza o tráfego e identifica vulnerabilidades
  Ferramenta técnica
         Focada em programadores de software
     
         Arquitectura extensível de plug-ins
     
         Open source; de fácil expansão
     
         Poderosa
     
  Obter a ferramenta
      http://www.owasp.org/software/webscarab.html



                                                                   OWASP        17
OWASP Summer of Code – SoC 2009

 Projectos inovadores
 Alcançar qualidade para publicação
   6 ferramentas/ 7 documentação
 Investimentos:
   Autumm of Code 2006
       9 projetos / US$20K
   Spring of Code 2007
       21 projetos / US$117K
   Summer of Code 2008
       33 projetos / US$126K



                                       OWASP   18
Chapters locais da OWASP

 Desenvolvimento de comunidades
  Os Chapters locais proporcionam oportunidades para os
   membros OWASP poderem partilhar ideias e aprender mais
   sobre segurança da informação
  Aberto a *TODOS*
  Oferecer um fórum para discussão de assuntos em contextos
   locais/regionais
  Oferecer o local para convidados poderem apresentar novas
   ideias e projectos




                                                   OWASP       19
Chapters locais da OWASP




                           OWASP   20
Actividade

 Chapter Português
  Nasce a 24 Outubro de 2007
  Actividade quase nula

 2008
  OWASP EU Summit 08
  Albufeira, Algarve, Portugal

 2009
  KOM
  Manter reuniões regulares
  Lançar projectos e ideias
                                  OWASP   5
OWASP EU Summit 08

 O *maior* evento OWASP de sempre
  1 semana, +100 pessoas (de todo o Mundo)
  Apresentação de Projectos
  Sessões de Trabalho
  Formação
  + 1 dia de Demo na UAlg




                                              OWASP   6
OWASP EU Summit 08

 O *maior* evento OWASP de sempre
  1 semana, +100 pessoas (de todo o Mundo)
  Apresentação de Projectos            Sim, estivemos
                                         lá também…
  Sessões de Trabalho
  Formação
  + 1 dia de Demo na UAlg




                                                         OWASP   6
Antes de mais…

 … alguns dados

 Membros
   26 membros
 Web-site
   http://www.owasp.org/index.php/Portuguese
 Mailling-List
   owasp-portuguese@lists.owasp.org
 Chapter Leader
   Carlos Serrão (carlos.serrao@iscte.pt,
    carlos.j.serrao@gmail.com)

                                                OWASP   2
Reuniões

 Objectivos:
   Manter um calendário de reuniões periódicas
       Ideal: 1 reunião por mês
       Realista: 1 reunião a cada 3 ou 4 meses
   Promover a missão da OWASP
   Promover os projectos, ferramentas e documentação da OWASP
   Promover a troca livre e disseminação livre de informação sobre
    segurança de informação e segurança de aplicações e sistemas
    web-based
   Promover o lançamento de novas ideias e de novos projectos
   Envolver os membros em projectos on-going


                                                         OWASP        7
OWASP em Números

 420.000 page views por mês
 230 GB de download por mês
 4.618 utilizadores do wiki
 200 actualizações por dia
 124 capítulos (chapters)
 16.000 membros nas mailings lists
 48 projectos de ferramentas e documentos
 100 membros individuais
 48 membros corporativos/educacionais
 2 empregados

                                             OWASP   21
Chapters Locais da OWASP

 O que oferecem?
  Reuniões regulares
  Mailing Lists
  Apresentações e Grupos
  Ambientes independentes do vendedor
  Fóruns de discussão aberta




                                         OWASP   22
Chapters Locais da OWASP

 O que oferecem?
  Como contribuir?
      Através das ML, reuniões e dos grupos de discussão
      Os membros são encorajados a levantarem questões
      Os membros são encorajados a participar em projectos OWASP
         – Contribuir para projectos existentes
         – Propor novos projectos
         – Lançar novas iniciativas
      O Chapter Local deve trabalhar no sentido de manter a organização
       como um recurso livre, aberto e orientado tecnicamente para o público
       em geral e para os membros




                                                                OWASP          23
Sponsors




           OWASP   24
OWASP Top 10




               OWASP   34
OWASP Top 10

 As 10 Mais críticas
  vulnerabilidades em
  aplicações web
 2007 Release (2nd)
 Não é um standard, mas um
  conjunto de recomendações




                              OWASP   35
OWASP Top 10

1. Cross Site Scripting (XSS)
2. Falhas de Injecção
3. Inclusão Remota e Insegura de Ficheiros
4. Referência Directa e Insegura a Objectos
5. Cross Site Request Forgery (CSRF)
6. Revelação de Informação e Tratamento de Erros
   Inadequado
7. Quebra da Gestão de Sessões e da Autenticação
8. Armazenamento criptográfico inseguro
9. Comunicações inseguras
10.Falha na restrição de acesso a URL
                                                   OWASP   36
1. Cross-Site Scripting (XSS)

 Descrição
  O problema que mais tem prevalecido em termos de
   segurança nas aplicações web
  Permite que os atacantes possam executar código no
   browser da vítima
 Ambientes afectados
  Todas as frameworks de aplicações web estão sujeitas a este
   tipo de ataque




                                                     OWASP       37
1. Cross-Site Scripting (XSS)

 Vulnerabilidades
   3 tipos:
       Reflectidos
       Armazenados
       DOM injection
   Os ataques são normalmente realizados através de
    Javascript, ou através da manipulação directa dos pedidos
    HTTP




                                                      OWASP     38
1. Cross-Site Scripting (XSS)

 Verificar a Segurança
   Todos os parâmetros de entrada devem ser validados ou
    codificados
   Revisões de Código
   Mecanismo central de validação ou de codificação
 Protecção
   Combinar um conjunto de validações de todos os dados de
    entrada e a codificação de todos os dados de saída




                                                    OWASP     39
2. Falhas de Injecção

 Descrição
  A injecção ocorre quando dados fornecidos pelo utilizador é
   enviada para um interpretador como parte de um comando
   ou query
  Injecção de comandos de SQL é o mais comum
 Ambientes Afectados
  Todas as frameworks de aplicações web que usam
   interpretadores são vulneráveis a ataques de injecção.




                                                      OWASP      40
2. Falhas de Injecção

 Vulnerabilidades
   Se o input do utilizador for passado directamente para um
    interpretador sem validação ou codificação, a aplicação fica
    vulnerável.
   Verificar se o input do utilizador é passado directamente a
    queris dinâmicas
       PHP:
       $sql = quot;SELECT * FROM table WHERE id = 'quot; . $_REQUEST['id’] . quot;’quot;;

                e se $_REQUEST[‘id’]=” ’ OR 1=1 -- ”

            SELECT * FROM table WHERE id = ‘’ OR 1=1 --’



                                                                      OWASP   41
2. Falhas de Injecção

 Verificação de Segurança
    Verificar que o utilizador não pode modificar comandos ou queries
     enviadas para qualquer interpretador usado pela aplicação
    Revisões de Código
 Protecção
    Impedir o acesso a interpretadores sempre que possível
    “Correr com o menor privilégio possível”
    As stored procedures são igualmente afectadas
    Validação das entradas do utilizador




                                                               OWASP     42
3. Inclusão Remota e Insegura de Ficheiros

 Descrição
  Permite que os atacantes possam realizar execução remota
   de código, comprometendo ficheiros de input
  Causado frequentemente por se confiar em ficheiros de input
 Ambientes afectados
  Todas as frameworks de aplicações web que permitem a
   inclusão de ficheiros para serem executados (especialmente o
   PHP)
  Ambientes são susceptíveis se permitirem o upload em
   directorias web.




                                                     OWASP        43
3. Inclusão Remota e Insegura de Ficheiros

 Vulnerabilidades
   Dados hostis a serem carregados para ficheiros de sessão ou
    dados de execução
   PHP é mais comum, mas outras linguagens são igualmente
    susceptíveis
       Java e .Net
       DTD hostis em documentos XML


         require_once($_POST[‘unsafe_filename’] . ‘inc.php’);




                                                                OWASP   44
3. Inclusão Remota e Insegura de Ficheiros

 Verificação de Segurança
  Revisões de Código
  Ferramentas automáticas de pesquisa
 Protecção
  Nunca permitir que um ficheiro enviado pelo utilizador possa
   usar recursos do servidor
  Implementação de protocolos de segurança devidamente
   configurados
  Validar o input do utilizador




                                                      OWASP       45
4. Referência Directa e Insegura a Objectos

Descrição
  Ocorre quando o programador expõe uma referência não
   validada a um objecto interno da implementação, tal como
   um ficheiro, directoria, registo ou chave de uma base de
   dados, com uma URL ou parâmetro num formulário
Ambientes afectados
  Todas as frameworks de aplicações web são vulneráveis a
   referências directas e inseguras a objectos




                                                  OWASP       46
4. Referência Directa e Insegura a Objectos

 Vulnerabilidades
   Exposição de referências internas de objectos
   Atacantes modificam os parâmetros para alterar as
    referências e violarem as políticas de controlo de acessos
    construídas na aplicações
   As referências a chaves de base de dados são
    frequentemente expostas
        <select name=quot;languagequot;><option value=quot;frquot;>Français</option></select>
        …
        require_once ($_REQUEST['language’].quot;lang.phpquot;);




e se $_REQUEST[‘language’] = “../../../.../../etc/passwd%00” ?


                                                                           OWASP   47
4. Referência Directa e Insegura a Objectos

 Verificação de Segurança
  Remover qualquer referência directa a objectos que possa ser
   manipulada por um atacante determinado
  Análise e revisão do código (difícil e morosa quer por
   métodos manuais ou automáticos)
 Protecção
  A melhor protecção é evitar expor referências directas a
   objectos aos utilizadores
  Verificar a autorização de acesso a todos os objectos
   referenciados



                                                      OWASP       48
5. Cross Site Request Forgery (CSRF)

 Descrição
  Um ataque que engana a vítima a carregar uma página que
   contém um pedido malicioso
  Também conhecidos como Session Riding, One-Click Attacks,
   Cross Site Reference Forgery, Hostile Linking, e Automation
   Attack
 Ambientes afectados
  Todas as frameworks de aplicações web são vulneráveis a
   CSRF.




                                                     OWASP       49
5. Cross Site Request Forgery (CSRF)

 Vulnerabilidades
   Num forum, o ataque pode dirigir o utilizador a invocar uma
    função de logout
   Pode ser combinado com XSS

                   <img src=quot;http://www.example.com/logout.phpquot;>



       <img src=quot;http://www.example.com/transfer.do?frmAcct=document.form.frmAcct&
            toAcct=4345754&toSWIFTid=434343&amt=3434.43quot;>




                                                                            OWASP    50
5. Cross Site Request Forgery (CSRF)

 Verificação de Segurança
    Usar tokens de autenticação que não sejam automaticamente
     submetidos pelo browser
 Protecção
    Eliminar as vulnerabilidades de XSS da aplicação
    Acrescentar um “nonce” na URL por cada pedido e em todos os
     formulários em adição à sessão tradicional - se isto já não estiver
     presente na framework de aplicações web a ser usada
    Solicitar écrans de login adicionais para dados mais sensíveis
    Não usar pedidos GET para dados mais sensíveis




                                                                  OWASP    51
6. Revelação de Informação e Tratamento de
Erros Inadequado
 Descrição
  As aplicações podem sem intenção, revelar informação sobre
   a sua configuração, forma funcionamento interno, ou violar a
   privacidade através de diversos problemas da aplicação
 Ambientes Afectados
  Todas as frameworks de aplicações web são vulneráveis à
   revelação de informação ou tratamento incorrecto de erros.




                                                     OWASP        52
6. Revelação de Informação e Tratamento de
Erros Inadequado
 Vulnerabilidades
   Mensagens de Erro com demasiado detalhe
       Stack Traces
       SQL Statements
   Registo desapropriado de mensagens detalhadas




                                                    OWASP   53
6. Revelação de Informação e Tratamento de
Erros Inadequado
 Verificação de Segurança
    O objectivo é que uma aplicação não dê demasiada informação sobre
     os erros
    Exige uma verificação manual do código para ver qual o detalhe das
     mensagens
 Protecção
    Testes para gerar mensagens de erro e outras verificações no
     desenvolvimento
    Desactivar ou limitar as mensagens de erro


                        display_errors = Off



                                                               OWASP      54
7. Quebra da Gestão de Sessões e da
Autenticação
 Descrição
  Falhas na autenticação e gestão de sessões envolvem
   frequentemente a falha de protecção das credenciais e
   tokens de sessão ao longo do seu ciclo de vida.
 Ambientes Afectados
  Todas as frameworks de aplicações web são vulneráveis a
   falhas de autenticação e de gestão das sessões




                                                     OWASP   55
7. Quebra da Gestão de Sessões e da
Autenticação
 Vulnerabilidades
   Falha do mecanismo principal de controlo de acesso
   Gestão de passwords
   Timeout de Sessões




                                                     OWASP   56
7. Quebra da Gestão de Sessões e da
Autenticação
 Verificação de Segurança
    A Aplicação de deve autenticar os utilizadores de forma apropriada e proteger
     as suas credenciais
    Difícil de conseguir através de ferramentas automáticas
    Combinação de Revisões de Código e de Testes
 Protecção
    Manter a comunicação segura e armazenamento de credenciais
    Usar sempre um mecanismo de autenticação sempre que se aplique
    Criar uma nova sessão após a autenticação
    Assegurar que o link de logout destrói toda a informação pertinente
    Não expor quaisquer credenciais na URL ou nos logs




                                                                      OWASP          57
8. Armazenamento criptográfico inseguro

 Descrição
  A falha de não proteger dados sensíveis recorrendo a
   criptografia é um defeito recorrente
  As aplicações que usam criptografia frequentemente, usam
   algoritmos mal concebidos - ou usando cifras não apropriadas
   ou cometendo sérios erros na sua aplicação
 Ambientes Afectados
  Todos os ambientes de aplicações web são vulneráveis a este
   tipo de falha.




                                                     OWASP        58
8. Armazenamento criptográfico inseguro

 Vulnerabilidades
   Não cifrar dados sensíveis
   Usar algoritmos inventados
   Uso inseguro de algoritmos criptográficos fortes
   Continuar a usar algoritmos que já provaram ser fracos
    (MD5, RC3, RC4, etc…)
   Usar chaves hard-coded, e armazenar chaves em repositórios
    não-seguros




                                                    OWASP        59
8. Armazenamento criptográfico inseguro

 Verificação de Segurança
    Verificar que a aplicação cifra de forma adequada a informação
     sensível
    Ferramentas de verificação automática não oferecem grande ajuda
    Revisões de código são a forma mais eficiente de verificação
 Protecção
    Usar apenas algoritmos públicos aprovados
    Verificar para ter a certeza de que toda a informação sensível está a
     ser cifrada




                                                                 OWASP       60
9. Comunicações Inseguras

 Descrição
  As aplicações frequentemente não cifram o tráfego de dados
   quando é necessário proteger comunicações sensíveis
  SSL deve ser usado para todas as ligações autenticadas
 Ambientes afectados
  Todas as frameworks de aplicações web são vulneráveis a
   este problema.




                                                    OWASP       61
9. Comunicações Inseguras

 Vulnerabilidades
   Sniffing da rede
   Todo o tráfego autenticado deve passar por SSL, porque o
    HTTP contem credenciais de autenticação, ou tokens de
    sessão em cada pedido; e não apenas no pedido de login
   Usar sempre o SSL para proteger a transmissão de dados
    sensíveis




                                                     OWASP     62
9. Comunicações Inseguras

 Verificação de Segurança
  Verificar que a aplicação cifra de forma apropriada todas as
   comunicações autenticadas e sensíveis
  Ferramentas de scanning de vulnerabilidades podem verificar
   se o SSL está a ser usado no front-end, e encontrar os
   problemas de segurança
  Revisões de código ajudam a perceber o uso apropriado do
   SSL para todas as ligações de backend
 Protecção
  Usar sempre o SSL para proteger dados sensíveis




                                                     OWASP        63
10. Falha na restrição de acesso a uma URL

 Descrição
  Depender de segurança por obscuridade para restringir o
   acesso a URL
  Não usar verificações de controlo de acesso para URLs
 Ambientes afectados
  Todas as frameworks de aplicações web são vulneráveis a
   este tipo de falha




                                                    OWASP    64
10. Falha na restrição de acesso a uma URL

 Vulnerabilidades
   Navegação forçada
   URLs e ficheiros escondidos
   Mecanismo de segurança ultrapassado
   Avaliar os privilégios apenas no cliente




                                               OWASP   65
10. Falha na restrição de acesso a uma URL

 Verificação de Segurança
    Verificar que o controlo de acesso é utilizado de forma consistente em
     todas as URL da aplicação
    Ferramentas de verificação automática têm algumas dificuldades em
     verificar isto
    Uma combinação de revisões de código e testes são mais eficazes
 Protecção
    Desenhar e implementar os diferentes perfis de acesso a URL
    Assegurar que todas as URL fazem parte deste processo
    Não usar URL escondidas




                                                                OWASP         66
Webgoat
WebScarab




            OWASP   67
Conclusões




             OWASP   68
Sistemas de Informação Web-based




                             OWASP   69
Segurança de Redes
         +
Segurança Aplicacional




                         OWASP   70
Security by Design




                     OWASP   71
Developers,
developers,
developers...
developers.




                OWASP   72
Educação, Formação, Treino




                             OWASP   73
Filter input; Escape output.




                               OWASP   74
Seguir standards, recomendações
  internacionais, boas práticas




                             OWASP   75
OWASP
     Open Web Applications Security Project


Projectos, Documentos, Ferramentas




                                              OWASP   76
Questões?




            OWASP   77
Obrigado pela vossa atenção!
   http://www.owasp.org/index.php/Portuguese
          http://webappsec.netmust.eu
      owasp-portuguese@lists.owasp.org




                                               OWASP   78

Más contenido relacionado

Destacado

OWASP Top 10 2010 para JavaEE (pt-BR)
OWASP Top 10 2010 para JavaEE (pt-BR)OWASP Top 10 2010 para JavaEE (pt-BR)
OWASP Top 10 2010 para JavaEE (pt-BR)Magno Logan
 
OWASP @ ISCTE-IUL, Criptografia em PHP
OWASP @ ISCTE-IUL, Criptografia em PHPOWASP @ ISCTE-IUL, Criptografia em PHP
OWASP @ ISCTE-IUL, Criptografia em PHPCarlos Serrao
 
AppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEE
AppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEEAppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEE
AppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEEMagno Logan
 
Introdução ao OWASP
Introdução ao OWASPIntrodução ao OWASP
Introdução ao OWASPCarlos Serrao
 
OWASP: O que, Por que e Como
OWASP: O que, Por que e ComoOWASP: O que, Por que e Como
OWASP: O que, Por que e ComoEr Galvão Abbott
 
Auditoria de sistemas de informação
Auditoria de sistemas de informaçãoAuditoria de sistemas de informação
Auditoria de sistemas de informaçãoSilvino Neto
 
OWASP Top 10 2013
OWASP Top 10 2013OWASP Top 10 2013
OWASP Top 10 2013markstory
 
Arquitetura de Software Na Pratica
Arquitetura de Software Na PraticaArquitetura de Software Na Pratica
Arquitetura de Software Na PraticaAlessandro Kieras
 
Top 10 Web Security Vulnerabilities (OWASP Top 10)
Top 10 Web Security Vulnerabilities (OWASP Top 10)Top 10 Web Security Vulnerabilities (OWASP Top 10)
Top 10 Web Security Vulnerabilities (OWASP Top 10)Brian Huff
 

Destacado (10)

OWASP - Ferramentas
OWASP - FerramentasOWASP - Ferramentas
OWASP - Ferramentas
 
OWASP Top 10 2010 para JavaEE (pt-BR)
OWASP Top 10 2010 para JavaEE (pt-BR)OWASP Top 10 2010 para JavaEE (pt-BR)
OWASP Top 10 2010 para JavaEE (pt-BR)
 
OWASP @ ISCTE-IUL, Criptografia em PHP
OWASP @ ISCTE-IUL, Criptografia em PHPOWASP @ ISCTE-IUL, Criptografia em PHP
OWASP @ ISCTE-IUL, Criptografia em PHP
 
AppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEE
AppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEEAppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEE
AppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEE
 
Introdução ao OWASP
Introdução ao OWASPIntrodução ao OWASP
Introdução ao OWASP
 
OWASP: O que, Por que e Como
OWASP: O que, Por que e ComoOWASP: O que, Por que e Como
OWASP: O que, Por que e Como
 
Auditoria de sistemas de informação
Auditoria de sistemas de informaçãoAuditoria de sistemas de informação
Auditoria de sistemas de informação
 
OWASP Top 10 2013
OWASP Top 10 2013OWASP Top 10 2013
OWASP Top 10 2013
 
Arquitetura de Software Na Pratica
Arquitetura de Software Na PraticaArquitetura de Software Na Pratica
Arquitetura de Software Na Pratica
 
Top 10 Web Security Vulnerabilities (OWASP Top 10)
Top 10 Web Security Vulnerabilities (OWASP Top 10)Top 10 Web Security Vulnerabilities (OWASP Top 10)
Top 10 Web Security Vulnerabilities (OWASP Top 10)
 

Similar a Apresentação OWASP - UBI, Covilhã

A OWASP e a Segurança Aplicacional para a Web
A OWASP e a Segurança Aplicacional para a WebA OWASP e a Segurança Aplicacional para a Web
A OWASP e a Segurança Aplicacional para a WebCarlos Serrao
 
OpenShift : TaSafoConf 2012
OpenShift : TaSafoConf 2012OpenShift : TaSafoConf 2012
OpenShift : TaSafoConf 2012Edgar Silva
 
Owasp Chapter Cuiabá
Owasp Chapter Cuiabá Owasp Chapter Cuiabá
Owasp Chapter Cuiabá OWASP_cuiaba
 
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
 
OWASP Capítulo Brasília 2013
OWASP Capítulo Brasília 2013OWASP Capítulo Brasília 2013
OWASP Capítulo Brasília 2013OWASP Brasília
 
Apresentação Ismael Rocha e Fabricio Braz
Apresentação Ismael Rocha e Fabricio BrazApresentação Ismael Rocha e Fabricio Braz
Apresentação Ismael Rocha e Fabricio BrazOWASP Brasília
 
OWASP @ ISCTE-IUL, OWASP Top 10 2010
OWASP @ ISCTE-IUL, OWASP Top 10 2010OWASP @ ISCTE-IUL, OWASP Top 10 2010
OWASP @ ISCTE-IUL, OWASP Top 10 2010Carlos Serrao
 
OWASP @ ISCTE-IUL - OWASP Top 10 (v2010)
OWASP @ ISCTE-IUL - OWASP Top 10 (v2010)OWASP @ ISCTE-IUL - OWASP Top 10 (v2010)
OWASP @ ISCTE-IUL - OWASP Top 10 (v2010)Carlos Serrao
 
Análise de Vulnerabilidades em Aplicações na Web Nacional
Análise de Vulnerabilidades em Aplicações na Web NacionalAnálise de Vulnerabilidades em Aplicações na Web Nacional
Análise de Vulnerabilidades em Aplicações na Web NacionalCarlos Serrao
 
DevSecOps - CI/CD com Pentest e Análise de Vulnerabilidades
DevSecOps - CI/CD com Pentest e Análise de VulnerabilidadesDevSecOps - CI/CD com Pentest e Análise de Vulnerabilidades
DevSecOps - CI/CD com Pentest e Análise de VulnerabilidadesVagner Rodrigues Fernandes
 
E scan tech i - bem vindos ao escan
E scan   tech i - bem vindos ao escanE scan   tech i - bem vindos ao escan
E scan tech i - bem vindos ao escanAlexandre Almeida
 
OWASP, PT.OWASP, IBWAS'10 & Cia.
OWASP, PT.OWASP, IBWAS'10 & Cia.OWASP, PT.OWASP, IBWAS'10 & Cia.
OWASP, PT.OWASP, IBWAS'10 & Cia.Carlos Serrao
 
Conheça o Cloud Foundry no HCP
Conheça o Cloud Foundry no HCPConheça o Cloud Foundry no HCP
Conheça o Cloud Foundry no HCPJose Nunes
 
OWASP @ ISCTE-IUL, OWASP e OWASP Portugal
OWASP @ ISCTE-IUL, OWASP e OWASP PortugalOWASP @ ISCTE-IUL, OWASP e OWASP Portugal
OWASP @ ISCTE-IUL, OWASP e OWASP PortugalCarlos Serrao
 
Infraestrutura com openstack e linux
Infraestrutura com openstack e linuxInfraestrutura com openstack e linux
Infraestrutura com openstack e linuxMarcelo R. de Sá
 

Similar a Apresentação OWASP - UBI, Covilhã (20)

Ferranentas OWASP
Ferranentas OWASPFerranentas OWASP
Ferranentas OWASP
 
Owasp Chapter Belo Horizonte
Owasp Chapter Belo HorizonteOwasp Chapter Belo Horizonte
Owasp Chapter Belo Horizonte
 
Webgoat como ferramenta de aprendizado
Webgoat como ferramenta de aprendizadoWebgoat como ferramenta de aprendizado
Webgoat como ferramenta de aprendizado
 
A OWASP e a Segurança Aplicacional para a Web
A OWASP e a Segurança Aplicacional para a WebA OWASP e a Segurança Aplicacional para a Web
A OWASP e a Segurança Aplicacional para a Web
 
OpenShift : TaSafoConf 2012
OpenShift : TaSafoConf 2012OpenShift : TaSafoConf 2012
OpenShift : TaSafoConf 2012
 
Owasp Chapter Cuiabá
Owasp Chapter Cuiabá Owasp Chapter Cuiabá
Owasp Chapter Cuiabá
 
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...
 
OWASP Capítulo Brasília 2013
OWASP Capítulo Brasília 2013OWASP Capítulo Brasília 2013
OWASP Capítulo Brasília 2013
 
Você Escreve Código e Quem Valida?
Você Escreve Código e Quem Valida?Você Escreve Código e Quem Valida?
Você Escreve Código e Quem Valida?
 
Apresentação Ismael Rocha e Fabricio Braz
Apresentação Ismael Rocha e Fabricio BrazApresentação Ismael Rocha e Fabricio Braz
Apresentação Ismael Rocha e Fabricio Braz
 
OWASP @ ISCTE-IUL, OWASP Top 10 2010
OWASP @ ISCTE-IUL, OWASP Top 10 2010OWASP @ ISCTE-IUL, OWASP Top 10 2010
OWASP @ ISCTE-IUL, OWASP Top 10 2010
 
OWASP @ ISCTE-IUL - OWASP Top 10 (v2010)
OWASP @ ISCTE-IUL - OWASP Top 10 (v2010)OWASP @ ISCTE-IUL - OWASP Top 10 (v2010)
OWASP @ ISCTE-IUL - OWASP Top 10 (v2010)
 
Análise de Vulnerabilidades em Aplicações na Web Nacional
Análise de Vulnerabilidades em Aplicações na Web NacionalAnálise de Vulnerabilidades em Aplicações na Web Nacional
Análise de Vulnerabilidades em Aplicações na Web Nacional
 
DevSecOps - CI/CD com Pentest e Análise de Vulnerabilidades
DevSecOps - CI/CD com Pentest e Análise de VulnerabilidadesDevSecOps - CI/CD com Pentest e Análise de Vulnerabilidades
DevSecOps - CI/CD com Pentest e Análise de Vulnerabilidades
 
E scan tech i - bem vindos ao escan
E scan   tech i - bem vindos ao escanE scan   tech i - bem vindos ao escan
E scan tech i - bem vindos ao escan
 
OWASP, PT.OWASP, IBWAS'10 & Cia.
OWASP, PT.OWASP, IBWAS'10 & Cia.OWASP, PT.OWASP, IBWAS'10 & Cia.
OWASP, PT.OWASP, IBWAS'10 & Cia.
 
Conheça o Cloud Foundry no HCP
Conheça o Cloud Foundry no HCPConheça o Cloud Foundry no HCP
Conheça o Cloud Foundry no HCP
 
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
 
OWASP @ ISCTE-IUL, OWASP e OWASP Portugal
OWASP @ ISCTE-IUL, OWASP e OWASP PortugalOWASP @ ISCTE-IUL, OWASP e OWASP Portugal
OWASP @ ISCTE-IUL, OWASP e OWASP Portugal
 
Infraestrutura com openstack e linux
Infraestrutura com openstack e linuxInfraestrutura com openstack e linux
Infraestrutura com openstack e linux
 

Más de Carlos Serrao

Prevenir o "ransomware" - Guia da OWASP para prevenção do "ransomware"
Prevenir o "ransomware" - Guia da OWASP para prevenção do "ransomware"Prevenir o "ransomware" - Guia da OWASP para prevenção do "ransomware"
Prevenir o "ransomware" - Guia da OWASP para prevenção do "ransomware"Carlos Serrao
 
OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicaçõ...
OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicaçõ...OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicaçõ...
OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicaçõ...Carlos Serrao
 
Vamos tirar uma selfie? [... como a privacidade morreu e ninguém nos avisou]
Vamos tirar uma selfie? [... como a privacidade morreu e ninguém nos avisou]Vamos tirar uma selfie? [... como a privacidade morreu e ninguém nos avisou]
Vamos tirar uma selfie? [... como a privacidade morreu e ninguém nos avisou]Carlos Serrao
 
Segurança e Privacidade em Redes Sociais
Segurança e Privacidade em Redes SociaisSegurança e Privacidade em Redes Sociais
Segurança e Privacidade em Redes SociaisCarlos Serrao
 
Segurança e Privacidade em Redes Sociais
Segurança e Privacidade em Redes SociaisSegurança e Privacidade em Redes Sociais
Segurança e Privacidade em Redes SociaisCarlos Serrao
 
OWASP e o desenvolvimento seguro de aplicações para a Web
OWASP e o desenvolvimento seguro de aplicações para a WebOWASP e o desenvolvimento seguro de aplicações para a Web
OWASP e o desenvolvimento seguro de aplicações para a WebCarlos Serrao
 
Principios básicos de segurança on-line
Principios básicos de segurança on-linePrincipios básicos de segurança on-line
Principios básicos de segurança on-lineCarlos Serrao
 
To DRM or not to DRM?
To DRM or not to DRM?To DRM or not to DRM?
To DRM or not to DRM?Carlos Serrao
 
OWASP presentation on FISTA2011
OWASP presentation on FISTA2011OWASP presentation on FISTA2011
OWASP presentation on FISTA2011Carlos Serrao
 
Segurança e Privacidade em Redes Sociais
Segurança e Privacidade em Redes SociaisSegurança e Privacidade em Redes Sociais
Segurança e Privacidade em Redes SociaisCarlos Serrao
 
Owasp@iscte iul ferramentas-analise_vulnerabilidades
Owasp@iscte iul ferramentas-analise_vulnerabilidadesOwasp@iscte iul ferramentas-analise_vulnerabilidades
Owasp@iscte iul ferramentas-analise_vulnerabilidadesCarlos Serrao
 
OWASP@ ISCTE-IUL, Segurança em PHP
OWASP@ ISCTE-IUL, Segurança em PHPOWASP@ ISCTE-IUL, Segurança em PHP
OWASP@ ISCTE-IUL, Segurança em PHPCarlos Serrao
 
aula de PED - Academia ISCTE-IUL 2010
aula de PED - Academia ISCTE-IUL 2010aula de PED - Academia ISCTE-IUL 2010
aula de PED - Academia ISCTE-IUL 2010Carlos Serrao
 
cTIC2009 - Segurança em Aplicações Web-based e RIA
cTIC2009 - Segurança em Aplicações Web-based e RIAcTIC2009 - Segurança em Aplicações Web-based e RIA
cTIC2009 - Segurança em Aplicações Web-based e RIACarlos Serrao
 
Apresentação do OWASP Portugal
Apresentação do OWASP PortugalApresentação do OWASP Portugal
Apresentação do OWASP PortugalCarlos Serrao
 
A importância das Infra-estruturas de Chave Pública no Comércio Electrónico d...
A importância das Infra-estruturas de Chave Pública no Comércio Electrónico d...A importância das Infra-estruturas de Chave Pública no Comércio Electrónico d...
A importância das Infra-estruturas de Chave Pública no Comércio Electrónico d...Carlos Serrao
 

Más de Carlos Serrao (19)

Prevenir o "ransomware" - Guia da OWASP para prevenção do "ransomware"
Prevenir o "ransomware" - Guia da OWASP para prevenção do "ransomware"Prevenir o "ransomware" - Guia da OWASP para prevenção do "ransomware"
Prevenir o "ransomware" - Guia da OWASP para prevenção do "ransomware"
 
OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicaçõ...
OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicaçõ...OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicaçõ...
OWASP Mobile Top 10 - Principais Riscos no Desenvolvimento Seguro de Aplicaçõ...
 
OWASP Mobile Top 10
OWASP Mobile Top 10OWASP Mobile Top 10
OWASP Mobile Top 10
 
Vamos tirar uma selfie? [... como a privacidade morreu e ninguém nos avisou]
Vamos tirar uma selfie? [... como a privacidade morreu e ninguém nos avisou]Vamos tirar uma selfie? [... como a privacidade morreu e ninguém nos avisou]
Vamos tirar uma selfie? [... como a privacidade morreu e ninguém nos avisou]
 
Segurança e Privacidade em Redes Sociais
Segurança e Privacidade em Redes SociaisSegurança e Privacidade em Redes Sociais
Segurança e Privacidade em Redes Sociais
 
Segurança e Privacidade em Redes Sociais
Segurança e Privacidade em Redes SociaisSegurança e Privacidade em Redes Sociais
Segurança e Privacidade em Redes Sociais
 
OWASP e o desenvolvimento seguro de aplicações para a Web
OWASP e o desenvolvimento seguro de aplicações para a WebOWASP e o desenvolvimento seguro de aplicações para a Web
OWASP e o desenvolvimento seguro de aplicações para a Web
 
Principios básicos de segurança on-line
Principios básicos de segurança on-linePrincipios básicos de segurança on-line
Principios básicos de segurança on-line
 
To DRM or not to DRM?
To DRM or not to DRM?To DRM or not to DRM?
To DRM or not to DRM?
 
OWASP presentation on FISTA2011
OWASP presentation on FISTA2011OWASP presentation on FISTA2011
OWASP presentation on FISTA2011
 
Segurança e Privacidade em Redes Sociais
Segurança e Privacidade em Redes SociaisSegurança e Privacidade em Redes Sociais
Segurança e Privacidade em Redes Sociais
 
Is the Web at Risk?
Is the Web at Risk?Is the Web at Risk?
Is the Web at Risk?
 
Owasp@iscte iul ferramentas-analise_vulnerabilidades
Owasp@iscte iul ferramentas-analise_vulnerabilidadesOwasp@iscte iul ferramentas-analise_vulnerabilidades
Owasp@iscte iul ferramentas-analise_vulnerabilidades
 
OWASP@ ISCTE-IUL, Segurança em PHP
OWASP@ ISCTE-IUL, Segurança em PHPOWASP@ ISCTE-IUL, Segurança em PHP
OWASP@ ISCTE-IUL, Segurança em PHP
 
aula de PED - Academia ISCTE-IUL 2010
aula de PED - Academia ISCTE-IUL 2010aula de PED - Academia ISCTE-IUL 2010
aula de PED - Academia ISCTE-IUL 2010
 
cTIC2009 - Segurança em Aplicações Web-based e RIA
cTIC2009 - Segurança em Aplicações Web-based e RIAcTIC2009 - Segurança em Aplicações Web-based e RIA
cTIC2009 - Segurança em Aplicações Web-based e RIA
 
Apresentação do OWASP Portugal
Apresentação do OWASP PortugalApresentação do OWASP Portugal
Apresentação do OWASP Portugal
 
Welcome to OWASP
Welcome to OWASPWelcome to OWASP
Welcome to OWASP
 
A importância das Infra-estruturas de Chave Pública no Comércio Electrónico d...
A importância das Infra-estruturas de Chave Pública no Comércio Electrónico d...A importância das Infra-estruturas de Chave Pública no Comércio Electrónico d...
A importância das Infra-estruturas de Chave Pública no Comércio Electrónico d...
 

Apresentação OWASP - UBI, Covilhã

  • 1. OWASP Open Web Applications Security Project Projectos, Documentos e Ferramentas Carlos Serrão Joaquim Marques OWASP Portugal OWASP Portugal ISCTE/DCTI/Adetti/NetMuST EST/IPCB carlos.serrao@iscte.pt carlos.serrao@iscte.pt carlos.j.serrao@gmail.com carlos.j.serrao@gmail.com Copyright © 2004 - The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License. The OWASP Foundation http://www.owasp.org
  • 2. Sumário  Introdução ao OWASP  OWASP e OWASP Portugal  Projectos Documentação Projectos  Documentação OWASP Top 10 Webscarab e Webgoat  Conclusões OWASP 2
  • 4. O que é segurança de Aplicações Web?  Não é Segurança de Redes Segurança do “código” criado para implementar a aplicação web Segurança de bibliotecas Segurança de sistemas de back-end Segurança de servidores web e aplicacionais  Segurança de Redes ignora o conteúdo do tráfego de HTTP Firewalls, SSL, Intrusion Detection Systems, Operating System Hardening, Database Hardening OWASP 4
  • 5. O código faz parte do perímetro de segurança O seu perímetro de segurança possui buracos enormes na camada aplicacional Application Layer Legacy Systems Human Resrcs Web Services Directories Databases Billing Custom Developed Application Code APPLICATION ATTACK App Server Web Server Network Layer Hardened OS Firewall Firewall Não é possível usar protecção ao nível da camada de rede (firewall, SSL, IDS, hardening) para parar ou detectar ataques ao nível aplicacional OWASP 5
  • 6. Isto é preocupante?  Vamos lá pensar… Qual a probabilidade de sucesso de um ataque contra uma aplicação web?  Probabilidade elevada  Fácil de explorar sem conhecimento e ferramentas especiais  Quase indetectável  Existem milhares de programadores web, pouco preocupados com segurança Consequências?  Corrupção de dados ou destruição de BD  Acesso root a servidores web ou aplicacionais  Perda de autenticação e de controlo de acesso de utilizadores  Descaracterização (Defacement)  Ataques secundários a partir da própria aplicação web OWASP
  • 7. Isto é preocupante?  A Segurança de Aplicações Web é tão importante como a Segurança de Redes Porque é que grande parte do investimento em Segurança é canalizado para a segurança das redes? OWASP
  • 8. O que é o OWASP? Open Web Application Security Project Promove o desenvolvimento seguro de software Orientado para o desenvolvimento de serviços baseados na web Focado principalmente em aspectos de desenvolvimento do que em web-design Um fórum aberto para discussão Um recurso gratuito e livre para qualquer equipa de desenvolvimento OWASP 2
  • 9. O que é o OWASP? Open Web Application Security Project an open community dedicated to enabling organizations to develop, purchase, and maintain applications that can be trusted Promover o desenvolvimento seguro Auxiliar a tomada de decisão quanto ao risco Oferecer recursos gratuitos Promover a contribuição e partilha de informação OWASP 3
  • 10. O que é o OWASP?  Open Web Application Security Project Organização sem fins lucrativos, orientada para esforço voluntário  Todos os membros são voluntários  Todo o trabalho é “doado” por patrocinadores Oferecer recursos livres para a comunidade  Publicações, Artigos, Normas  Software de Testes e de Formação  Chapters Locais & Mailing Lists Suportada através de patrocínios  Suporte de empresas através de patrocínios financeiros ou de projectos  Patrocínios pessoais por parte dos membros OWASP 4
  • 12. O que é o OWASP?  O que oferece? Publicações  OWASP Top 10  OWASP Guide to Building Secure Web Applications Software WebGoat  WebScarab  oLabs Projects  .NET Projects  Chapters Locais  Orientação das comunidades locais OWASP 6
  • 13. OWASP Ferramentas e Tecnologias OWASP 7
  • 14. Publicações OWASP  Características Comuns Todas as publicações OWASP estão disponíveis para download gratuíto em http://www.owasp.org Todas as publicações são licenciadas em GNU “Lesser” GNU Public License (LGPL), ou em GNU Free Documentation License (GFDL) Documentação “viva”  Actualizada sempre que necessário  Projectos evolutivos As publicações do OWASP são o resultado de trabalho cooperativo entre os membros OWASP 8
  • 15. Publicações OWASP – OWASP Top 10  Top 10 Web Application Security Vulnerabilities Uma lista dos 10 aspectos de segurança mais críticos Actualizado numa base annual Crescente aceitação pela indústria  Federal Trade Commission (US Gov)  US Defense Information Systems Agency  VISA (Cardholder Information Security Program) Está a ser adoptado como um standard de segurança para aplicações web OWASP 9
  • 16. Publicações OWASP - OWASP Top 10  Top 10 (versão 2007) A1. Cross Site Scripting (XSS) A2. Injection Flaws A3. Malicious File Execution A4. Insecure Direct Object Reference A5. Cross Site Request Forgery (CSRF) A6. Information Leakage and Improper Error Handling A7. Broken Authentication and Session Management A8. Insecure Cryptographic Storage A9. Insecure Communications A10. Failure to Restrict URL Access OWASP 11
  • 17. Publicações OWASP - OWASP Guide  Guia para o Desenvolvimento Seguro de Web Apps Oferece um conjunto de linhas gerais para o desenvolvimento de software seguro  Introdução à segurança em geral  Introdução à segurança aplicacional  Discute áreas-chave de implementação – Arquitectura – Autenticação – Gestão de Sessões – Controlo de Acesso e Autorização – Registo de Eventos – Validação de Dados Em contínuo desenvolvimento OWASP 12
  • 18. Publicações OWASP – Projectos em Curso  Projectos em Curso Projecto de Métricas & Medidas  Tenta desenvolver um conjunto de métricas de segurança que podem ser usadas para suportar decisões críticas de negócio Projecto de Testes  Tenta produzir uma framework de “boas práticas”  Tenta produzir uma framework de testes de “baixo nível” que permite identificar certos aspectos AppSec Faq  FAQ para programadores que se foca em segurança aplicacional  Oferece respostas a questões sobre segurança aplicacional OWASP 13
  • 19. Software OWASP  Características Comuns Todo o software OWASP é oferecido e pode ser obtido em http://www.owasp.org O software está licenciado com uma licença GNU “Lesser” GNU Public License (LGPL) Projectos Activos  Actualizados sempre que necessário  Projectos em curso  Multiplos programadores a contribuirem e a menterem O software OWASP pode ser descarregado livremente e pode ser usado por indivíduos e empresas OWASP 14
  • 20. Software OWASP - WebGoat  WebGoat Essencialmente é uma aplicação de treino Oferece  Uma ferramenta educacional usada para ensinar e aprender sobre segurança aplicacional  Uma ferramenta para testar ferrementas de segurança O que é?  Uma aplicação web J2EE disposta em diversas “Lições de Segurança”  Baseado no Tomcat e no JDK 1.5  Orientada para o ension – Fácil de usar – Ilustra cenários credíveis – Ensina ataques realistas e soluções viáveis OWASP 15
  • 21. Software OWASP - WebGoat  WebGoat – O que se pode aprender? Um número crescente de ataques e de soluções Cross Site Scripting  SQL Injection Attacks  Thread Safety  Field & Parameter Manipulation  Session Hijacking and Management  Weak Authentication Mechanisms  Mais ataques vão sendo adicionados  Obter a ferramenta  http://www.owasp.org/software/webgoat.html  Descarregar, descomprimir, e executar OWASP 16
  • 22. Software OWASP - WebScarab  WebScarab Uma framework para analizar tráfego HTTP/HTTPS Escrito em Java Múltiplas utilizações  Programador: fazer o debug das trocas entre o cliente e servidor  Analista de Segurança: analiza o tráfego e identifica vulnerabilidades Ferramenta técnica Focada em programadores de software  Arquitectura extensível de plug-ins  Open source; de fácil expansão  Poderosa  Obter a ferramenta  http://www.owasp.org/software/webscarab.html OWASP 17
  • 23. OWASP Summer of Code – SoC 2009  Projectos inovadores  Alcançar qualidade para publicação 6 ferramentas/ 7 documentação  Investimentos: Autumm of Code 2006  9 projetos / US$20K Spring of Code 2007  21 projetos / US$117K Summer of Code 2008  33 projetos / US$126K OWASP 18
  • 24. Chapters locais da OWASP  Desenvolvimento de comunidades Os Chapters locais proporcionam oportunidades para os membros OWASP poderem partilhar ideias e aprender mais sobre segurança da informação Aberto a *TODOS* Oferecer um fórum para discussão de assuntos em contextos locais/regionais Oferecer o local para convidados poderem apresentar novas ideias e projectos OWASP 19
  • 25. Chapters locais da OWASP OWASP 20
  • 26. Actividade  Chapter Português Nasce a 24 Outubro de 2007 Actividade quase nula  2008 OWASP EU Summit 08 Albufeira, Algarve, Portugal  2009 KOM Manter reuniões regulares Lançar projectos e ideias OWASP 5
  • 27. OWASP EU Summit 08  O *maior* evento OWASP de sempre 1 semana, +100 pessoas (de todo o Mundo) Apresentação de Projectos Sessões de Trabalho Formação + 1 dia de Demo na UAlg OWASP 6
  • 28. OWASP EU Summit 08  O *maior* evento OWASP de sempre 1 semana, +100 pessoas (de todo o Mundo) Apresentação de Projectos Sim, estivemos lá também… Sessões de Trabalho Formação + 1 dia de Demo na UAlg OWASP 6
  • 29. Antes de mais…  … alguns dados  Membros 26 membros  Web-site http://www.owasp.org/index.php/Portuguese  Mailling-List owasp-portuguese@lists.owasp.org  Chapter Leader Carlos Serrão (carlos.serrao@iscte.pt, carlos.j.serrao@gmail.com) OWASP 2
  • 30. Reuniões  Objectivos: Manter um calendário de reuniões periódicas  Ideal: 1 reunião por mês  Realista: 1 reunião a cada 3 ou 4 meses Promover a missão da OWASP Promover os projectos, ferramentas e documentação da OWASP Promover a troca livre e disseminação livre de informação sobre segurança de informação e segurança de aplicações e sistemas web-based Promover o lançamento de novas ideias e de novos projectos Envolver os membros em projectos on-going OWASP 7
  • 31. OWASP em Números  420.000 page views por mês  230 GB de download por mês  4.618 utilizadores do wiki  200 actualizações por dia  124 capítulos (chapters)  16.000 membros nas mailings lists  48 projectos de ferramentas e documentos  100 membros individuais  48 membros corporativos/educacionais  2 empregados OWASP 21
  • 32. Chapters Locais da OWASP  O que oferecem? Reuniões regulares Mailing Lists Apresentações e Grupos Ambientes independentes do vendedor Fóruns de discussão aberta OWASP 22
  • 33. Chapters Locais da OWASP  O que oferecem? Como contribuir?  Através das ML, reuniões e dos grupos de discussão  Os membros são encorajados a levantarem questões  Os membros são encorajados a participar em projectos OWASP – Contribuir para projectos existentes – Propor novos projectos – Lançar novas iniciativas  O Chapter Local deve trabalhar no sentido de manter a organização como um recurso livre, aberto e orientado tecnicamente para o público em geral e para os membros OWASP 23
  • 34. Sponsors OWASP 24
  • 35. OWASP Top 10 OWASP 34
  • 36. OWASP Top 10  As 10 Mais críticas vulnerabilidades em aplicações web  2007 Release (2nd)  Não é um standard, mas um conjunto de recomendações OWASP 35
  • 37. OWASP Top 10 1. Cross Site Scripting (XSS) 2. Falhas de Injecção 3. Inclusão Remota e Insegura de Ficheiros 4. Referência Directa e Insegura a Objectos 5. Cross Site Request Forgery (CSRF) 6. Revelação de Informação e Tratamento de Erros Inadequado 7. Quebra da Gestão de Sessões e da Autenticação 8. Armazenamento criptográfico inseguro 9. Comunicações inseguras 10.Falha na restrição de acesso a URL OWASP 36
  • 38. 1. Cross-Site Scripting (XSS)  Descrição O problema que mais tem prevalecido em termos de segurança nas aplicações web Permite que os atacantes possam executar código no browser da vítima  Ambientes afectados Todas as frameworks de aplicações web estão sujeitas a este tipo de ataque OWASP 37
  • 39. 1. Cross-Site Scripting (XSS)  Vulnerabilidades 3 tipos:  Reflectidos  Armazenados  DOM injection Os ataques são normalmente realizados através de Javascript, ou através da manipulação directa dos pedidos HTTP OWASP 38
  • 40. 1. Cross-Site Scripting (XSS)  Verificar a Segurança Todos os parâmetros de entrada devem ser validados ou codificados Revisões de Código Mecanismo central de validação ou de codificação  Protecção Combinar um conjunto de validações de todos os dados de entrada e a codificação de todos os dados de saída OWASP 39
  • 41. 2. Falhas de Injecção  Descrição A injecção ocorre quando dados fornecidos pelo utilizador é enviada para um interpretador como parte de um comando ou query Injecção de comandos de SQL é o mais comum  Ambientes Afectados Todas as frameworks de aplicações web que usam interpretadores são vulneráveis a ataques de injecção. OWASP 40
  • 42. 2. Falhas de Injecção  Vulnerabilidades Se o input do utilizador for passado directamente para um interpretador sem validação ou codificação, a aplicação fica vulnerável. Verificar se o input do utilizador é passado directamente a queris dinâmicas PHP: $sql = quot;SELECT * FROM table WHERE id = 'quot; . $_REQUEST['id’] . quot;’quot;; e se $_REQUEST[‘id’]=” ’ OR 1=1 -- ” SELECT * FROM table WHERE id = ‘’ OR 1=1 --’ OWASP 41
  • 43. 2. Falhas de Injecção  Verificação de Segurança  Verificar que o utilizador não pode modificar comandos ou queries enviadas para qualquer interpretador usado pela aplicação  Revisões de Código  Protecção  Impedir o acesso a interpretadores sempre que possível  “Correr com o menor privilégio possível”  As stored procedures são igualmente afectadas  Validação das entradas do utilizador OWASP 42
  • 44. 3. Inclusão Remota e Insegura de Ficheiros  Descrição Permite que os atacantes possam realizar execução remota de código, comprometendo ficheiros de input Causado frequentemente por se confiar em ficheiros de input  Ambientes afectados Todas as frameworks de aplicações web que permitem a inclusão de ficheiros para serem executados (especialmente o PHP) Ambientes são susceptíveis se permitirem o upload em directorias web. OWASP 43
  • 45. 3. Inclusão Remota e Insegura de Ficheiros  Vulnerabilidades Dados hostis a serem carregados para ficheiros de sessão ou dados de execução PHP é mais comum, mas outras linguagens são igualmente susceptíveis  Java e .Net  DTD hostis em documentos XML require_once($_POST[‘unsafe_filename’] . ‘inc.php’); OWASP 44
  • 46. 3. Inclusão Remota e Insegura de Ficheiros  Verificação de Segurança Revisões de Código Ferramentas automáticas de pesquisa  Protecção Nunca permitir que um ficheiro enviado pelo utilizador possa usar recursos do servidor Implementação de protocolos de segurança devidamente configurados Validar o input do utilizador OWASP 45
  • 47. 4. Referência Directa e Insegura a Objectos Descrição Ocorre quando o programador expõe uma referência não validada a um objecto interno da implementação, tal como um ficheiro, directoria, registo ou chave de uma base de dados, com uma URL ou parâmetro num formulário Ambientes afectados Todas as frameworks de aplicações web são vulneráveis a referências directas e inseguras a objectos OWASP 46
  • 48. 4. Referência Directa e Insegura a Objectos  Vulnerabilidades Exposição de referências internas de objectos Atacantes modificam os parâmetros para alterar as referências e violarem as políticas de controlo de acessos construídas na aplicações As referências a chaves de base de dados são frequentemente expostas <select name=quot;languagequot;><option value=quot;frquot;>Français</option></select> … require_once ($_REQUEST['language’].quot;lang.phpquot;); e se $_REQUEST[‘language’] = “../../../.../../etc/passwd%00” ? OWASP 47
  • 49. 4. Referência Directa e Insegura a Objectos  Verificação de Segurança Remover qualquer referência directa a objectos que possa ser manipulada por um atacante determinado Análise e revisão do código (difícil e morosa quer por métodos manuais ou automáticos)  Protecção A melhor protecção é evitar expor referências directas a objectos aos utilizadores Verificar a autorização de acesso a todos os objectos referenciados OWASP 48
  • 50. 5. Cross Site Request Forgery (CSRF)  Descrição Um ataque que engana a vítima a carregar uma página que contém um pedido malicioso Também conhecidos como Session Riding, One-Click Attacks, Cross Site Reference Forgery, Hostile Linking, e Automation Attack  Ambientes afectados Todas as frameworks de aplicações web são vulneráveis a CSRF. OWASP 49
  • 51. 5. Cross Site Request Forgery (CSRF)  Vulnerabilidades Num forum, o ataque pode dirigir o utilizador a invocar uma função de logout Pode ser combinado com XSS <img src=quot;http://www.example.com/logout.phpquot;> <img src=quot;http://www.example.com/transfer.do?frmAcct=document.form.frmAcct& toAcct=4345754&toSWIFTid=434343&amt=3434.43quot;> OWASP 50
  • 52. 5. Cross Site Request Forgery (CSRF)  Verificação de Segurança  Usar tokens de autenticação que não sejam automaticamente submetidos pelo browser  Protecção  Eliminar as vulnerabilidades de XSS da aplicação  Acrescentar um “nonce” na URL por cada pedido e em todos os formulários em adição à sessão tradicional - se isto já não estiver presente na framework de aplicações web a ser usada  Solicitar écrans de login adicionais para dados mais sensíveis  Não usar pedidos GET para dados mais sensíveis OWASP 51
  • 53. 6. Revelação de Informação e Tratamento de Erros Inadequado  Descrição As aplicações podem sem intenção, revelar informação sobre a sua configuração, forma funcionamento interno, ou violar a privacidade através de diversos problemas da aplicação  Ambientes Afectados Todas as frameworks de aplicações web são vulneráveis à revelação de informação ou tratamento incorrecto de erros. OWASP 52
  • 54. 6. Revelação de Informação e Tratamento de Erros Inadequado  Vulnerabilidades Mensagens de Erro com demasiado detalhe  Stack Traces  SQL Statements Registo desapropriado de mensagens detalhadas OWASP 53
  • 55. 6. Revelação de Informação e Tratamento de Erros Inadequado  Verificação de Segurança  O objectivo é que uma aplicação não dê demasiada informação sobre os erros  Exige uma verificação manual do código para ver qual o detalhe das mensagens  Protecção  Testes para gerar mensagens de erro e outras verificações no desenvolvimento  Desactivar ou limitar as mensagens de erro display_errors = Off OWASP 54
  • 56. 7. Quebra da Gestão de Sessões e da Autenticação  Descrição Falhas na autenticação e gestão de sessões envolvem frequentemente a falha de protecção das credenciais e tokens de sessão ao longo do seu ciclo de vida.  Ambientes Afectados Todas as frameworks de aplicações web são vulneráveis a falhas de autenticação e de gestão das sessões OWASP 55
  • 57. 7. Quebra da Gestão de Sessões e da Autenticação  Vulnerabilidades Falha do mecanismo principal de controlo de acesso Gestão de passwords Timeout de Sessões OWASP 56
  • 58. 7. Quebra da Gestão de Sessões e da Autenticação  Verificação de Segurança  A Aplicação de deve autenticar os utilizadores de forma apropriada e proteger as suas credenciais  Difícil de conseguir através de ferramentas automáticas  Combinação de Revisões de Código e de Testes  Protecção  Manter a comunicação segura e armazenamento de credenciais  Usar sempre um mecanismo de autenticação sempre que se aplique  Criar uma nova sessão após a autenticação  Assegurar que o link de logout destrói toda a informação pertinente  Não expor quaisquer credenciais na URL ou nos logs OWASP 57
  • 59. 8. Armazenamento criptográfico inseguro  Descrição A falha de não proteger dados sensíveis recorrendo a criptografia é um defeito recorrente As aplicações que usam criptografia frequentemente, usam algoritmos mal concebidos - ou usando cifras não apropriadas ou cometendo sérios erros na sua aplicação  Ambientes Afectados Todos os ambientes de aplicações web são vulneráveis a este tipo de falha. OWASP 58
  • 60. 8. Armazenamento criptográfico inseguro  Vulnerabilidades Não cifrar dados sensíveis Usar algoritmos inventados Uso inseguro de algoritmos criptográficos fortes Continuar a usar algoritmos que já provaram ser fracos (MD5, RC3, RC4, etc…) Usar chaves hard-coded, e armazenar chaves em repositórios não-seguros OWASP 59
  • 61. 8. Armazenamento criptográfico inseguro  Verificação de Segurança  Verificar que a aplicação cifra de forma adequada a informação sensível  Ferramentas de verificação automática não oferecem grande ajuda  Revisões de código são a forma mais eficiente de verificação  Protecção  Usar apenas algoritmos públicos aprovados  Verificar para ter a certeza de que toda a informação sensível está a ser cifrada OWASP 60
  • 62. 9. Comunicações Inseguras  Descrição As aplicações frequentemente não cifram o tráfego de dados quando é necessário proteger comunicações sensíveis SSL deve ser usado para todas as ligações autenticadas  Ambientes afectados Todas as frameworks de aplicações web são vulneráveis a este problema. OWASP 61
  • 63. 9. Comunicações Inseguras  Vulnerabilidades Sniffing da rede Todo o tráfego autenticado deve passar por SSL, porque o HTTP contem credenciais de autenticação, ou tokens de sessão em cada pedido; e não apenas no pedido de login Usar sempre o SSL para proteger a transmissão de dados sensíveis OWASP 62
  • 64. 9. Comunicações Inseguras  Verificação de Segurança Verificar que a aplicação cifra de forma apropriada todas as comunicações autenticadas e sensíveis Ferramentas de scanning de vulnerabilidades podem verificar se o SSL está a ser usado no front-end, e encontrar os problemas de segurança Revisões de código ajudam a perceber o uso apropriado do SSL para todas as ligações de backend  Protecção Usar sempre o SSL para proteger dados sensíveis OWASP 63
  • 65. 10. Falha na restrição de acesso a uma URL  Descrição Depender de segurança por obscuridade para restringir o acesso a URL Não usar verificações de controlo de acesso para URLs  Ambientes afectados Todas as frameworks de aplicações web são vulneráveis a este tipo de falha OWASP 64
  • 66. 10. Falha na restrição de acesso a uma URL  Vulnerabilidades Navegação forçada URLs e ficheiros escondidos Mecanismo de segurança ultrapassado Avaliar os privilégios apenas no cliente OWASP 65
  • 67. 10. Falha na restrição de acesso a uma URL  Verificação de Segurança  Verificar que o controlo de acesso é utilizado de forma consistente em todas as URL da aplicação  Ferramentas de verificação automática têm algumas dificuldades em verificar isto  Uma combinação de revisões de código e testes são mais eficazes  Protecção  Desenhar e implementar os diferentes perfis de acesso a URL  Assegurar que todas as URL fazem parte deste processo  Não usar URL escondidas OWASP 66
  • 68. Webgoat WebScarab OWASP 67
  • 69. Conclusões OWASP 68
  • 70. Sistemas de Informação Web-based OWASP 69
  • 71. Segurança de Redes + Segurança Aplicacional OWASP 70
  • 72. Security by Design OWASP 71
  • 75. Filter input; Escape output. OWASP 74
  • 76. Seguir standards, recomendações internacionais, boas práticas OWASP 75
  • 77. OWASP Open Web Applications Security Project Projectos, Documentos, Ferramentas OWASP 76
  • 78. Questões? OWASP 77
  • 79. Obrigado pela vossa atenção! http://www.owasp.org/index.php/Portuguese http://webappsec.netmust.eu owasp-portuguese@lists.owasp.org OWASP 78