O documento discute vários tópicos relacionados à segurança de aplicações web, incluindo OWASP Top 10, ferramentas de aprendizado como Hacme Books, geração de erros, injeção SQL, XSS, CSRF e criptografia fraca. Ele também fornece demonstrações de várias vulnerabilidades comuns.
2. OWASP Top 10 (2010) Report
• The Open Web Application Security
Project (OWASP) é uma
comunidade aberta dedicada a
permitir que organizações possam
comprar, desenvolver e manter
aplicações seguras.
3. Live Demo – Hacme Books ;)
• Foundstone Hacme Books™ é uma plataforma de aprendizagem para
desenvolvimento seguro, utilizada por desenvolvedores, arquitetos e testers
com interessem em segurança. É aplicação JEE com cenários comuns para
demonstrar potenciais problemas encontrados em aplicações.
http://www.mcafee.com/us/downloads/free-tools/hacmebooks.aspx
4. Error Generations
• Conhecimento é poder. Identificar e explorar
vulnerabilidades requer o conhecimento dos
componentes do sistema.
• Uma das melhores práticas é limitar a quantidade de
informação que o usuário pode obter durante uma
falha.
5. Error Generations
Pode ver a stacktrace? Preencher os campos abaixo:
• Plataforma ______
• Banco de dados _____
• Servidor de Aplicações ______
• Uso do framework _____
6. Malicious input: the root of all evil
• Entradas de dados (textos/arquivos) gigantes
• Cookies!
• Cabeçalho HTTP
• Nomes maliciosos
„;alert(“xss”);x=„ é um nome de arquivo válido no Unix
• Arquivos infectados (vírus)
X50!P%@AP[4PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
• Zip bomb / Zip of death
• Billion Laughs XML
9. XSS - Cross Site Scripting
• Falhas de XSS ocorrem quando a aplicação aceita o
recebimento de dados não confiáveis sem a validação
adequada. XSS permite aos atacantes executar scripts
na máquina do usuário, como sequestrar sessões ou
redirecionar o usuário para sites maliciosos.
11. CSRF – Cross Site Request Forgery
• Um ataque CSRF força o browser de um usuário
autenticado enviar uma requisição HTTP indevida,
incluindo cookies de sessão e outros possíveis dados
de autenticação para uma aplicação vulnerável.
12. CSRF – Cross Site Request Forgery
• CSRF é utilizado para que o browser do usuário faça uma requisição
para a URL que o atacante escolher.
• CSRF não depende de JavaScript. Simplesmente a tag HTML <IMG>
pode ser utilizada.
• No lugar da imagem, o ataque CSRF envia uma requisição maliciosa.
• Modificar dados com GET é tecnicamente uma violação da
especificação HTTP, porém muitos desenvolvedores cometem este
equívoco (HTTP POST deveria ser usado nestes casos).
16. Top (un)missing topics ;)
• Broken Authentication and Session Management
• Security Misconfiguration
• Failure to Restrict URL Access
• Unvalidated Redirects and Forwards
17. Where we go now?
• Hacme series
– Hacme {Bank, Books, Casino, Shipping, Travel}
• hACMEgame
– hacmegame.org
– Dept. of Comput. & Inf. Sci., Norwegian Univ. of Sci. &
Technol., Trondheim
• OWASP WebGoat
– And of course... OWASP TOP 10