¿Son realmente seguras las preguntas de seguridad en aplicaciones web?

El uso de preguntas de seguridad en aplicaciones web es un mecanismo común para los sistemas, como un segundo factor de autenticación para escenarios en los que se intenta recuperar la contraseña que se ha olvidado u otras funcionalidades de alto valor. Sin embargo, no nos hemos preguntado si estas son realmente seguras, ya que no siempre es así. Podemos creer que son preguntas personales que nadie podrá conocer o que nadie conoce, pero olvidamos que el mundo de la información es muy amplio y los secretos pueden salir a la luz.

Este mecanismo de restablecimiento está basado en preguntas personales, lo cual también puede ser un problema. OWASP, que es un proyecto sin fines de lucro cuya meta es combatir las vulnerabilidades en aplicaciones web, menciona algunas que son consideradas como malas preguntas de seguridad:¿Cuál es tu fecha de cumpleaños?

  • ¿Cuál es una fecha memorable para ti?
  • ¿Cuál es tu película favorita?
  • ¿Cuál es tu equipo deportivo favorito?
  • ¿Cuál fue tu primer auto?
  • ¿Cuál es el nombre de tu mejor amigo?

¿Por qué son consideradas como malas preguntas? Debido a que pueden ser susceptibles a ser adivinadas o bien, tener alternativas de respuestas mediante otro tipo de técnicas de espionaje empleadas por hackers como la ingeniería social o a través de búsquedas especializadas en internet. Las respuestas a estas preguntas pueden ser encontradas, por ejemplo, al ver el perfil de Facebook de una persona para encontrar su fecha de nacimiento, o con qué persona tiene más interacción a través de las fotos que sube y deducir quien es su mejor amigo(a) sin requerir un gran esfuerzo.

Como desarrollador, algunas de las medidas que se pueden considerar para estos casos es implementar un segundo factor de autenticación, optando por opciones como un token de un solo uso por medio de correo, SMS, etc. Si no es posible prescindir de este mecanismo de preguntas, se aconseja ingresar preguntas que puedan ser un poco más complicadas de investigar. OWASP nos muestra un par de ellas:

  • ¿Cuál es el nombre de la escuela a la cual intentaste ingresar, pero no fue posible?
  • ¿Cuál era el apellido de tu profesor de matemáticas en secundaria o primaria?
  • ¿Cómo se llamaba tu primer peluche?

En ocasiones también es posible optar porque el usuario escriba su propia pregunta y posteriormente su respuesta, sin embargo, esto puede permitir que coloque una pregunta muy sencilla, lo cual incurre en el punto de debilidad de las preguntas vistas previamente.

Como usuario final, al encontrarnos con una aplicación web que hace uso de estos mecanismos, si no es posible elegir el sistema de autenticación podemos responder a una pregunta débil con una respuesta que no coincida y la cual agregue cierta robustez al mecanismo. No obstante, esto podría implicar que se olvide dicha respuesta, por lo que adicional a esto sería bueno hacer uso de programas especializados para guardar secretos o contraseñas, como gestores de contraseña donde la información ingresada es cifrada y posteriormente solo se requiere una sola contraseña para administrar todo lo ingresado. Un ejemplo de este tipo de herramientas es “Password Safe” la cual ayuda a almacenar contraseñas como un llavero y nos permite agregar más datos dentro de su sección de comentarios, tales como las preguntas de seguridad de la aplicación web que hayamos utilizado.

Referencias: