apresentação ismael rocha e fabricio braz

62
OWASP Top Ten e Guia de Testes OWASP como frameworks para verificação de segurança para aplicações web Ismael Rocha Gonçalves Fabricio Braz

Upload: owasp-brasilia

Post on 04-Jul-2015

469 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Apresentação Ismael Rocha e Fabricio Braz

OWASP Top Ten e Guia de Testes OWASP como frameworks para verificação de segurança para

aplicações web

Ismael Rocha Gonçalves

Fabricio Braz

Page 2: Apresentação Ismael Rocha e Fabricio Braz

Agenda

• Palestrantes

• Objetivos

• OWASP

• OWASP Top Ten

• Guia de Testes OWASP

• Teste de Intrusão

• Estudo de Caso

• Demo

OWASP Brasília

Page 3: Apresentação Ismael Rocha e Fabricio Braz

Ismael Rocha

• Especialista em SI, CISSP, MCSO

• Mais de 5 anos de experiência em SI para aplicações web e desktop

• Projetos

• Contribuidor OWASP (Cheat Sheet, Testing Guide v4)

[email protected]

Page 4: Apresentação Ismael Rocha e Fabricio Braz

Fabricio Braz

• Líder OWASP Brasília • Sócio Fundador - Sr. Nimbus • D.Sc. – UnB & FAU (USA)

– Design de software e padrões de arquitetura para segurança.

• SERPRO – UnB – Microsoft – SDL (Segurança no Ciclo de Desenvolvimento) no PSDS (PROCESSO

SERPRO de Desenvolvimento de Soluções).

• Disciplina Segurança de Software – UnB – Especialização em Segurança da Informação e Comunicações.

• BSIMM PT-BR • http://softwareseguro.blogspot.com • .NET, Java • Twitter - fabriciobraz

OWASP Brasília

Page 5: Apresentação Ismael Rocha e Fabricio Braz

Agenda

• Palestrantes

• Objetivos

• OWASP

• OWASP Top Ten

• Guia de Testes OWASP

• Teste de Intrusão

• Estudo de Caso

• Demo

OWASP Brasília

Page 6: Apresentação Ismael Rocha e Fabricio Braz

Objetivos

• Fornecer em linhas gerais SI para web

– OWASP Top Ten

– Guia de Testes OWASP

OWASP Brasília

Page 7: Apresentação Ismael Rocha e Fabricio Braz

Agenda

• Palestrantes

• Objetivos

• OWASP

• OWASP Top Ten

• Guia de Testes OWASP

• Teste de Intrusão

• Estudo de Caso

• Demo

OWASP Brasília

Page 8: Apresentação Ismael Rocha e Fabricio Braz

• https://www.owasp.org • Sem fins lucrativos, comunidade, segurança em

software. • DISA (EUA), ENISA (Europa), CCRIC (Canadá),

ANSSI (França). • Projetos com foco em proteção, detecção e ciclo

de vida de software. • Ferramentas, documentos, fóruns e capítulos

autônomos. • Creative Commons.

OWASP Brasília

Page 9: Apresentação Ismael Rocha e Fabricio Braz

Agenda

• Palestrantes

• Objetivos

• OWASP

• OWASP Top Ten

• Guia de Testes OWASP

• Teste de Intrusão

• Estudo de Caso

• Demo

OWASP Brasília

Page 10: Apresentação Ismael Rocha e Fabricio Braz

OWASP Top 10

• 2003,2004,2007 e 2010

• Foco em riscos críticos

• Foco na educação de desenvolvedores, engenheiros, gerentes, organizações

• Referência PCI DSS, DISA etc.

OWASP Brasília

Page 11: Apresentação Ismael Rocha e Fabricio Braz

OWASP Top 10 (2010)

A1: Injeção

A2: Cross Site Scripting (XSS)

A3: Autenticação e Gerenciamento de Sessão Comprometidos

A4: Referencias Inseguras Diretas a Objetos.

A5: Cross Site Request Forgery (CSRF)

A6: Configuração Insegura

A7: Falha para Restringir Acesso a URL

