¿Incrementar un hash aumenta el riesgo de denegación de servicio (DoS) y la protección de fuerza bruta lo mitiga?

0

Descargo de responsabilidad: noté varias preguntas en este sitio, pero ninguna responde realmente a estas dos preguntas directamente. Por lo tanto, no considero este duplicado.

Personalmente, me gusta mucho el artículo llamado Algunas palabras sobre uso de contraseña, salado y estiramiento de Michael Anders explicando por qué el estiramiento es importante.

  

Para el usuario legítimo, no importa si el programa necesita un microsegundo para verificar la contraseña o una décima de segundo. Él no notará la diferencia. Para el atacante puede ser la diferencia entre 1 día para una búsqueda exhaustiva o el tiempo de 100 mil veces de 300 años.

Me pregunto si el estiramiento extenso aumenta el riesgo de una denegación de servicio (DoS) causada por el agotamiento de los recursos. Es probable que sea más fácil usar más recursos del servidor cuando se realizan múltiples intentos de inicio de sesión (no con el propósito de iniciar sesión, forzar la fuerza bruta, sino con el propósito de causar un DoS).

En segundo lugar, ¿una simple protección de fuerza bruta que impida que la contraseña llegue a la función de comprobación de contraseña (incluido el hashing y el estiramiento) después de una cantidad X de intentos fallidos de inicio de sesión, posiblemente evitaría este tipo de DoS (por agotamiento de recursos)? / p>     

pregunta Bob Ortiz 28.07.2016 - 11:52
fuente

1 respuesta

2

1) En cierto sentido, sí, ya que comparar la contraseña con un hash extendido requerirá más tiempo de CPU. Pero en cualquier caso, debe tener alguna limitación de velocidad para evitar contraseñas de adivinación por fuerza bruta, y al hacerlo, puede tener en cuenta el potencial de DoS. Además, los intentos de inicio de sesión no serán la única forma de (intentar y) hacer algo de lo que debe hacer, es posible que también obtenga una carga excesiva de otras solicitudes, o simplemente que reciba una cantidad excesiva de tráfico de red, evitando que las solicitudes legítimas le lleguen.

Creo que hacer que sea más difícil descifrar las contraseñas en caso de que una base de datos de contraseñas filtrada valga la pena, pero, por supuesto, es una compensación. Debe tener en cuenta la cantidad esperada de inicios de sesión (válidos) y que el sistema pueda manejarlos. Con millones de usuarios, el estiramiento podría comenzar a pasar factura.

2) Sí, si en algún momento los intentos de conexión de límite de velocidad y comienza a denegarlos por completo, sería un trabajo inútil ejecutar el hash completamente para un inicio de sesión que será denegado. Sin embargo, devolver un error inmediatamente revelará a través del tiempo que la contraseña ni siquiera se comprobó.

    
respondido por el ilkkachu 28.07.2016 - 12:30
fuente

Lea otras preguntas en las etiquetas