¿Debo permitir que los usuarios seleccionen sus propias preguntas secretas para restablecer la contraseña?

4

Estoy creando una aplicación web y en realidad estoy escribiendo un código que permite a los usuarios elegir su pregunta secreta y la respuesta utilizada para identificarlos si olvidan sus contraseñas.

Estoy un poco confundido aquí porque muchos sitios web conocidos ofrecen solo una lista de preguntas restringidas y predeterminadas y no permiten que los usuarios escriban sus propias preguntas secretas. Sin embargo, esto reduce la seguridad, ya que los piratas informáticos pueden adivinar fácilmente las respuestas mediante ingeniería social, recopilación de información ... (bueno, la pregunta secreta ya no es secreta).

¿Existe algún riesgo de seguridad al permitir que las personas almacenen sus propias preguntas secretas y luego les permiten seleccionarlas entre otras preguntas aleatorias cuando necesitan identificarse?

Soy consciente del riesgo de inyección de SQL, así que supongamos que mi código es seguro y que los datos se almacenan de la manera correcta.

    
pregunta storm 29.03.2016 - 09:44
fuente

3 respuestas

7

Usted comenta que es más probable que los atacantes adivinen las preguntas de seguridad predeterminadas que las preguntas definidas por el usuario. Eso supone que su usuario promedio diseñará una pregunta mejor (por ejemplo, más secreta, menos fácil de adivinar) que las personas que implementan el sistema. Esto no parece ser cierto para la mayoría de los usuarios.

En un estudio de laboratorio los sujetos solo pasaron un promedio de 15 segundos con su propia pregunta de seguridad. Eso es muy poco tiempo para pensar en las características de lo que hace que una buena pregunta de seguridad. En un estudio diferente , los investigadores preguntaron a las personas que creaban preguntas de seguridad qué factores consideraban factores importantes al diseñar sus preguntas. El 70% identificó la "memorabilidad" como un factor muy importante, mientras que solo el 44% dijo que la "seguridad" era muy importante. Por lo tanto, permitir que los usuarios escriban sus propias preguntas a menudo resultará en una peor seguridad porque están enfocados en hacer que sean fáciles de responder, no se resistan a adivinar.

Pude observar este comportamiento un poco en un estudio que realicé hace unos años sobre los definidos por el usuario Pares de preguntas / respuestas de seguridad que se filtraron durante varias violaciones de la base de datos del sitio web. Descubrí que muchas de las preguntas eran del mismo tipo de cosas que uno esperaría ver en las listas de preguntas de seguridad predefinidas: nombre de soltera de la madre, nombre de la mascota, lugar de nacimiento. Pero esto incluía preguntas malas como "cuál es tu color favorito", donde algunas respuestas son mucho más probables que otras, y hacer cinco conjeturas (azul, púrpura, verde, rojo, negro) coincidiría correctamente con el 75% de las respuestas de los usuarios.

Peor aún, algunos usuarios elegirían minar completamente la seguridad de la pregunta a través de su elección. Algunos usuarios (15% en un sitio, 2% en otro) harían que la respuesta coincidiera con su pregunta. Un número pequeño (0.2% y 1.8%) incluso incluiría su contraseña como su pregunta. En estos casos, cualquier persona que pueda ver la pregunta podría utilizar esa información para iniciar sesión como usuario. Puede implementar controles para verificar las preguntas a medida que los usuarios las envían e intentar evitar este comportamiento, pero es bastante difícil de aplicar contra un usuario determinado a evitarlo.

Las preguntas de seguridad no son un método muy bueno para autenticar usuarios, pero permitir preguntas definidas por el usuario tiende a ser una solución aún peor. Si está decidido a utilizar preguntas de seguridad, deben ser evaluadas y elegidas por las personas más calificadas para evaluar sus pros y sus contras.

    
respondido por el PwdRsch 29.03.2016 - 18:35
fuente
12

Básicamente, la gente es una tontería al hacer preguntas. Proponen cosas como "Tipo 'secreto' 'o' Mi nombre '; son inútiles en el mejor de los casos y, en el peor de los casos, son muy dañinas (" Contraseña habitual ": la respuesta a la pregunta tenderá a guardarse en texto sin formato. ..). Incluso las preguntas predeterminadas son bastante malas: tienden a ser fáciles de adivinar o de olvidar fácilmente (por ejemplo, si preguntas "¿Cuál fue tu primer auto?", Y tu sitio atiende a personas de 18 años, es una cuestión de mirar en Facebook y casi con seguridad hay una foto de ellos con él ...).

La mejor práctica es enviar por correo electrónico un enlace de restablecimiento de contraseña a la dirección de correo electrónico almacenada (evitando exponer si la dirección ingresada existe o no), que es de tiempo limitado y de un solo uso. Luego puede hacer una pregunta si lo desea, pero como ya ha verificado que tienen acceso a la dirección de correo electrónico asociada a la cuenta, probablemente sea mejor asumir que saben algo que comúnmente se envía por correo electrónico (dirección, fecha de nacimiento, fecha de nacimiento, número de socio). nombre, etc.), por lo que es posible que no agregue mucho, en su caso, en términos de seguridad.

    
respondido por el Matthew 29.03.2016 - 09:55
fuente
2

Además de las otras respuestas, una razón para evitar las preguntas secretas secundarias elegidas por el usuario es que pueden contener contenido "inapropiado".

En general, esto solo es una preocupación cuando la pregunta y la respuesta serán visibles para el personal administrativo (por ejemplo, cuando la pregunta y la respuesta secretas se utilizarán como parte de un proceso de autenticación del centro de llamadas)

    
respondido por el A_Learner 29.03.2016 - 18:58
fuente

Lea otras preguntas en las etiquetas