OWASP publicou seu projeto TOP 10 correspondente ao ano de 2013, onde surgiram algumas modificações enquanto aos riscos de segurança mais críticos de aplicações web.
No top 10 da OWASP sobre vulnerabilidades em aplicações web se baseia na informação sobre riscos provenientes de oito empresas especializadas em segurança de aplicações. Tem-se em conta ao redor de 500.000 vulnerabilidades, em torno de centenas de organizações e milhares de aplicações . Ainda assim, estas vulnerabilidades são priorizadas de acordo com o nível de exploração, detecção e impacto estimado.
De acordo com o ranking do top 10 deste ano, as vulnerabilidades correspondem da seguinte forma:
1. A1 Injection: Correspondente à injeção de código, sendo as injeções SQL uma das mais comuns.
2. A2 Broken Authentication and Session Management (anteriormente A3): Corresponde ao mal manuseio das sessões nas aplicações que utilizam autenticação.
3. A3 Cross- Site Scripting (XSS) (anteriormente A2): Ocorre quando existe uma validação pobre da informação inserida pelo atacante.
4. A4 Insecure Direct Object References: Pode derivar no acesso não autorizado a informação crítica devido a erros no desenho e desenvolvimento.
5. A5 Security Misconfiguration (anteriormente A6): Corresponde a configurações não adequadas que podem impactar na segurança da própria aplicação.
6. A6 Sensitive Data Exposure: Refere-se a proteção incorreta dos dados críticos tais como, por exemplo, números de cartão de crédito, senhas, entre outros.
7. A7 Missing Function Level Acess Control: Corresponde a falta de controles desde o servidor, permitindo a um possível atacante acessar a funções que não deveria.
8. A8 Cross- Site Request Forgery (CSRF) (anteriormente A5): Permite a um atacante gerar petições sobre uma aplicação vulneráve a partir de uma sessão da vítima.
9. A9 Using Known Vulnerable Components (anteriormente formada parte de A6): Corresponde a uma exploração de bibliotecas, frameworks e outros componentes vulneráveis por parte de um atacante com o fim de obter acesso ou combinar com outros ataques.
10. A10 Unvalidated Redirects and Forwards: Os atacantes aproveitam o uso de redirecionamentos de sites e outros sites utilizando informação não confiável (untrusted) para redirecionar as vítimas a sites de phishing ou que contém malware.
No alto do top 10 encontram-se aquelas vulnerabilidades que são do tipo injecção. Estas vulnerabilidades são exploradas por erros na programação das consultas. Em segundo lugar, e subindo à partir da terceira posição, encontram-se aquelas vulnerabilidades que respeitam o manuseio de sessões. Neste caso aponta-se os erros de desenvolvimento onde os atacantes podem comprometer tokens e senhas ou inclusive explorar vulnerabilidade dentro de aplicações.
No caso de XSS segue permanecendo dentro das 3 vulnerabilidades mais comuns. Ataques XSS web são muitas vezes realizados, aproveitando a falta de controle na validação dos dados inseridos pelo usuário.
O resto das vulnerabilidades que compõem o ranking incluem tanto falhas de projeto, bem como erros de aplicação claramente feitos por pessoas que os gerenciam. Um ponto digno de nota que se refere a erros de configuração localizados na posição 5. Em muitos casos, existem configurações inadequadas pelos administradores, ou até mesmo as configurações padrão que não se encaixam no contexto dos sistemas e pode resultar em comprometimento do sistema levando o atacante a uma vantagem para violação.
Tal qual afirmado pelo relatório de vulnerabilidades OWASP os sistemas continuam sendo um problema e precisa ser tratado com a atenção que se necessita. Em muitos casos, estas vulnerabilidades existem informações valiosas e importantes, que podem ser usadas para várias finalidades. A ESET América Latina, já pensando sobre essa necessidade, contamos com o ESET Security Services onde são ofertados os serviços de auditoria de segurança para as organizações que desejam avaliar o seu estado de segurança.
Qual lição aprendemos a partir deste relatório? As vulnerabilidades antes expostas estão presentes em muitos sistemas e mesmo sabendo que nenhum sistema é 100% seguro, é necessário tomar as medidas preventivas adequadas para estar preparados, em outras palavras, a segurança deve ser gestionadas.
Fernando Catoira
Analista de Segurança