A8: Redirecionamentos e Encaminhamentos Não Validados

A9: Armazenamento Criptográfico Inseguro

A10: Proteção Insuficiente na Camada de Transporte OWASP Brasília

Page 12: Apresentação Ismael Rocha e Fabricio Braz

A1 – Injeção

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

Injeção significa…

• Recebe as strings e as interpreta como comandos

• SQL, OS Shell, LDAP, XPath, Hibernate, etc…

Interpretadores…

• Muitas aplicações são suscetíveis.

• Mesmo que seja simples de se evitar.

Injeção SQL ainda continua muito comum

• Geralmente severo. Toda a base dados pode ser lida ou modificada.

• Pode inclusive conceder acesso ao esquema completo da base, acesso a contas, ou ainda, acesso ao sistema operacional.

Impacto típico

OWASP Brasília

Page 13: Apresentação Ismael Rocha e Fabricio Braz

Injeção LDAP

OWASP Brasília

Page 14: Apresentação Ismael Rocha e Fabricio Braz

Injeção LDAP

OWASP Brasília

Page 15: Apresentação Ismael Rocha e Fabricio Braz

Injeção LDAP

OWASP Brasília

Page 16: Apresentação Ismael Rocha e Fabricio Braz

Injeção LDAP

• Alvo

– Comprometer a base de contas de usuários.

• Método

– Injeção de Código

• Proteção

– Validação de entrada

– Defesa em profundidade

OWASP Brasília

Page 17: Apresentação Ismael Rocha e Fabricio Braz

A2 – Cross-Site Scripting (XSS)

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

Ocorre quando…

•Armazenado em banco de dados.

•Refletido de uma entrada web (campo de formulário, campo oculto, URL, etc…).

•Enviado diretamente via cliente rico JavaScript.

Dato bruto …

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

Virtualmente toda aplicação web possui este problema

•Roubo de sessão de usuário, roubo de dado sensível, reescrita de página web, redirecionamento de usuário a um usuário de phishing ou malware.

•Mais Severo: Instala um proxy XSS que permite ao atacante observar e direcionar todo o comportamento do usuário em um site vulnerável e redirecionar o usuário a outros sites.

Impacto Típico

OWASP Brasília

Page 18: Apresentação Ismael Rocha e Fabricio Braz

XSS

• Alvo – Comprometer a confiança que o usuário deposita no

conteúdo do site.

• Método – Injeção de Código

• Proteção – Validação de entrada e saída

– Encoding • <script>alert(document.cookie)</script>

• &lt;script&gt;alert(document.cookie)%lt;/script&gt

OWASP Brasília

Page 19: Apresentação Ismael Rocha e Fabricio Braz

A3 - Autenticação e Gerenciamento de Sessão

Comprometidos

• Significa que as credenciais precisam acompanhar cada requisição.

• Deve-se usar SSL para tudo que exija autenticação.

HTTP é um protocolo que não mantem estado (stateless).

• O SESSION ID é usado para manter a sessão, uma vez que o HTTP não o faz.

• O SESSION ID é comumente exposto pela rede, nos browsers, em logs,…

Falhas de gerenciamento de sessão

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

Fique atento aos side-doors

• Contas de usuários comprometidas ou sequestro de sessão.

Impacto comuim

OWASP Brasília

Page 20: Apresentação Ismael Rocha e Fabricio Braz

Autenticação Comprometida

Custom Code

Acc

ou

nts

Fin

ance

Ad

min

istr

atio

n

Tran

sact

ion

s

Co

mm

un

icat

ion

Kn

ow

led

ge M

gmt

E-C

om

me

rce

Bu

s. F

un

ctio

ns

1 Usuário envia suas credenciais

2 O site usa rescrita de URL

(ex., colocando a sessão na URL)

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

www.sm.com?JSESSIONID=9FA1DB9EA...

4

O atacante procura nos logs de www.hacker.com por referer que contenha JSESSIONID

5 O atacante usa o JSESSIONID e se apodera da conta da vítima

OWASP Brasília

Page 21: Apresentação Ismael Rocha e Fabricio Braz

