2009-07-23 9 views
8

En muchas aplicaciones, cuando comete un error en su nombre de usuario o contraseña, obtiene un error no específico que indica que el nombre de usuario ingresado no existe o la contraseña es incorrecto para ese nombre de usuario.Nombre de usuario no encontrado o mensaje de error de contraseña incorrecta demasiado vago

I (ingenuamente) esperaría que la aplicación especifique que ocurrió uno de los dos errores. ¿Hay alguna razón para no diferenciar entre ellos? Supongo que haría más difícil para un atacante adivinar una combinación correcta de nombre de usuario/contraseña, pero ¿hay alguna literatura, investigación o similar que respalde esta suposición?

Respuesta

10

La razón sería la seguridad: previene finding out which user names exist en función de intentos fallidos.

Esto se debe equilibrar con la experiencia del usuario; Si le dicen que su nombre de usuario o contraseña es incorrecta, puede percibirse como muy inútil o molesto.

+3

Pero la información sobre qué nombres de usuario existen a menudo se puede obtener mediante la creación de nuevas cuentas. –

1

El sentido común dicta que un mensaje ambiguo es mejor porque un atacante no podría saber si ha adivinado un nombre de usuario correcto.

1

Es un aro extra que el atacante debe atravesar. Si está atacando en frío una aplicación, no sabrá nombres de usuario o contraseñas. ¿Por qué darle un poco de información adicional para decirle que ha encontrado un nombre de usuario? Es mejor retener la información.

¿Qué sucede si el atacante solo está buscando confirmar que existe un nombre de usuario en particular? Diga, por ejemplo, el nombre de un político como nombre de usuario para un sitio fetiche. El nombre de usuario en sí es información confidencial y no desea confirmar cuáles existen y cuáles no.

+0

+1 para el ejemplo del mundo real :) – slolife

2

Sí, es exactamente por eso que muchas aplicaciones/sitios no especifican qué parte del inicio de sesión es incorrecta. Solía ​​tener la misma queja, pero luego leí un montón de libros de seguridad informática que incluyen 19 Deadly Sins of Software Security. Entre otras cosas, como los desbordamientos y la inyección SQL, Michael Howard explica el razonamiento de devolver un error unificado para los inicios de sesión.

HTH

1

todo se trata de dar un atacante tan poca información como sea posible. Algunos sitios van más allá con esto en recordatorios de contraseñas. Cuando ingresa su dirección de correo electrónico para recibir una nueva contraseña o restablecimiento de contraseña, no le informan si su dirección de correo electrónico está registrada en la base de datos, pero le da un mensaje como este: "si la dirección de correo electrónico que ingresó está en nuestra base de datos recibirá un mensaje ... "Esto evita que el atacante descubra qué dirección de correo electrónico utilizó la víctima y también puede anunciarle a la víctima que alguien está intentando ingresar a su cuenta.

Cuestiones relacionadas