Copyright © The OWASP Foundation
Permission is granted to copy, distribute and/or modify this document
under the terms of the OWASP License.
The OWASP Foundation
http://www.owasp.org
Tratando as vulnerabilidades
do Top 10 do OWASP
Php Conference – São Paulo 28/11/2008
Wagner Elias
Research & Development Manager
Brazilian Chapter Leader
http://wagnerelias.comhttp://www.conviso.com.br
Agenda
 Um pouco de OWASP
 Top 10 2007
1 – XSS (Cross Site Scripting)
2 – Falhas de Injeção
3 – Execução Maliciosa de Arquivos
4 – Referência Direta a Objetos
5 – CSRF (Cross Site Request Forgery)
6 – Vazamento de Informações
7 – Furo de Autenticação
8 – Armazenamento Criptográfico
9 – Comunicação Insegura
10 – Restrição de Acesso a URL
 Encerramento
O que é OWASP?
Open Web Application Security Project
Educar e conscientizar segurança para desenvolvedores, designers,
arquitetos e organizações.
Como funciona?
Documentação
Wiki e Books
 Code Review, Testing Guide, Building, Top Ten, …
Code Projects
Projetos ferramentas ofensivas/defensivas
Processos, procedimentos …
Educação e outros
Chapters (Capítulos)
Grupo de usuários
+100 e crescendo
Conferências
Grandes e pequenos eventos ao redor do mundo
Brazilian Chapter (OWASP-BR)
 Positive Security Project
Melhorar a postura das empresas em relação a segurança em
aplicações
 Application Security Desk Reference Project (ASDR)
Guia de referência sobre segurança em aplicações web
Princípios, agentes de ameça, controles, vulnerabilidades e
ataques, impactos de negócio e técnicos
 Traduções
WebGoat
Top Ten Project
 Lista de discussão ativa, participe!
http://lists.owasp.org/mailman/listinfo/owasp-brazilian
 Acompanhe e colabore com o wiki do capítulo
http://www.owasp.org/index.php/Brazilian
Patrocinadores / Membros
Quem contribui?
Copyright © The OWASP Foundation
Permission is granted to copy, distribute and/or modify this document
under the terms of the OWASP License.
The OWASP Foundation
http://www.owasp.org
Tratando as vulnerabilidades
do Top 10 do OWASP
Top 10 2007
O que é?
Estudo da OWASP que busca identificar e
classificar as 10 principais vulnerabilidades
encontradas em ambientes WEB
Traduzido para vários idiomas e atualizado
regularmente
 Pt-Br:http://www.owasp.org/images/4/42/OWASP_TOP_10_2007_PT-BR.pdf
Copyright © The OWASP Foundation
Permission is granted to copy, distribute and/or modify this document
under the terms of the OWASP License.
The OWASP Foundation
http://www.owasp.org
Tratando as vulnerabilidades
do Top 10 do OWASP
1 – XSS (Cross Site Scripting)
1 - Cross Site Scripting (XSS)
Permite que um atacante insira um script na
página que será mostrada à vítima.
Afeta qualquer ambiente web
Efeitos:
Seqüestro de sessão
Inserção de código ou conteúdo hostil
Roubo de informações
Controle do navegador da vítima
Tipos de Cross Site Scripting
Refletido
Quando o site reflete para o usuário todo ou parte
do conteúdo da requisição
Armazenado
O script é armazenado em base de dados e é
mostrado às vítimas posteriormente
Inserção DOM
Os scripts da página são alterados
Tratando em php
Sanitize os dados usando
htmlentities() ou htmlspecialchars()
Copyright © The OWASP Foundation
Permission is granted to copy, distribute and/or modify this document
under the terms of the OWASP License.
The OWASP Foundation
http://www.owasp.org
Tratando as vulnerabilidades
do Top 10 do OWASP
2 – Falha de Injeção
2 - Falhas de Injeção
Várias linguagens envolvidas:
SQL
LDAP
HTML
XSLT
XML
Comandos de interpretadores do sistema
operacional (cmd, shell, etc)
Falhas de Injeção
Como acontecem:
Dados fornecidos por usuários são usados como
parte de comandos ou consultas
Dados são manipulados para alterar os
comandos enviados ao interpretador
Atacante pode se utilizar das permissões da
aplicação para ler e/ou alterar dados
Pode permitir execução de programas
Falhas de Injeção
Ambientes afetados:
Quaisquer ambientes que utilizem interpretadores
Muito comum no acesso a bases de dados
 SQL Injection