A4 – Referências Inseguras Diretas a Objetos

• Isso é em parte imposição de “Autorização” apropriada, juntamente

com A7 – Falha em Restringir Acesso a URL.

Como você protege o acesso aos seus dados?

• Listar somente os objetos autorizados para o usuário corrente, ou ocultar referencias a objetos em campos ocultos

• … e não impor tais restrições no servidor

• Isso é conhecido como controle de acesso da camada de apresentação, e não funciona.

• O atacante simplesmente adultera os valores dos parâmetros.

Um erro comum …

• Acesso não autorizado a arquivos ou dados pelos usuários.

Impacto Típico

OWASP Brasília

Page 22: Apresentação Ismael Rocha e Fabricio Braz

Referências Inseguras Diretas a Objetos

• O atacante percebe que o parâmetro de sua conta é 6065

?acct=6065

• Ele tenta o próximo numero

?acct=6066

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

https://www.onlinebank.com/user?acct=6065

OWASP Brasília

Page 23: Apresentação Ismael Rocha e Fabricio Braz

A5 - Cross Site Request Forgery (CSRF)

• Um ataque no qual o browser da vítima é enganado de modo a enviar um comando a uma aplicação web vulnerável.

• A vulnerabilidade é causada pelo fato dos navegadores incluírem automaticamente dados de autenticação do usuário (session ID, endereço IP, credenciais de domínio Windows, …) em cada requisição.

Cross Site Request Forgery

• E se um atacante puder tomar posse de seu mouse e fazê-lo clicar em links em seu web banking?

• O que eles podem obrigá-lo a fazer?

Imagine…

• Iniciar transações (transferir fundos, encerrar cessão, desativar conta).

• Acessar dados sensíveis.

• Alterar detalhes da conta.

Impacto Comum

OWASP Brasília

Page 24: Apresentação Ismael Rocha e Fabricio Braz

CSRF Ilustrado

3

2

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

Apesar de logar no site vulnerável, usuário acessa o site do atacante

O site vulneravel recebe requisições legítimas da vítima e realiza a ação requisitada

A tag <img> é carregada pelo navegador – envia requisição GET (incluindo credenciais) ao site vulnerável

Custom Code

Acc

ou

nts

Fin

ance

Ad

min

istr

atio

n

Tran

sact

ion

s

Co

mm

un

icat

ion

Kn

ow

led

ge M

gmt

E-C

om

me

rce

Bu

s. F

un

ctio

ns

Uma tag <img> oculta contém um ataque a um site vulnerável

Aplicação com vulnerabilidade CSRF

OWASP Brasília

Page 25: Apresentação Ismael Rocha e Fabricio Braz

CSRF

• Alvo – Comprometer a confiança que o site deposita no

browser.

• Método – Injeção de Código

• Proteção – Validação de entrada e saída – Utilização de tokens – Encoding

• <script>alert(document.cookie)</script> • &lt;script&gt;alert(document.cookie)%lt;/script&gt

OWASP Brasília

Page 26: Apresentação Ismael Rocha e Fabricio Braz

A6 – Configuração Insegura

•Tudo que esteja entre a rede a plataforma

•Não se esqueça do ambiente de desenvolvimento

Aplicações web dependem de uma base segura

•Pense em todos os locais nos quais seu código fonte esteja

•A segurança não deve depender de um código secreto

Seu código fonte é secreto?

•Todas as credenciais devem mudar em produção

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

• Instalação de backdoor via brecha não corrigida na rede ou no servidor

•Exploração de falhas de XSS devido a falta de atualização de frameworks da aplicação

•Acesso não autorizado a contas, funcionalidades ou dados padrão da aplicação, ou funcionalidade não usada mas disponível em razão de configuração falha do servidor

Impacto Típico

OWASP Brasília

Page 27: Apresentação Ismael Rocha e Fabricio Braz

Hardened OS

Web Server

App Server

Framework

A6 – Configuração Insegura

App Configuration

Custom Code

Acc

ou

nts

Fin

ance

Ad

min

istr

atio

n

Tran

sact

