Nossa equipe elaborou uma estatística sobre as principais vulnerabilidades encontradas em diversas aplicações. Para isso usamos os dados do histórico dos projetos realizados pela Batori nos últimos anos. Agrupamos as vulnerabilidades em categorias e contabilizamos a quantidade de vulnerabilidades por categoria.
Observamos que grande parte das vulnerabilidades não é detectada por ferramentas como scanners e analisadores de código e, quando analisados, não têm a devida eficácia.
1) Cross-site scripting (XSS) – Técnica de ataque que representa 13% das ocorrências. Ela permite executar scripts maliciosos no navegador do usuário da aplicação vulnerável.
2) Manipulação de dados ocultos – Ela responde, também, por 13% das ocorrências. A aplicação vulnerável permite acesso indevido quando dados ocultos são manipulados indevidamente.
3) Falha ao restringir acesso a URL ou funcionalidade – Essa vulnerabilidade, que ocorre porque a aplicação não restringe adequadamente suas áreas restritas, representa 11% das ocorrências.
4) Tratamento indevido de erro, revelação de informações sensíveis – A aplicação revela informações sensíveis através de uso não esperado. Responde por 9% das ocorrências.
5) Armazenamento inseguro de criptografia – Esse tipo de brecha, que representa 9% das ocorrências, expõe dados sensíveis, que deveriam ser armazenados de forma criptografada e estão em texto livre ou com criptografia inadequada.
6) Comunicação insegura – Vulnerabilidade responsável por 8% das ocorrências. A aplicação trafega dados sensíveis através de canais não-seguros.
7) Falha da especificação de requisitos – Deficiência que representa 8% das ocorrências. Os controles de segurança, que deveriam existir, não existem devido a falha na especificação.
8) Injeção de comandos – Técnica de ataque responsável por 8% das ocorrências e que explora injeção de comandos através de aplicação para serem processados por outros sistemas ou camadas. Por exemplo: SQL Injection, SMTP Injection, HTML Injection etc.
9) Processo inadequado de cadastro de usuários – Procedimento que causa 5% das ocorrências. O cadastro de usuário deve respeitar algumas recomendações de segurança, que se não forem seguidas podem expor a aplicação a diversos incidentes.
10) Quebra de autenticação e gerenciamento de sessão – Responsável por 5% das ocorrências, as aplicações vulneráveis permitem burlar o processo de autenticação através de gestão fraca de sessão ou procedimentos inseguros.
Autor: Ricardo Kiyoshi Batori