Dicas
Valide sempre
Expressões regulares são sempre uma boa
Adote camada de abstração de dados
Bibliotecas de ORM são bastante eficazes para evitar
falhas de SQL Injection. Exemplo ADOdb, PDO.
Use procedimentos armazenados
Prepared Statements (Bind Variables)
Evite usar a chamada padrão de query do MySQL
(mysqli_multi_query()) use
mysqli_query()
Não confie
No usuário e no magic_quotes /addslashes() 
Tratando em php
Sanitize os dados usando
escapeshellcmd()
Tratando em php
Evite, mas se precisar interagir com shell
use
escapeshellarg()
Tratando em php
Referenciando path de forma segura,
evitando path traversal
realpath()
Tratando em php
Evitando SQL Injection com mysql_escape_string()
(não é uma solução definitiva, sujeito a SQL
Injection usando técnicas de encode.) Só Bind
Variables Salva 
Copyright © The OWASP Foundation
Permission is granted to copy, distribute and/or modify this document
under the terms of the OWASP License.
The OWASP Foundation
http://www.owasp.org
Tratando as vulnerabilidades
do Top 10 do OWASP
3 – Execução Maliciosa de
Arquivos
3 - Execução Maliciosa de Arquivo
Execução de conteúdo externo ao código da
aplicação
Permite realizar
Execução remota de código
Instalação de rootkits
Execução Maliciosa de Arquivo
Ambientes afetados:
Sistemas que aceitam nomes de arquivos
Sistemas que recebem arquivos
Ambientes interpretados
Tratando em php
Desabilite estas funções que são habilitadas
por default
allow_url_fopen e allow_url_include
Cuidado com as funções
eval()
passthru()
Streams (stream_*)
Copyright © The OWASP Foundation
Permission is granted to copy, distribute and/or modify this document
under the terms of the OWASP License.
The OWASP Foundation
http://www.owasp.org
Tratando as vulnerabilidades
do Top 10 do OWASP
4 – Referência Direta a
Objetos
4 - Referência Direta a Objeto
Ocorre quando a aplicação expõe referência
direta a objeto interno
Arquivo
Diretório
Registro de base de dados
URL
Parâmetro
Referência Direta a Objeto
Permite ao atacante manipular a referência e
burlar controles de acesso
Exemplo:
Aplicação utiliza CPF na URL para identificar
usuário
Atacante manipula a URL e altera o CPF
Atacante acessa dados de outros CPFs
Referência Direta a Objeto
Ambientes afetados:
Qualquer ambiente web
Solução
Usar sessões
Armazenar identificadores internos na sessão do
usuário
Usar identificadores de sessão aleatórios (token)
Tratando em php
O recurso de _autoload é uma boa opção
Copyright © The OWASP Foundation
Permission is granted to copy, distribute and/or modify this document
under the terms of the OWASP License.
The OWASP Foundation
http://www.owasp.org
Tratando as vulnerabilidades
do Top 10 do OWASP
5 – CSRF (Cross Site Request
Forgery)
5 - Cross Site Request Forgery (CSRF)
Usar sessão já aberta pelo usuário para
enviar comandos para a aplicação
Usuário loga na aplicação alvo
Usuário acessa site do atacante
Scripts do atacante usam a sessão da aplicação
alvo
 Enviam comandos em nome do usuário na sessão já
aberta
Cross Site Request Forgery
Quando ocorre:
Não há verificação de autorização
Ação é executada quando credenciais são
enviadas na URL
As credenciais são submetidas automaticamente
 Cookies
