Hoy, como muchas otras veces en el pasado, firmó un nuevo servicio y recibió un mensaje de error común:
Tu nombre de usuario o contraseña no son válidos
Esta vez me pregunto qué tan útil es notificar a "contraseña no válida O usuario" en lugar de un esquema de dos mensajes menos común pero más útil con el problema real: "usuario desconocido", "contraseña no válida"
Mi pensamiento fue que un sistema que no especifica si el nombre de usuario es válido, podría ser más seguro porque no expondrá los nombres de usuario válidos. Sin embargo, ¿qué tan práctico es esto en la vida real? Aunque habilita la posibilidad de minar una lista de nombres de usuario. ¿Cuánta amenaza puede ser eso? ¿Realmente vale la pena degradar un poco la experiencia de usuario de inicio de sesión (error ambiguo) a cambio de ocultar la lista de usuarios?
En este momento, la idea de exponer la lista de nombres de usuario válidos parece ser algo muy malo. Sin embargo, no estoy realmente seguro de que sea una paranoia de seguridad injustificada que no sea realmente práctica. Incluso si un atacante puede obtener una lista de buenos nombres de usuario que podría intentar atacar por fuerza bruta, pero si los nombres de usuario se hacen públicos (como en un foro), ¿es solo paranoia evitar exponer nombres de usuario válidos?
ACTUALIZACIÓN :
En un foro, por ejemplo, un rastreador web sería mucho más eficiente para recopilar nombres de usuario que un generador de nombres de usuario Brute Force Logger. Me preguntaba si hay casos válidos en los que los errores de registro ambiguos sean prácticos en absoluto.