Saiu a release candidate do Owasp top 10, 2010!
Autor: Filipi | Publicado: 2009-11-26T09:44:00-02:00

O PDF estava no meu e-mail há alguns dias, mas só hoje consegui dar uma atenção.

O Owasp Top 10 é uma lista dos principais riscos aos quais as aplicações web estão submetidas.&nbsp;A escolha desses riscos é feita através da metodologia do projeto Owasp, bastante completa e amplamente discutida.


Veja os top 10 de 2010:
* Preferi não traduzir o nome das falhas por que é mais fácil encontrar referências sobre elas em inglês.

A1 Injection
Brechas de injeção, como as de SQL, Sistema Operacional, e LDAP, ocorrem quando dados não confiáveis são enviados a um intepretador como parte de um comando ou query. Os dados hostis do atacante podem enganar o interpretador fazendo-o executar comandos indesejpaveis ou acessando dados não autorizados.

A2 Cross Site Scripting (XSS)
Brechas de XSS ocorrem sempre que uma aplicação usa dados não-confiáveis e os envia para um browser se a devida validação e tratamento (scaping). XSS permite que o atacante execute scripts no browser da vitima, que pode sequestrar sessão de usuário, deformar web sites, ou redirecionar o usuário para sites maliciosos.

A3 Broken Authentication and Session Management
Funções da aplicação relacionadas a autenticação e gerenciamento de sessão são mal implementadas com freqüência, permitindo atacantes a comprometer senhas, chaves/índices, tokens de sessão, ou explorar brechas de implementação para assumir a identidade de outros usuários.

A4 Insecure Direct Object References
Uma referência direta a um objeto ocorre quando um desenvolver expõe a referência a implementação de um objeto interno, como um arquivo, diretório, ou índice de banco de dados. Se uma verificação de controle de acesso ou outra proteção, atacantes podem manipular estas referências para acessar dados não autorizados.

A5 Cross Site Request Forgery (CSRF)
Um ataque de CSRFG força o browser de uma vitima logada a enviar uma requisição HTTP forjada, incluindo o cookie de sessão da vítima e qualquer outra informação de autenticação, para uma aplicação web vulnerável. Isto permite que o atacante force o browser da vitima a gerar requisições que a aplicação vulnerável pense que sejam requisições legítimas da vítima.

A6 Security Misconfiguration
Segurança depende da existência de uma configuração segura bem definida para a aplicação, framework, web server, application server, e plataforma. Convém que todas estas configurações sejam definidas, implementadas e mantidas uma vez que muitas não são distribuídas com padrões seguros pré-definidos.

A7 Failure to Restrict URL Access
Muitas aplicações web verificam direitos de acesso antes de renderizar links protegidos e botões. No entanto, aplicações precisam realizar controles de acesso similares quando estas páginas são acessoas, ou atacantes estará hábeis a forjar URLs para acessar essas páginas escondidas de qualquer forma.

A8 UnvalidatedRedirects and Forwards
Aplicações web redirecionam e encaminham usuário para outras páginas e websites com frequência, e usam dados não-confiáveis para determinar o destino das páginas. Sem a devida validação, atacantes podem redirecionar vítimas para sites de phishing ou malware, ou use os encaminhamentos para acessar páginas não autorizadas.

A9 Insecure Cryptographic Storage
Muitas aplicações web não protegem devidamente dados sensíveis, como números de cartão de crédito, SSNs (Números de seguridade social), e credenciais de atenticação, com algoritimos de encriptação e hashing apropriados. Atacantes podem usar estes dados mal protegidos para conduzir furto de identidade, fraude de cartão de crédito, ou outros crimes.

A10 Insufficient Transport Layer Protection
Aplicações falham frequêntemente ao encriptar seu tráfego de dados em rede quando é necessário proteger comunicações sensíveis. Quando elas fazem, as vezes utilizam algorítmos fracos, certificadas expirados ou inválidos, ou não os usam corretamente. 

Veja descrições completas das falhas, assim como exemplos, e técnicas e ferramentas que podem ser usadas para mitigar ou eliminar esses riscos.