Cross Site Request Forgery
A maioria das aplicações atuais estão
vulneráveis
Aplicações de Internet Banking pedem a senha
para operações de atualização
Ambientes afetados:
Todos os ambientes web
Tratando em php
Evite
Que funções críticas na aplicação sejam feitas
sem a necessidade de re-autenticação
Não use apenas $_REQUEST[‘input‘]
Utilize
 Corretamente $_COOKIE, $_GET e $_POST
 Token em todas as requisições
Copyright © The OWASP Foundation
Permission is granted to copy, distribute and/or modify this document
under the terms of the OWASP License.
The OWASP Foundation
http://www.owasp.org
Tratando as vulnerabilidades
do Top 10 do OWASP
6 – Vazamento de Informações
6 - Vazamento de Informações
Nome completo:
Vazamento de informações e tratamento de erros
inapropriado
A própria aplicação informa ao atacante:
Configurações
Arquitetura interna
Plataformas
Dados sigilosos
Vazamento de Informações
Formas de vazamento:
Tempo de resposta
Respostas diferentes para diferentes entradas
 Página de erro com códigos diferentes
Páginas de erros com informações de debug
 Stack trace na página de erro
Ambientes afetados:
Todos
Tratando em php
Cuidado com informações sobre o ambiente
Phpinfo()
Server-Status
Configure no php.ini
log_errors = On
display_errors = Off
Copyright © The OWASP Foundation
Permission is granted to copy, distribute and/or modify this document
under the terms of the OWASP License.
The OWASP Foundation
http://www.owasp.org
Tratando as vulnerabilidades
do Top 10 do OWASP
7 – Furo de Autenticação
7 - Furo de Autenticação
Nome completo:
Furo de autenticação e gerência de sessão
Problemas mais comuns:
Falhas de proteção de credenciais
Falha de proteção de identificadores de sessão
Ambientes afetados:
Todos os ambientes
Furo de Autenticação
Conseqüências:
Roubos de contas
Seqüestro de sessão
Violações de privacidade
Acessos não autorizados
Personificação de usuários (impersonation)
Dicas
Nunca faça
Armazenamento de senhas. Nem mesmo
criptografadas
Não use mais md5 e sha-1
Faça
Armazene apenas o hash + salt das senhas
Fortaleça as configurações de sessão
 session.save_path = [diretório protegido]
 session.cookie_httponly = 1 (acesso apenas por HTTP)
 session.cookie_secure = 1 (força o uso de HTTPS)
Números aleatórios
Cuidado com as funções geradoras de
números aleatórios
rand(), srand(), mt_rand(), mt_srand()
Uma falha na implementação destas funções
causou inúmeras falhas em sistemas de
autenticação em projetos open source
Tratando em php
Utilize outros algoritmos de hash
Copyright © The OWASP Foundation
Permission is granted to copy, distribute and/or modify this document
under the terms of the OWASP License.
The OWASP Foundation
http://www.owasp.org
Tratando as vulnerabilidades
do Top 10 do OWASP
8 – Armazenamento
Criptográfico
8 - Armazenamento Criptográfico
Nome Completo:
Armazenamento Criptográfico Inseguro
Aplicações tem dados sensíveis
Algumas não criptografam
Outras criptografam de forma insegura
 Algoritmos mal concebidos
 Mecanismos inapropriados
 Erros no uso de criptografia
– Mesmo com algoritmos adequados
Armazenamento Criptográfico
Ambientes afetados
Todos
Problemas mais comuns:
Não criptografar dados sensíveis
Uso inseguro de algoritmos fortes
 Chaves fracas
Uso de algoritmos caseiros ou de algoritmos
fracos
Armazenar chaves em sistemas de
armazenamento desprotegidos
Tratando em php
Use
Mcrypt com algoritmos conhecidos de criptografia
Cuidados
Implementação do algoritmo
Armazenamento da chave
Cifra de César e XOR não funcionam
Copyright © The OWASP Foundation
Permission is granted to copy, distribute and/or modify this document
under the terms of the OWASP License.
The OWASP Foundation
http://www.owasp.org
Tratando as vulnerabilidades
do Top 10 do OWASP
9 – Comunicação Insegura
9 - Comunicações inseguras
Todo o tráfego autenticado da aplicação
deve ser criptografado
Usar SSL ou equivalente:
 Entre aplicação e cliente
 Entre aplicação e back-end (base de dados)
