~/questoes/ciberseguranca
Falhas de autenticação ocorrem quando a aplicação não verifica adequadamente a identidade do usuário ou faz pressupostos errados sobre quem deveria ter acesso a cada recurso. Diferentemente de erros de codificação simples, essas falhas estão embutidas na lógica e arquitetura da aplicação, funcionando exatamente como foi projetada—mas de forma insegura.
A resposta correta identifica que falhas de autenticação são caracterizadas pela verificação insuficiente de identidade e pressupostos incorretos sobre permissões. O problema não está necessariamente em detalhes técnicos isolados, mas em como a lógica de acesso foi fundamentalmente planejada.
Armazenar dados em texto simples é uma má prática de implementação, não a característica que define uma falha de lógica de autenticação. Uma falha de lógica é mais sobre como a autenticação funciona, não apenas como os dados são guardados.
Esta alternativa descreve corretamente o cerne das falhas de autenticação: quando a aplicação não verifica adequadamente quem é o usuário ou assume coisas erradas sobre quem deveria ter permissão. É uma falha de design, não apenas de técnica.
A linguagem de programação usada não determina se há falha de autenticação. Uma falha de lógica pode ocorrer em Python, Java, PHP ou qualquer outra linguagem. O problema é o raciocínio por trás da verificação, não a ferramenta.
Algoritmos desatualizados como MD5 ou SHA1 são problemas de criptografia fraca, não falhas de lógica de autenticação. Uma falha de lógica é quando a verificação em si está inadequada, independente do algoritmo usado.