View
1.439
Download
0
Embed Size (px)
DESCRIPTION
Rafael Soares Ferreira (Clavis Segurança da Informação)
Citation preview
Copyright © 2010 Clavis Segurança da Informação. Todos os direitos reservados.
Auditoria de Segurançaem
Aplicações Web
Rafael Soares FerreiraDiretor de Resposta a Incidentes e Auditorias
Copyright © 2010 Clavis Segurança da Informação. Todos os direitos reservados.
Introdução
Copyright © 2010 Clavis Segurança da Informação. Todos os direitos reservados.
Utilização
● Comércio Eletrônico
● Mídias Sociais
● Internet Banking
Copyright © 2010 Clavis Segurança da Informação. Todos os direitos reservados.
Benefícios
● “Sempre” disponível
● Necessita apenas do uso de um browser
● Independe de plataforma
Copyright © 2010 Clavis Segurança da Informação. Todos os direitos reservados.
Aspectos Básicos de Segurança
● Não confiar em código/dados/entradas externos;
● Validar todos os dados (inclusive internos);
● Não existe segurança Client-Side
● Prever e tratar os erros;
Copyright © 2010 Clavis Segurança da Informação. Todos os direitos reservados.
Testes de Segurança
Copyright © 2010 Clavis Segurança da Informação. Todos os direitos reservados.
Exposição de Informação
● Spiders, Crawlers e Robots
● Sites de Busca
● Fingerprinting
● Mensagens de erro
Copyright © 2010 Clavis Segurança da Informação. Todos os direitos reservados.
Configurações e Manutenção
● SSL / TLS
● Infra estrutura
● Extensão de Arquivos
● Arquivos não referenciados
Copyright © 2010 Clavis Segurança da Informação. Todos os direitos reservados.
Autenticação● Transporte de Credenciais
● Força Bruta
● Bypass
● Lembrete e Recuperação de Senha
● CAPTCHA
● Encerramento de Sessão
Copyright © 2010 Clavis Segurança da Informação. Todos os direitos reservados.
Gerenciamento de Sessões
● Cookies
● Exposição de Variáveis
● Roubo/Sequestro de Sessão
Copyright © 2010 Clavis Segurança da Informação. Todos os direitos reservados.
Autorização
● Path Traversal
● Escalada de Privilégio
● Lógica de Validação
Copyright © 2010 Clavis Segurança da Informação. Todos os direitos reservados.
Validação de Dados
● Criptografia e Codificação
● Cross-site scripting (XSS)
● Injeção de Código
● Buffer Overflow
Copyright © 2010 Clavis Segurança da Informação. Todos os direitos reservados.
Negação de Serviço
● SQL Wildcards
● Contador fornecido por usuário
● Escrita em disco sem tratamento
Copyright © 2010 Clavis Segurança da Informação. Todos os direitos reservados.
Ferramentas
Copyright © 2010 Clavis Segurança da Informação. Todos os direitos reservados.
Scanners
● Nessus
● Nikto
● W3AF
Copyright © 2010 Clavis Segurança da Informação. Todos os direitos reservados.
Proxies
● WebScarab
● RatProxy
● Burpsuite
Copyright © 2010 Clavis Segurança da Informação. Todos os direitos reservados.
Principais Ameaças
Copyright © 2010 Clavis Segurança da Informação. Todos os direitos reservados.
● Cross Site Scripting (XSS)
A aplicação envia ao browser dados fornecidos pelo usuário sem o devido tratamento.
Pode ocasionar execução de código arbitrário no browser da vítima, roubo de sessão, alteração de sites e até downloads de artefatos maliciosos.
Copyright © 2010 Clavis Segurança da Informação. Todos os direitos reservados.
● Injeção de Código
Dados enviados pelos usuários são tratados pela aplicação sem nenhum tipo de validação.
Possibilita a execução de instruções diferentes das esperadas pela aplicação.
Copyright © 2010 Clavis Segurança da Informação. Todos os direitos reservados.
● Inclusão Remota de Arquivos (RFI)
O usuário pode passar parâmetros para aplicação que consistem em nome de arquivos para referência ou upload.
Possibilita a inserção de arquivos maliciosos no contexto da aplicação.
Copyright © 2010 Clavis Segurança da Informação. Todos os direitos reservados.
● Referência direta a objetos
Exposição de referências a objetos e implementações internas da aplicação.
Possibilita a referência direta a tais objetos e possível bypass do controle de autenticação.
Copyright © 2010 Clavis Segurança da Informação. Todos os direitos reservados.
● Vazamento de Informação
Exposição inadvertida de informações sobre a aplicação e o servidor que a hospeda.
Possibilita a obtenção de informações sensíveis para elaboração de ataques contra a aplicação.
Copyright © 2010 Clavis Segurança da Informação. Todos os direitos reservados.
● Gerenciamento de Sessões
Proteção de tokens, chaves e/ou identificadores de sessão feita de maneira insuficiente.
Possibilita captura de credenciais e roubo de sessão.
Copyright © 2010 Clavis Segurança da Informação. Todos os direitos reservados.
● Canais de Comunicação
Exposição de dados sensíveis na comunicação entre servidores e clientes.
Possibilita a captura de informações trocadas entre o cliente e a aplicação podendo culminar em roubo de informações sensíveis e credenciais.
Copyright © 2010 Clavis Segurança da Informação. Todos os direitos reservados.
Estudo de Caso
Copyright © 2010 Clavis Segurança da Informação. Todos os direitos reservados.
SELECT id FROM usuarios WHERE nome = '$nome' AND senha = '$senha';
<form method="post" action="http://SITE/login.php"><input name="nome" type="text" id="nome"><input name="senha" type="password" id="senha"></form>
Client-Side:
Server-Side:
Copyright © 2010 Clavis Segurança da Informação. Todos os direitos reservados.
' OR 'a'='a
SELECT id FROM usuarios WHERE nome = '$nome' AND senha = '' OR 'a'='a';
Client-Side: O Exploit!
Server-Side:
Copyright © 2010 Clavis Segurança da Informação. Todos os direitos reservados.
www.seginfo.com.br
Traduzida a partir da Tirinha “Exploits of a mom” do xkcd
Copyright © 2010 Clavis Segurança da Informação. Todos os direitos reservados.
● Referências
[documento] Guia para Auditorias de Aplicações web - OWASP Testing Guidehttp://www.owasp.org/index.php/OWASP_Testing_Project
[ferramenta] Aplicação para aprendizado - WebGoathttp://www.owasp.org/index.php/Category:OWASP_WebGoat_Project
[vídeos] Soluções do WebGoathttp://yehg.net/lab/pr0js/training/webgoat.php
Copyright © 2010 Clavis Segurança da Informação. Todos os direitos reservados.
Fim...
Muito Obrigado!
Rafael Soares [email protected]