Sempre autenticar (ou re-autenticar) antes
de transmitir dados sigilosos
Ambientes afetados:
todos
Copyright © The OWASP Foundation
Permission is granted to copy, distribute and/or modify this document
under the terms of the OWASP License.
The OWASP Foundation
http://www.owasp.org
Tratando as vulnerabilidades
do Top 10 do OWASP
10 – Restrições de Acesso a
URL
10 - Restrições de acesso a URLs
Nome completo:
Falha ao restringir acesso a URLs
Aplicações tem páginas internas
Estas páginas só devem ser acessadas:
 Por usuários autenticados ou
 Após determinada operação
O acesso a páginas internas deve ser
controlado corretamente
Restrições de acesso a URLs
Ambientes Afetados:
Todos
Problemas:
Navegação forçada:
 Adivinhação de URLs
 Força bruta
Ocorre porque a página não verifica se
usuário deveria acessar
Tratando em php
Controle de acesso
Estabeleça um bom controle de acesso as
informações da aplicação
Hardening de sessão
A sessão é responsável por manter o estado das
conexões, garanta que as sessões terão
segurança adequada
Copyright © The OWASP Foundation
Permission is granted to copy, distribute and/or modify this document
under the terms of the OWASP License.
The OWASP Foundation
http://www.owasp.org
Tratando as vulnerabilidades
do Top 10 do OWASP
Encerrando
Fiquem de olho
Port do projeto ESAPI para php
Biblioteca completa para tratar as
vulnerabilidades do Top 10
AppSec Latin America 2009
Conferência que será realizada no Brasil e irá
unir especialistas do mundo todo para tratar de
segurança em aplicações WEB
REFERÊNCIAS
http://www.owasp.org
Code Review Guide
 www.owasp.org/index.php/Category:OWASP_Code_Review_Projec
t
Development Guide
 www.owasp.com.br/index.php/Category:OWASP_Guide_Project
Testing Guide
 www.owasp.com.br/index.php/Category:OWASP_Testing_Project
Application Security Desk Reference
 www.owasp.com.br/index.php/Category:OWASP_ASDR_Project
Top Ten Project
 www.owasp.com.br/index.php/Category:OWASP_Top_Ten_Project
http://br.php.net/manual/
Perguntas
Obrigado

