Falhas em mecanismos de autenticação podem ocorrer ao não validarmos corretamete a identidade do usuário logado no momento e/ou se o recurso ou funcionalidade em específico necessita de um usuário devidamente autenticado.
Casos Vulneráveis
Normalmente encontramos estes problemas em:
- Não validamos se o
token de sessãoé obrigatório. - Não validamos se um
token de sessãoexpirado ainda funciona. - Compartilhamos documentos com
links públicos, quando deveriam estar apenas para algumas pessoas. - Um token de sessão de um sistema funciona em outro que não deveria (como ambientes de testes ou de outra area de negócio).
Você pode encontrar uma vasta lista de como realizar testes em mecanismos de autenticação no OWASP Web Application Security Testing Guide - Authentication
Riscos
Ao não mitigarmos estas vulnerabilidades, corremos os riscos de:
- Ter um acesso indevido aos dados confidenciais de clientes e do negócio.
- Ter fraudes (internas e externas) com relação ao negócio, por compras indevidas ou mesmo alteração de dados em nossos sistemas.
- Comprometermos a integridade de nossos sistemas, uma vez que não saberemos se as informações que temos são de fato reais ou não.
- Sermos punidos por legislações como LGPD em caso de vazamento de informações.
Como mitigar
Algumas das formas de encontrarmos e mitigarmos estes riscos é:
- Verificar corretamente se o recurso a ser consultado deve exigir um usuário logado e se está corretamente implementado este controle.
- Verificar se, ao eliminar o token de sessão da requisição (ou abrir uma aba anônima), o acesso retorna um erro 401 em vez do conteúdo original.
- Verificar se, ao trocar o token de sessão atual por um outro também válido de outra área de negócio (que não deveria ter acesso), retorna um erro 401 em vez do conteúdo original.
- Verificar se um token expirado não continua funcionando.
Se quiser se aprofundar, você pode encontrar os controles de segurança para autenticação no OWASP Application Security Verification Standard - Authentication