ion

s

Co

mm

un

icat

ion

Kn

ow

led

ge M

gmt

E-C

om

mer

ce

Bu

s. F

un

ctio

ns

Test Servers

QA Servers

Source Control

Development

Database

Insider

OWASP Brasília

Page 28: Apresentação Ismael Rocha e Fabricio Braz

A7 - Falha em Restringir Acesso a URL

• Isso é em parte imposição de “Autorização” apropriada, juntamente com

A4 - Referências Inseguras Diretas a Objetos

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

• Mostrar apenas links e opções de menu autorizados

• Isso é conhecido como controle de acesso da camada de apresentação, e não funciona

• O atacante simplesmente adultera os valores dos parâmetros

Um erro comum …

• Os atacantes invocam funções e serviços a elas não autorizados

• Acesso a outras contas e dados de usuários

• Execução de ações com privilégio elevado

Impacto Típico

OWASP Brasília

Page 29: Apresentação Ismael Rocha e Fabricio Braz

Falha em Restringir Acesso a URL

• O atacante percebe que a url tem correlação com sua conta /user/getAccounts

• Ele a modifica para outro diretório (papel)

• /admin/getAccounts, ou

• /manager/getAccounts

• O atacante visualiza outras contas além da sua

https://www.onlinebank.com/user/getAccountshttps://www.onlinebank.com/user/getAccounts

OWASP Brasília

Page 30: Apresentação Ismael Rocha e Fabricio Braz

A8 - Redirecionamentos e

Encaminhamentos Não Validados

• E com frequência incluem parâmetros fornecidos pelo usuário na URL de destino.

• Caso elas não sejam validadas, o atacantes pode direcionar a vitima para o site que desejar.

Redirecionamento em aplicações web é muito comum

• Eles enviam internamente a requisição para uma nova página da mesma aplicação.

• Em alguns casos os parâmetros definem a página alvo.

• Caso não seja validado, o atacante pode conseguir usar uma encaminhamento não validado para subverter as verificações de autenticação e autorização.

Encaminhamentos são comuns também

• Redireciona a vítima a site de malware e phishing.

• A requisição do atacante é encaminhada para para verificações de segurança já realizadas, permitindo acesso não autorizado a dados e funções.

Impacto Típico

OWASP Brasília

Page 31: Apresentação Ismael Rocha e Fabricio Braz

A8 - Redirecionamentos e Encaminhamentos Não Validados

3

2

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

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

1

A aplicação redireciona a vítima ao site do atacante.

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

Custom Code

Acc

ou

nts

Fin

ance

Ad

min

istr

atio

n

Tran

sact

ion

s

Co

mm

un

icat

ion

Kn

ow

led

ge M

gmt

E-C

om

me

rce

Bu

s. F

un

ctio

ns

4 O site malicioso instala um malware na vítima

A vítima clica no link contendo um parâmetro não validado

Evil Site

http://www.irs.gov/taxrefund/claim.jsp?year=2006& … &dest=www.evilsite.com OWASP Brasília

Page 32: Apresentação Ismael Rocha e Fabricio Braz

A8 - Redirecionamentos e Encaminhamentos Não Validados

2

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

A aplicação autoriza a requisição, que continua para uma página vulnerável

A requisição enviada a uma página vulnerável que o usuário possua acesso. O redirecionamento envia o usuário diretamente a uma página privada, subvertendo o controle de acesso.