Tratando as vulnerabilidades do Top 10 do OWASP by Wagner Elias

  • 1.
    Copyright © TheOWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP Foundation http://www.owasp.org Tratando as vulnerabilidades do Top 10 do OWASP Php Conference – São Paulo 28/11/2008 Wagner Elias Research & Development Manager Brazilian Chapter Leader http://wagnerelias.comhttp://www.conviso.com.br
  • 2.
    Agenda  Um poucode OWASP  Top 10 2007 1 – XSS (Cross Site Scripting) 2 – Falhas de Injeção 3 – Execução Maliciosa de Arquivos 4 – Referência Direta a Objetos 5 – CSRF (Cross Site Request Forgery) 6 – Vazamento de Informações 7 – Furo de Autenticação 8 – Armazenamento Criptográfico 9 – Comunicação Insegura 10 – Restrição de Acesso a URL  Encerramento
  • 3.
    O que éOWASP? Open Web Application Security Project Educar e conscientizar segurança para desenvolvedores, designers, arquitetos e organizações.
  • 4.
    Como funciona? Documentação Wiki eBooks  Code Review, Testing Guide, Building, Top Ten, … Code Projects Projetos ferramentas ofensivas/defensivas Processos, procedimentos … Educação e outros Chapters (Capítulos) Grupo de usuários +100 e crescendo Conferências Grandes e pequenos eventos ao redor do mundo
  • 5.
    Brazilian Chapter (OWASP-BR) Positive Security Project Melhorar a postura das empresas em relação a segurança em aplicações  Application Security Desk Reference Project (ASDR) Guia de referência sobre segurança em aplicações web Princípios, agentes de ameça, controles, vulnerabilidades e ataques, impactos de negócio e técnicos  Traduções WebGoat Top Ten Project  Lista de discussão ativa, participe! http://lists.owasp.org/mailman/listinfo/owasp-brazilian  Acompanhe e colabore com o wiki do capítulo http://www.owasp.org/index.php/Brazilian
  • 6.
  • 7.
  • 8.
    Copyright © TheOWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP Foundation http://www.owasp.org Tratando as vulnerabilidades do Top 10 do OWASP Top 10 2007
  • 9.
    O que é? Estudoda OWASP que busca identificar e classificar as 10 principais vulnerabilidades encontradas em ambientes WEB Traduzido para vários idiomas e atualizado regularmente  Pt-Br:http://www.owasp.org/images/4/42/OWASP_TOP_10_2007_PT-BR.pdf
  • 10.
    Copyright © TheOWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP Foundation http://www.owasp.org Tratando as vulnerabilidades do Top 10 do OWASP 1 – XSS (Cross Site Scripting)
  • 11.
    1 - CrossSite Scripting (XSS) Permite que um atacante insira um script na página que será mostrada à vítima. Afeta qualquer ambiente web Efeitos: Seqüestro de sessão Inserção de código ou conteúdo hostil Roubo de informações Controle do navegador da vítima
  • 12.
    Tipos de CrossSite Scripting Refletido Quando o site reflete para o usuário todo ou parte do conteúdo da requisição Armazenado O script é armazenado em base de dados e é mostrado às vítimas posteriormente Inserção DOM Os scripts da página são alterados
  • 13.
    Tratando em php Sanitizeos dados usando htmlentities() ou htmlspecialchars()
  • 14.
    Copyright © TheOWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP Foundation http://www.owasp.org Tratando as vulnerabilidades do Top 10 do OWASP 2 – Falha de Injeção
  • 15.
    2 - Falhasde Injeção Várias linguagens envolvidas: SQL LDAP HTML XSLT XML Comandos de interpretadores do sistema operacional (cmd, shell, etc)
  • 16.
    Falhas de Injeção Comoacontecem: Dados fornecidos por usuários são usados como parte de comandos ou consultas Dados são manipulados para alterar os comandos enviados ao interpretador Atacante pode se utilizar das permissões da aplicação para ler e/ou alterar dados Pode permitir execução de programas
  • 17.
    Falhas de Injeção Ambientesafetados: Quaisquer ambientes que utilizem interpretadores Muito comum no acesso a bases de dados  SQL Injection
  • 18.
    Dicas Valide sempre Expressões regularessão sempre uma boa Adote camada de abstração de dados Bibliotecas de ORM são bastante eficazes para evitar falhas de SQL Injection. Exemplo ADOdb, PDO. Use procedimentos armazenados Prepared Statements (Bind Variables) Evite usar a chamada padrão de query do MySQL (mysqli_multi_query()) use mysqli_query() Não confie No usuário e no magic_quotes /addslashes() 
  • 19.
    Tratando em php Sanitizeos dados usando escapeshellcmd()
  • 20.
    Tratando em php Evite,mas se precisar interagir com shell use escapeshellarg()
  • 21.
    Tratando em php Referenciandopath de forma segura, evitando path traversal realpath()
  • 22.
    Tratando em php EvitandoSQL Injection com mysql_escape_string() (não é uma solução definitiva, sujeito a SQL Injection usando técnicas de encode.) Só Bind Variables Salva 
  • 23.
    Copyright © TheOWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP Foundation http://www.owasp.org Tratando as vulnerabilidades do Top 10 do OWASP 3 – Execução Maliciosa de Arquivos
  • 24.
    3 - ExecuçãoMaliciosa de Arquivo Execução de conteúdo externo ao código da aplicação Permite realizar Execução remota de código Instalação de rootkits
  • 25.
    Execução Maliciosa deArquivo Ambientes afetados: Sistemas que aceitam nomes de arquivos Sistemas que recebem arquivos Ambientes interpretados
  • 26.
    Tratando em php Desabiliteestas funções que são habilitadas por default allow_url_fopen e allow_url_include Cuidado com as funções eval() passthru() Streams (stream_*)
  • 27.
    Copyright © TheOWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP Foundation http://www.owasp.org Tratando as vulnerabilidades do Top 10 do OWASP 4 – Referência Direta a Objetos
  • 28.
    4 - ReferênciaDireta a Objeto Ocorre quando a aplicação expõe referência direta a objeto interno Arquivo Diretório Registro de base de dados URL Parâmetro
  • 29.
    Referência Direta aObjeto Permite ao atacante manipular a referência e burlar controles de acesso Exemplo: Aplicação utiliza CPF na URL para identificar usuário Atacante manipula a URL e altera o CPF Atacante acessa dados de outros CPFs
  • 30.
    Referência Direta aObjeto Ambientes afetados: Qualquer ambiente web Solução Usar sessões Armazenar identificadores internos na sessão do usuário Usar identificadores de sessão aleatórios (token)
  • 31.
    Tratando em php Orecurso de _autoload é uma boa opção
  • 32.
    Copyright © TheOWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP Foundation http://www.owasp.org Tratando as vulnerabilidades do Top 10 do OWASP 5 – CSRF (Cross Site Request Forgery)
  • 33.
    5 - CrossSite Request Forgery (CSRF) Usar sessão já aberta pelo usuário para enviar comandos para a aplicação Usuário loga na aplicação alvo Usuário acessa site do atacante Scripts do atacante usam a sessão da aplicação alvo  Enviam comandos em nome do usuário na sessão já aberta
  • 34.
    Cross Site RequestForgery Quando ocorre: Não há verificação de autorização Ação é executada quando credenciais são enviadas na URL As credenciais são submetidas automaticamente  Cookies
  • 35.
    Cross Site RequestForgery A maioria das aplicações atuais estão vulneráveis Aplicações de Internet Banking pedem a senha para operações de atualização Ambientes afetados: Todos os ambientes web
  • 36.
    Tratando em php Evite Quefunções críticas na aplicação sejam feitas sem a necessidade de re-autenticação Não use apenas $_REQUEST[‘input‘] Utilize  Corretamente $_COOKIE, $_GET e $_POST  Token em todas as requisições
  • 37.
    Copyright © TheOWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP Foundation http://www.owasp.org Tratando as vulnerabilidades do Top 10 do OWASP 6 – Vazamento de Informações
  • 38.
    6 - Vazamentode Informações Nome completo: Vazamento de informações e tratamento de erros inapropriado A própria aplicação informa ao atacante: Configurações Arquitetura interna Plataformas Dados sigilosos
  • 39.
    Vazamento de Informações Formasde vazamento: Tempo de resposta Respostas diferentes para diferentes entradas  Página de erro com códigos diferentes Páginas de erros com informações de debug  Stack trace na página de erro Ambientes afetados: Todos
  • 40.
    Tratando em php Cuidadocom informações sobre o ambiente Phpinfo() Server-Status Configure no php.ini log_errors = On display_errors = Off
  • 41.
    Copyright © TheOWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP Foundation http://www.owasp.org Tratando as vulnerabilidades do Top 10 do OWASP 7 – Furo de Autenticação
  • 42.
    7 - Furode Autenticação Nome completo: Furo de autenticação e gerência de sessão Problemas mais comuns: Falhas de proteção de credenciais Falha de proteção de identificadores de sessão Ambientes afetados: Todos os ambientes
  • 43.
    Furo de Autenticação Conseqüências: Roubosde contas Seqüestro de sessão Violações de privacidade Acessos não autorizados Personificação de usuários (impersonation)
  • 44.
    Dicas Nunca faça Armazenamento desenhas. Nem mesmo criptografadas Não use mais md5 e sha-1 Faça Armazene apenas o hash + salt das senhas Fortaleça as configurações de sessão  session.save_path = [diretório protegido]  session.cookie_httponly = 1 (acesso apenas por HTTP)  session.cookie_secure = 1 (força o uso de HTTPS)
  • 45.
    Números aleatórios Cuidado comas funções geradoras de números aleatórios rand(), srand(), mt_rand(), mt_srand() Uma falha na implementação destas funções causou inúmeras falhas em sistemas de autenticação em projetos open source
  • 46.
    Tratando em php Utilizeoutros algoritmos de hash
  • 47.
    Copyright © TheOWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP Foundation http://www.owasp.org Tratando as vulnerabilidades do Top 10 do OWASP 8 – Armazenamento Criptográfico
  • 48.
    8 - ArmazenamentoCriptográfico Nome Completo: Armazenamento Criptográfico Inseguro Aplicações tem dados sensíveis Algumas não criptografam Outras criptografam de forma insegura  Algoritmos mal concebidos  Mecanismos inapropriados  Erros no uso de criptografia – Mesmo com algoritmos adequados
  • 49.
    Armazenamento Criptográfico Ambientes afetados Todos Problemasmais comuns: Não criptografar dados sensíveis Uso inseguro de algoritmos fortes  Chaves fracas Uso de algoritmos caseiros ou de algoritmos fracos Armazenar chaves em sistemas de armazenamento desprotegidos
  • 50.
    Tratando em php Use Mcryptcom algoritmos conhecidos de criptografia Cuidados Implementação do algoritmo Armazenamento da chave Cifra de César e XOR não funcionam
  • 51.
    Copyright © TheOWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP Foundation http://www.owasp.org Tratando as vulnerabilidades do Top 10 do OWASP 9 – Comunicação Insegura
  • 52.
    9 - Comunicaçõesinseguras Todo o tráfego autenticado da aplicação deve ser criptografado Usar SSL ou equivalente:  Entre aplicação e cliente  Entre aplicação e back-end (base de dados) Sempre autenticar (ou re-autenticar) antes de transmitir dados sigilosos Ambientes afetados: todos
  • 53.
    Copyright © TheOWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP Foundation http://www.owasp.org Tratando as vulnerabilidades do Top 10 do OWASP 10 – Restrições de Acesso a URL
  • 54.
    10 - Restriçõesde acesso a URLs Nome completo: Falha ao restringir acesso a URLs Aplicações tem páginas internas Estas páginas só devem ser acessadas:  Por usuários autenticados ou  Após determinada operação O acesso a páginas internas deve ser controlado corretamente
  • 55.
    Restrições de acessoa URLs Ambientes Afetados: Todos Problemas: Navegação forçada:  Adivinhação de URLs  Força bruta Ocorre porque a página não verifica se usuário deveria acessar
  • 56.
    Tratando em php Controlede acesso Estabeleça um bom controle de acesso as informações da aplicação Hardening de sessão A sessão é responsável por manter o estado das conexões, garanta que as sessões terão segurança adequada
  • 57.
    Copyright © TheOWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP Foundation http://www.owasp.org Tratando as vulnerabilidades do Top 10 do OWASP Encerrando
  • 58.
    Fiquem de olho Portdo projeto ESAPI para php Biblioteca completa para tratar as vulnerabilidades do Top 10 AppSec Latin America 2009 Conferência que será realizada no Brasil e irá unir especialistas do mundo todo para tratar de segurança em aplicações WEB
  • 59.
    REFERÊNCIAS http://www.owasp.org Code Review Guide www.owasp.org/index.php/Category:OWASP_Code_Review_Projec t Development Guide  www.owasp.com.br/index.php/Category:OWASP_Guide_Project Testing Guide  www.owasp.com.br/index.php/Category:OWASP_Testing_Project Application Security Desk Reference  www.owasp.com.br/index.php/Category:OWASP_ASDR_Project Top Ten Project  www.owasp.com.br/index.php/Category:OWASP_Top_Ten_Project http://br.php.net/manual/
  • 60.