2009-07-23 6 views
8

Dans de nombreuses applications lorsque vous faites une erreur dans votre nom d'utilisateur ou mot de passe, vous obtenez une erreur non spécifique indiquant que le nom d'utilisateur entré n'existe pas ou le mot de passe est incorrect pour ce nom d'utilisateur. I (naïvement) s'attendrait à ce que l'application spécifie l'une des deux erreurs s'est produite. Y a-t-il une raison de ne pas les différencier? Je suppose que cela rendrait plus difficile pour un attaquant de deviner une bonne combinaison nom d'utilisateur/mot de passe, mais y a-t-il de la littérature, de la recherche ou similaire qui corrobore cette hypothèse?Nom d'utilisateur introuvable ou mot de passe incorrect message d'erreur trop vague

Répondre

10

La raison en est la sécurité: elle empêche finding out which user names exist en fonction des tentatives infructueuses.

Ceci devrait être équilibré avec l'expérience utilisateur; Si on vous dit que votre nom d'utilisateur ou votre mot de passe est incorrect, cela peut être perçu comme très inutile ou ennuyeux.

+3

Mais les informations sur les noms d'utilisateurs existants peuvent souvent être obtenues en créant de nouveaux comptes. –

1

Le bon sens dicte qu'un message ambigu est préférable car un attaquant serait incapable de savoir s'il avait deviné un nom d'utilisateur correct.

1

C'est un cerceau supplémentaire que l'attaquant doit traverser. S'il attaque froidement une application, il ne connaîtra aucun nom d'utilisateur ou mot de passe. Pourquoi lui donner un peu plus d'informations pour lui dire qu'il a trouvé un nom d'utilisateur? Il vaut mieux retenir l'information. Que se passe-t-il si l'attaquant cherche simplement à confirmer l'existence d'un nom d'utilisateur particulier?

Dites, le nom d'un politicien comme un nom d'utilisateur pour un site fétiche, à titre d'exemple. Le nom d'utilisateur lui-même est une information sensible et vous ne voulez pas confirmer lesquels existent et lesquels ne le sont pas.

+0

+1 pour l'exemple du monde réel :) – slolife

2

Oui, c'est exactement pourquoi de nombreux sites/applications ne spécifient pas quelle partie de la connexion est mauvaise. J'avais l'habitude d'avoir la même plainte, mais ensuite j'ai lu un tas de livres de sécurité informatique, y compris 19 Deadly Sins of Software Security. Entre autres choses, comme les débordements et l'injection SQL, Michael Howard explique le raisonnement de retourner une erreur unifiée pour les connexions.

HTH

1

il est avant tout de donner un attaquant aussi peu d'informations que possible. Certains sites vont encore plus loin avec ce sur les rappels de mot de passe. Lorsque vous saisissez votre adresse e-mail pour recevoir un nouveau mot de passe ou un mot de passe de réinitialisation, ils ne vous disent pas si votre adresse e-mail est enregistrée dans la base de données: "si l'adresse e-mail est dans notre base de données vous recevrez un message ... "Cela empêche l'attaquant de trouver quelle adresse e-mail a été utilisée par la victime et peut également annoncer à la victime que quelqu'un tente d'entrer dans son compte.

Questions connexes