He estado leyendo literatura sobre seguridad, específicamente seguridad / cifrado de contraseña, y me he estado preguntando algo: ¿es la regla de los 3 golpes una solución perfecta para la seguridad de contraseña? Es decir, si el número de intentos de contraseña se limita a un número pequeño, después de lo cual no se aceptarán todas las solicitudes de autenticación, ¿eso no protegerá a los usuarios de intrusiones? Me doy cuenta de que obtener acceso o control sobre algo no siempre significa pasar por el sistema de autenticación, pero ¿esta característica no hace obsoletos los ataques de diccionario / fuerza bruta? ¿Se me escapa algo?
10
Respuestas:
Sí, hará que los ataques de diccionario sean imposibles a través del mecanismo de inicio de sesión . (Sin embargo, eso no significa mucho si obtienen acceso a la base de datos. Por razones de seguridad, tendrá que usar correctamente el hash y la sal de las contraseñas).
También permite la posibilidad de un ataque de DOS contra un determinado usuario. Digamos que quería evitar que inicie sesión. Todo lo que tendría que hacer es ejecutar tres intentos de inicio de sesión falsos en su cuenta, y luego volver a hacerlo cada vez que haga lo que sea necesario para restablecer el inicio de sesión. Tratar con ese problema es un poco más complicado.
fuente
También estoy de acuerdo en que hace que los ataques de diccionario sean menos efectivos como formas de obtener acceso a una cuenta sin la autorización adecuada. Sin embargo:
Este enfoque podría convertir un ataque de diccionario en un ataque de DOS contra el sistema que impide el acceso si se implementa mal. Por ejemplo, un servidor podría inundarse con intentos de autenticación. Una forma de evitar esto es hacer que el servicio de autenticación controle el flujo de accesos posteriores a una cuenta bloqueada. Por ejemplo, si una cuenta está bloqueada, presente un retraso antes de cada intento de inicio de sesión posterior. Sin embargo, se podría retrasar un intento de inicio de sesión y un "acceso denegado", que mantiene la puerta abierta a un ataque distribuido de denegación de servicio en el que un atacante lanza muchos intentos de autenticación simultáneos.
Como se mencionó en la otra respuesta, esto también podría convertir un ataque de diccionario en un crudo DOS contra el propietario legítimo de la cuenta que está siendo atacada. Las formas de mitigar el impacto para el propietario legítimo incluyen:
Si su temor es penalizar inadvertidamente a un usuario olvidadizo como si fuera un atacante, en lugar de controlar el flujo de intentos fallidos de inicio de sesión después de un número fijo de intentos fallidos, puede usar la frecuencia de los intentos de inicio de sesión como evidencia de que una cuenta está siendo atacada. Por ejemplo, si ve 10 intentos de autenticación en el lapso de un segundo, puede usar uno de los métodos anteriores para evitar más intentos de autenticación similares. Alternativamente, puede utilizar esta rápida inundación de intentos de inicio de sesión como una señal para comenzar a controlar el flujo. Este método se está volviendo cada vez más popular en los foros, mientras que, después de una cierta cantidad de intentos fallidos de inicio de sesión desde una IP en particular, se impide que la IP se autentique por un corto período de tiempo.
Finalmente, una buena manera de evitar que un usuario sea atacado repetidamente por un ataque DOS es permitiéndole restablecer tanto su contraseña como su nombre de usuario . En otras palabras, trate tanto el nombre de usuario como la contraseña como secretos. Cuando el nombre de usuario se usa en otro lugar (por ejemplo, en un foro, si el nombre de usuario es el nombre para mostrar del usuario), simplemente trate este nombre como algo separado. Este enfoque generalmente es utilizado por las redes sociales donde el nombre de usuario utilizado en la autenticación es la dirección de correo electrónico de uno, algo que se puede cambiar, pero rara vez se comparte, mientras que el nombre para mostrar utilizado en el sitio es algo definido por el usuario que puede o no ser cambiado.
De todos modos, espero que una o alguna combinación de estos enfoques sean útiles.
fuente