¿Es la recomendación común ocultar la existencia de un nombre de usuario en el inicio de sesión solo en el teatro de seguridad? [duplicar]

0

Es una recomendación común devolver "El nombre de usuario o la contraseña son incorrectos" en lugar de "El nombre de usuario no existe" cuando el nombre de usuario no existe y "La contraseña es incorrecta" cuando el nombre de usuario existe pero la contraseña es incorrecta.

La razón generalmente citada es que no desea proporcionar a un atacante con el conocimiento de que existe un nombre de usuario, para evitar ataques de fuerza bruta en línea.

Sin embargo, si el nombre de usuario se usa para iniciar sesión, tiene que ser único y, por lo tanto, deberá informar al usuario de que el nombre de usuario elegido se toma mientras crean una cuenta. Por lo tanto, un atacante puede determinar fácilmente si existe un nombre de usuario incluso si solo dices que "el nombre de usuario o la contraseña son incorrectos" al iniciar sesión.

Pero incluso si no existe una página de registro, o se toman otras medidas para ocultar la existencia de nombres de usuario en el registro, esta recomendación aún no tiene sentido. Los nombres de usuario no están diseñados para ser secretos. La mayoría de las personas reutilizan los nombres de usuario, y son fáciles de encontrar. Y mantenerlos en secreto solo mejora la seguridad en la medida en que aumenta el tamaño total de su secreto, lo que puede lograrse con las contraseñas necesarias más largas.

Y además, hay mejores formas de prevenir los ataques de fuerza bruta en línea que los secretos más largos. Limitar la tasa de usuarios en el inicio de sesión, que un algoritmo hash de contraseña correctamente lento como bcrypt ya lo hace implícitamente, o proporcionar un tiempo de espera después de muchos intentos incorrectos, resuelve este problema mucho mejor que un secreto más largo.

¿Hay algo más que me esté perdiendo? Incluso en este sitio veo personas que defienden esta práctica, pero todavía tengo que ver una razón que no se resuelve mejor con otros métodos.

Editar: Como seguimiento, si esta recomendación realmente no es útil, ¿por qué sigue siendo común? ¿Y de dónde vino?

    
pregunta PaintingInAir 09.03.2018 - 23:30
fuente

2 respuestas

1

A veces hay una razón legítima para dicha protección. Para dar un ejemplo que he observado personalmente (detalles), el sitio web de un proveedor médico que se especializa en un tipo particular de tratamiento (posiblemente algo estigmatizado, como la reasignación de sexo o el reemplazo hormonal, el asesoramiento sobre el suicidio o la adicción a las drogas, el aborto, el tratamiento de las ITS). , etc.) definitivamente debería tener tales protecciones, porque el simple hecho de saber si alguien tiene una cuenta con el proveedor constituye una violación de la confidencialidad del paciente (en la práctica, ya sea legal o no).

Por supuesto, también debe proteger la página de registro, en ese caso, tal vez la página de registro nunca muestre un error, simplemente dice "revise su correo electrónico para los próximos pasos", ya sea que el usuario esté en el sistema o no. quizás el registro requiera alguna información privada además de la dirección de correo electrónico habitual + contraseña, y todas las otras vías para detectar cuentas existentes (páginas de contraseña olvidadas, etc.). Sin embargo, eso es totalmente factible.

El mismo principio se puede aplicar a otras cosas donde se desea privacidad. Servicios de citas en línea, tiendas de juguetes / películas "para adultos", cualquier tipo de sitio social donde los usuarios estén siempre bajo seudónimos, servicios legales especializados, cualquier tipo de informe de problemas o servicio similar en el que alguien quiera tomar represalias (por ejemplo, sitios de denuncia de irregularidades) , y así sucesivamente.

Cuando se llega a esto, hay relativamente pocos escenarios en los que no preferiría tener tales protecciones (la única clase que inmediatamente viene a la mente es un sitio de redes sociales / colaboración / etc. explícitamente no anónimos). Para la mayoría de los sitios, probablemente no sea un gran problema, pero en general, a menos que tenga una razón para dejar en claro quién está usando su sitio, debe tratar de evitar la filtración de nombres de usuarios. Hay suficientes personas que prefieren la privacidad que al menos vale la pena tener en cuenta, y aunque en teoría debería ser tarea del usuario asegurarse de que no están utilizando nombres de usuario / direcciones de correo electrónico que puedan rastrearse en múltiples sitios, en la práctica la gente es mala en / don No sé cómo hacer eso.

EDITAR: No leí todos los comentarios primero; @schroeder lo consigue.

    
respondido por el CBHacking 10.03.2018 - 03:15
fuente
0

Lo que te falta es el elemento crucial para la definición de "teatro de seguridad": no hay seguridad mejorada.

Decir que las pautas generales no proporcionan seguridad mejorada en ciertos casos no hace que la pauta sea el teatro de seguridad. Al igual que con cualquier guía, recomendación, mejores prácticas, sugerencias u opiniones, debe haber una evaluación de riesgos , que es de lo que carece el teatro de seguridad.

Si una guía, como la forma de tratar la mensajería para las contraseñas incorrectas, no ofrece mejoras en una instancia en particular, realice la evaluación de riesgos. Pero si va en contra de un estándar de la industria, debe asegurarse de haber contabilizado todos los riesgos potenciales que no haya considerado (como la privacidad). Si ha tenido en cuenta todas las amenazas, tome la mejor decisión.

El único problema que tengo con su preocupación acerca de esta guía general en particular es por qué usted no lo sigue. No estoy seguro de qué se gana al no usar este mensaje en particular. Pero, si tiene un caso de negocios legítimo, y la evaluación de riesgos lo justifica, tome la mejor decisión.

    
respondido por el schroeder 10.03.2018 - 09:30
fuente

Lea otras preguntas en las etiquetas