OWASP
Open Web Applications Security Project
Projectos, Documentos e Ferramentas



        Carlos Serrão                 ...
Sumário

 Introdução ao OWASP
 OWASP e OWASP Portugal
 Projectos
  Documentação
  Projectos
 Documentação
  OWASP T...
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 apli...
O código faz parte do perímetro de
                    segurança
                                           O seu perímetr...
Isto é preocupante?

 Vamos lá pensar…
  Qual a probabilidade de sucesso de um ataque contra uma
   aplicação web?
    ...
Isto é preocupante?

 A Segurança de Aplicações Web é tão importante como a
  Segurança de Redes
  Porque é que grande p...
O que é o OWASP?

Open Web Application Security Project
  Promove o desenvolvimento seguro de software
  Orientado para...
O que é o OWASP?
Open Web Application Security Project
 an open community dedicated to enabling
 organizations to develop...
O que é o OWASP?

 Open Web Application Security Project
   Organização sem fins lucrativos, orientada para esforço
    ...
Organização do OWASP




                       OWASP
O que é o OWASP?

 O que oferece?
  Publicações
      OWASP Top 10
      OWASP Guide to Building Secure Web Applicatio...
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 h...
Publicações OWASP – OWASP Top 10

 Top 10 Web Application Security Vulnerabilities
   Uma lista dos 10 aspectos de segur...
Publicações OWASP - OWASP Top 10

 Top 10 (versão 2007)
  A1. Cross Site Scripting (XSS)
  A2. Injection Flaws
  A3. M...
Publicações OWASP - OWASP Guide

 Guia para o Desenvolvimento Seguro de Web Apps
  Oferece um conjunto de linhas gerais ...
Publicações OWASP – Projectos em Curso

 Projectos em Curso
  Projecto de Métricas & Medidas
      Tenta desenvolver um...
Software OWASP

 Características Comuns
  Todo o software OWASP é oferecido e pode ser obtido em
   http://www.owasp.org...
Software OWASP - WebGoat

 WebGoat
  Essencialmente é uma aplicação de treino
  Oferece
      Uma ferramenta educacion...
Software OWASP - WebGoat

 WebGoat – O que se pode aprender?
  Um número crescente de ataques e de soluções
         Cro...
Software OWASP - WebScarab

 WebScarab
  Uma framework para analizar tráfego HTTP/HTTPS
  Escrito em Java
  Múltiplas ...
OWASP Summer of Code – SoC 2009

 Projectos inovadores
 Alcançar qualidade para publicação
   6 ferramentas/ 7 document...
Chapters locais da OWASP

 Desenvolvimento de comunidades
  Os Chapters locais proporcionam oportunidades para os
   mem...
Chapters locais da OWASP




                           OWASP   20
Actividade

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

 2008
  OWASP EU Summit 08
  Al...
OWASP EU Summit 08

 O *maior* evento OWASP de sempre
  1 semana, +100 pessoas (de todo o Mundo)
  Apresentação de Proj...
OWASP EU Summit 08

 O *maior* evento OWASP de sempre
  1 semana, +100 pessoas (de todo o Mundo)
  Apresentação de Proj...
Antes de mais…

 … alguns dados

 Membros
   26 membros
 Web-site
   http://www.owasp.org/index.php/Portuguese
 Mail...
Reuniões

 Objectivos:
   Manter um calendário de reuniões periódicas
       Ideal: 1 reunião por mês
       Realista:...
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çõ...
Chapters Locais da OWASP

 O que oferecem?
  Reuniões regulares
  Mailing Lists
  Apresentações e Grupos
  Ambientes ...
Chapters Locais da OWASP

 O que oferecem?
  Como contribuir?
      Através das ML, reuniões e dos grupos de discussão
...
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 u...
OWASP Top 10

1. Cross Site Scripting (XSS)
2. Falhas de Injecção
3. Inclusão Remota e Insegura de Ficheiros
4. Referência...
1. Cross-Site Scripting (XSS)

 Descrição
  O problema que mais tem prevalecido em termos de
   segurança nas aplicações...
1. Cross-Site Scripting (XSS)

 Vulnerabilidades
   3 tipos:
       Reflectidos
       Armazenados
       DOM injecti...
1. Cross-Site Scripting (XSS)

 Verificar a Segurança
   Todos os parâmetros de entrada devem ser validados ou
    codif...
2. Falhas de Injecção

 Descrição
  A injecção ocorre quando dados fornecidos pelo utilizador é
   enviada para um inter...
2. Falhas de Injecção

 Vulnerabilidades
   Se o input do utilizador for passado directamente para um
    interpretador ...
2. Falhas de Injecção

 Verificação de Segurança
    Verificar que o utilizador não pode modificar comandos ou queries
 ...
3. Inclusão Remota e Insegura de Ficheiros

 Descrição
  Permite que os atacantes possam realizar execução remota
   de ...