3 O encaminhamento de página falha em validar o parâmetro, enviado o atacante a uma página não autorizada, subvertendo o controle de acesso public void doPost( HttpServletRequest request,

HttpServletResponse response) { try { String target = request.getParameter( "dest" ) );

... request.getRequestDispatcher( target

).forward(request, response); } catch ( ...

Filter

public void sensitiveMethod( HttpServletRequest request, HttpServletResponse response) {

try { // Do sensitive stuff here. ...

} catch ( ...

OWASP Brasília

Page 33: Apresentação Ismael Rocha e Fabricio Braz

A9 – Armazenamento Criptográfico Inseguro

• Falha na identificação de todos os dados sensíveis.

• Falha em se identificar todos os locais que tais dados sensíveis são armazenados:

• Bando de dados, arquivos, diretórios, arquivos de log, backups, etc.

• Falha em proteger de forma apropriada esses dados em todos os locais.

Armazenamento inseguro de dados sensíveis

• Os atacantes acessam e modificam informação confidencial ou privada:

• ex., cartão de crédito, registros de histórico de saúde, dados financeiro (seus ou de seus clientes).

• Os atacantes podem extrair os segredos para montar o quebra-cabeças dos ataque.

• Constrangimento para a empresa, insatisfação do cliente e perda de confiança.

• Custo para resolver o incidente, como em forense, envio de cartas de desculpas, reemissão de milhões de cartões de créditos, fornecimento de seguro contra falsificação de identidade.

• Condenações na justiça e/ou multas.

Impacto Típico

OWASP Brasília

Page 34: Apresentação Ismael Rocha e Fabricio Braz

A9 – Armazenamento Criptográfico Inseguro

Page 35: Apresentação Ismael Rocha e Fabricio Braz

A9 – Armazenamento Criptográfico Inseguro

Usuario: fabricio; Senha: OWASPSafePass Senha ASCII: 79 87 65 83 80 83 97 102 101 80 97 115 115

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

Page 36: Apresentação Ismael Rocha e Fabricio Braz

A10 – Proteção Insuficiente na Camada de Transporte

• Falha na identificação de todos os dados sensíveis

• Falha na identificação de todos os locais em que os dados sensíveis são enviados: • Na web, para banco de dados, para parceiros de negócio, em comunicação

interna.

• Falha em se proteger de forma apropriada este dado em qualquer local.

Transmissão insegura de dados sensíveis

• Os atacantes acessam o modificam dados confidenciais ou informação privada: • Ex., cartão de crédito, prontuários médicos, dados financeiros (de você ou de seus

clientes).

• Atacantes extraem segredos para compor outros ataques.

• Constrangimento para a empresa, insatisfação do cliente e perda de confiança.

• Custo para resolver o incidente, como em forense, etc.

• Condenações na justiça e/ou multas.

Impacto Típico

OWASP Brasília

Page 37: Apresentação Ismael Rocha e Fabricio Braz

Proteção Insuficiente na Camada de Transporte

Código Adaptado

Funcionários

Parceiros Vítima Externa

Sistemas Backend

Atacantes Externos

1

Atacantes externos roubam credenciais e dados fora da rede

2

Atacantes internos roubam credenciais e dados da rede interna

Atacantes Internos

OWASP Brasília

Page 38: Apresentação Ismael Rocha e Fabricio Braz

Agenda

• Palestrantes

• Objetivos

• OWASP

• OWASP Top Ten

• Guia de Testes OWASP

• Teste de Intrusão

• Estudo de Caso

• Demo

OWASP Brasília

Page 39: Apresentação Ismael Rocha e Fabricio Braz

Guia de Testes OWASP

• Framework de testes de segurança

• Entender o que, por quê, quando, onde e como testar aplicações web

• Metodologia de classificação de riscos

– Identificação dos riscos

– Fatores para estima de probabilidade

– Fatores para estima de impacto no negócio

– Determinação da severidade do risco

OWASP Brasília

Page 40: Apresentação Ismael Rocha e Fabricio Braz

Agenda

• Palestrantes

• Objetivos

• OWASP

• OWASP Top Ten

• Guia de Testes OWASP

• Teste de Intrusão

• Estudo de Caso

• Demo

OWASP Brasília

Page 41: Apresentação Ismael Rocha e Fabricio Braz

Teste de Intrusão

• Técnica exploratória para determinar o nível de risco associado a uma vulnerabilidade ou a um conjunto de vulnerabilidades de determinado alvo

• Simula um ataque real a um sistema ou infraestrutura

• Processo amplo, fases pré e pós-ataques

OWASP Brasília

Page 42: Apresentação Ismael Rocha e Fabricio Braz

Teste de Intrusão

- Planejamento

- Descobrimento

- Ataque

- Relato

OWASP Brasília

Page 43: Apresentação Ismael Rocha e Fabricio Braz

Agenda

• Palestrantes

• Objetivos

• OWASP

• OWASP Top Ten

• Guia de Testes OWASP

• Teste de Intrusão

• Estudo de Caso

• Demo

OWASP Brasília

Page 44: Apresentação Ismael Rocha e Fabricio Braz

Estudo de Caso

• Planejamento – Tipo de teste

• Gray-box

– Estratégia de teste: • Externo à rede

• Informação de vulnerabilidades para correção

• Sem credenciais e sem conhecimento de detalhes de infraestrutura, exceto endereço IP

– Escopo • http://www.alvo.com.br

OWASP Brasília

Page 45: Apresentação Ismael Rocha e Fabricio Braz

Estudo de Caso

• Planejamento – Restrições

• Inspeção de segurança código-fonte

• Engenharia social

• Negação de serviço

• Modificação/exclusão de informações restritas

• Testes de lógica de negócio

• Testes em áreas restritas da aplicação

– Período: • De 2 a 9 de MM de YYYY

• Sem restrição de horário

OWASP Brasília

Page 46: Apresentação Ismael Rocha e Fabricio Braz

Estudo de Caso

• Descobrimento

– Levantamento de Informações

• Ferramenta automatizada – Versão do Servidor, bibliotecas, tecnologias

– Árvore de diretórios com pontos de entradas

– Informações sensíveis

• Inspeção manual de códigos HTML – Ajax

OWASP Brasília

Page 47: Apresentação Ismael Rocha e Fabricio Braz

Estudo de Caso

• Descobrimento

– Resultados

• Versão do Servidor Web: Apache

• Tecnologia PHP: versão 5.1.6

• Scripts com ponto de entrada (ferramenta): 167

• Scripts Ajax: 4

OWASP Brasília

Page 48: Apresentação Ismael Rocha e Fabricio Braz

Estudo de Caso

• Descobrimento

– Análise de Vulnerabilidades

• Em acordo com escopo e limitações

• Utilização dos testes Guia de Testes OWASP

• Análise automatizada e manual e análise crítica

• CVE

OWASP Brasília

Page 49: Apresentação Ismael Rocha e Fabricio Braz

Estudo de Caso

• Descobrimento

– Testes realizados (Gerência de Configuração)

• OWASP-CM-001 – SSL/TLS Testing

• OWASP-CM-002 – DB Listener Testing

• OWASP-CM-003 – Infrastructure configuration Mgt test

• OWASP-CM-007 – Infrastructure and app admin interfaces

OWASP Brasília

Page 50: Apresentação Ismael Rocha e Fabricio Braz

Estudo de Caso

• Descobrimento

– Testes realizados (Testes de Autenticação)

• OWASP-AT-001 – Credential transport over encrypted channel

• OWASP-AT-002 – Test for user enumeration

• OWASP-AT-006 – Test for vulnerable remember me password

OWASP Brasília

Page 51: Apresentação Ismael Rocha e Fabricio Braz

Estudo de Caso

• Descobrimento

– Testes realizados (Gerência de sessão)

• OWASP-SM-001 – Testing for session mgt schema

• OWASP-SM-003 – Testing for session fixation

OWASP Brasília

Page 52: Apresentação Ismael Rocha e Fabricio Braz

Estudo de Caso

• Descobrimento

– Testes realizados (Validação de dados)

• OWASP-DV-001 – Testing for Reflected XSS

• OWASP-DV-005 – SQL Injection

OWASP Brasília

Page 53: Apresentação Ismael Rocha e Fabricio Braz

Estudo de Caso

• Ataque

– Verifica grau de profundidade das vulnerabilidades

– OWASP-DV-005 Sql Injection

– Conformidade com regras acordadas na fase de planejamento

– Desenvolvido exploits

OWASP Brasília

Page 54: Apresentação Ismael Rocha e Fabricio Braz

Estudo de Caso

• Ataque – Exemplo exploit:

• http://www.alvo.com.br/site/ajax/ajax.php?id=12222%20union%20select%201,1,concat%28nome,%20%27%20%27,%20login,%20%27%20%27,%20senha%29,1%20from%20USUARIOS--

– Objetivo • Obter os campos nome, login e senha da tabela USUARIOS

banco de dados ALVO.

OWASP Brasília

Page 55: Apresentação Ismael Rocha e Fabricio Braz

Estudo de Caso

• Ataque – Resultados: mais de 2700 contas de

usuários/senhas, acesso administrativo.

– Senhas armazenadas em hash:

– Rainbow Tables, tabelas com entradas pré-computadas

HASH MD5 Texto Claro

4a45c297942c77ad3a47ac4650e7e90a !@#123qwe

1ac0111bb4011eeb099059a87548bcb2 kelly12!@

e10adc3949ba59abbe56e057f20f883e 123456

64760ea431d3ace72ffa9065ed1b706e 1005197

eb52b9e89e7272b9742ce97bed92a98a 04010612

OWASP Brasília

Page 56: Apresentação Ismael Rocha e Fabricio Braz

Estudo de Caso

• Relato (riscos OWASP Top Ten) Item OWASP Top

Ten

Id Vulnerabilidade Item OWASP Testing

Guide

Risco

A1 – Injeção 01 Injeção de Comandos SQL OWASP-DV-005 Muito Alto

A2 – Cross Site

Scripting

02 Cross-site-scripting OWASP-DV-001 Médio

A6 – Configuração de

segurança defeituosa

03 Versão insegura PHP OWASP-CM-003 Alto

04 Slow HTTP OWASP-CM-003 Alto

05 Interfaces administrativas abertas OWASP-CM-007 Alto

A7 – Armazenamento

criptográfico inseguro

06 Armazenamento de senhas com

hash sem salt

- Médio

A9 – Proteção

insuficiente da camada

de transporte

07 Canal inseguro para autenticação OWASP-AT-001 Alto

OWASP Brasília

Page 57: Apresentação Ismael Rocha e Fabricio Braz

Estudo de Caso

• Relato (recomendações) Id Vulnerabilidade Recomendação

01 Injeção de Comandos SQL Utilizar APIs que forneçam suporte para queries parametrizadas

(STTUTARD, 2008).

02 Cross-site-scripting Validar os dados de entrada e saída oriundos de formulários e requisições get;

utilizar entidades HTML (&gt, &lt etc). (STTUTARD, 2008)

03 Versão insegura PHP Atualizar versão do PHP (STTUTARD, 2008).

04 Slow HTTP Aplicar processo de hardening no servidor web (QUALYS).

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

06 Armazenamento de senhas com hash

sem salt

Utilizar algoritmo de hash seguro e aplicar técnica de salt (STTUTARD,

2008).

07 Canal inseguro para autenticação Implementar protocolo SSL/TLS compatível com as melhores práticas

(STTUTARD, 2008) .

OWASP Brasília

Page 58: Apresentação Ismael Rocha e Fabricio Braz

Agenda

• Palestrantes

• Objetivos

• OWASP

• OWASP Top Ten

• Guia de Testes OWASP

• Teste de Intrusão

• Estudo de Caso

• Demo

OWASP Brasília

Page 59: Apresentação Ismael Rocha e Fabricio Braz

Demo

• A1 – Injeção

• A2 – XSS

• A3/A7 – Falha no Gerenciamento de Sessão/Armazenamento criptográfico inseguro

• A10 – Redirecionamento e reenvios não validados

OWASP Brasília

Page 60: Apresentação Ismael Rocha e Fabricio Braz

Conclusão

• Segurança permeia todos os processos e sistemas não foge à regra

• Sempre haverá riscos, mas apoiado em boas práticas pode-se levá-los a um nível adequado

• OWASP Top Ten – Boa referência/introdução

• Guia de testes OWASP – Base sólida para testes web

• Ferramentas não são tudo

OWASP Brasília

Page 62: Apresentação Ismael Rocha e Fabricio Braz

• Obrigado!

• H2hc

– Discount code: ECT12

OWASP Brasília