Una forma adecuada de documentar y registrar ataques de fuerza bruta al crear una cuenta de usuario

0

Tenemos el siguiente caso de uso:

Los usuarios pueden registrarse automáticamente para una cuenta comercial al completar un formulario de validación con su ID, nombre, apellido y fecha de nacimiento. La identificación es algo que solo el usuario sabe de antemano. Los usuarios tienen 5 intentos para hacer coincidir toda su información.

Estamos planeando mantener un par de tablas en una base de datos en la que almacenamos los intentos de validación:

Table 1 columns: id, attempts
Table 2 columns: id, fname, lname, dob

Las tablas 1 y 2 tienen una relación de muchos. Este es un ejemplo de lo que sucede si el usuario intenta adivinar el nombre, el apellido y el DOB 5 veces antes de que esté bloqueado. La aplicación comprueba la columna de intentos de la tabla 1 y si es 5 o más de 5 para una ID específica, la cuenta de usuario (con esa ID específica) se trata como bloqueada.

table 1
id   attempts
1234  5

table 2
id    fname   lname  dob
1234  john     doe   19900101
1234  jane     doe   19900101
1234  jason    doe   19900101
1234  john     dae   20010102
1234  roger    smith 19960101

El problema con el enfoque anterior es que solo estamos rastreando los intentos fallidos por ID. ¿Qué pasa si el usuario intenta cambiar la ID y atacar? ¿Manteniendo el primer nombre, apellido y fecha de nacimiento y adivinando el ID?

¿Quizás necesito repensar el diseño de la tabla de validación y mi enfoque para resolver el problema de que el usuario intente adivinar la identificación? ¿O hay una mejor manera de pensar en este problema?

    
pregunta user6123723 12.07.2016 - 00:20
fuente

0 respuestas

Lea otras preguntas en las etiquetas