3. Inclusão Remota e Insegura de Ficheiros

 Vulnerabilidades
   Dados hostis a serem carregados para ficheiros de sessã...
3. Inclusão Remota e Insegura de Ficheiros

 Verificação de Segurança
  Revisões de Código
  Ferramentas automáticas de...
4. Referência Directa e Insegura a Objectos

Descrição
  Ocorre quando o programador expõe uma referência não
   validad...
4. Referência Directa e Insegura a Objectos

 Vulnerabilidades
   Exposição de referências internas de objectos
   Atac...
4. Referência Directa e Insegura a Objectos

 Verificação de Segurança
  Remover qualquer referência directa a objectos ...
5. Cross Site Request Forgery (CSRF)

 Descrição
  Um ataque que engana a vítima a carregar uma página que
   contém um ...
5. Cross Site Request Forgery (CSRF)

 Vulnerabilidades
   Num forum, o ataque pode dirigir o utilizador a invocar uma
 ...
5. Cross Site Request Forgery (CSRF)

 Verificação de Segurança
    Usar tokens de autenticação que não sejam automatica...
6. Revelação de Informação e Tratamento de
Erros Inadequado
 Descrição
  As aplicações podem sem intenção, revelar infor...
6. Revelação de Informação e Tratamento de
Erros Inadequado
 Vulnerabilidades
   Mensagens de Erro com demasiado detalhe...
6. Revelação de Informação e Tratamento de
Erros Inadequado
 Verificação de Segurança
    O objectivo é que uma aplicaçã...
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
   fre...
7. Quebra da Gestão de Sessões e da
Autenticação
 Vulnerabilidades
   Falha do mecanismo principal de controlo de acesso...
7. Quebra da Gestão de Sessões e da
Autenticação
 Verificação de Segurança
    A Aplicação de deve autenticar os utiliza...
8. Armazenamento criptográfico inseguro

 Descrição
  A falha de não proteger dados sensíveis recorrendo a
   criptograf...
8. Armazenamento criptográfico inseguro

 Vulnerabilidades
   Não cifrar dados sensíveis
   Usar algoritmos inventados
...
8. Armazenamento criptográfico inseguro

 Verificação de Segurança
    Verificar que a aplicação cifra de forma adequada...
9. Comunicações Inseguras

 Descrição
  As aplicações frequentemente não cifram o tráfego de dados
   quando é necessári...
9. Comunicações Inseguras

 Vulnerabilidades
   Sniffing da rede
   Todo o tráfego autenticado deve passar por SSL, por...
9. Comunicações Inseguras

 Verificação de Segurança
  Verificar que a aplicação cifra de forma apropriada todas as
   c...
10. Falha na restrição de acesso a uma URL

 Descrição
  Depender de segurança por obscuridade para restringir o
   aces...
10. Falha na restrição de acesso a uma URL

 Vulnerabilidades
   Navegação forçada
   URLs e ficheiros escondidos
   M...
10. Falha na restrição de acesso a uma URL

 Verificação de Segurança
    Verificar que o controlo de acesso é utilizado...
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




                               ...
Questões?




            OWASP   77
Obrigado pela vossa atenção!
   http://www.owasp.org/index.php/Portuguese
          http://webappsec.netmust.eu
      owas...
Upcoming SlideShare
Loading in …5
×

Apresentação OWASP - UBI, Covilhã

2,464 views
2,339 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,464
On SlideShare
0
From Embeds
0
Number of Embeds
38
Actions
Shares
0
Downloads
56
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Apresentação OWASP - UBI, Covilhã

  1. 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. 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
  3. 3. Introdução ao OWASP OWASP 3
  4. 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. 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. 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. 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. 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. 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. 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
  11. 11. Organização do OWASP OWASP
  12. 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. 13. OWASP Ferramentas e Tecnologias OWASP 7
  14. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 25. Chapters locais da OWASP OWASP 20
  26. 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. 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. 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. 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. 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. 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. 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. 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. 34. Sponsors OWASP 24
  35. 35. OWASP Top 10 OWASP 34
  36. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 68. Webgoat WebScarab OWASP 67
  69. 69. Conclusões OWASP 68
  70. 70. Sistemas de Informação Web-based OWASP 69
  71. 71. Segurança de Redes + Segurança Aplicacional OWASP 70
  72. 72. Security by Design OWASP 71
  73. 73. Developers, developers, developers... developers. OWASP 72
  74. 74. Educação, Formação, Treino OWASP 73
  75. 75. Filter input; Escape output. OWASP 74
  76. 76. Seguir standards, recomendações internacionais, boas práticas OWASP 75
  77. 77. OWASP Open Web Applications Security Project Projectos, Documentos, Ferramentas OWASP 76
  78. 78. Questões? OWASP 77
  79. 79. Obrigado pela vossa atenção! http://www.owasp.org/index.php/Portuguese http://webappsec.netmust.eu owasp-portuguese@lists.owasp.org OWASP 78

×