¿El almacenamiento de contraseñas antiguas en Facebook compromete la seguridad? [duplicar]

34

Facebook almacena hashes de contraseñas antiguas (junto con el antiguo salt), de modo que si intenta iniciar sesión con una contraseña anterior, Facebook le informa que actualizó la contraseña (y cuándo). Buena experiencia de usuario. Excepto que este sitio no es ux.stackexchange.com .

Entonces, ¿qué amenazas a la seguridad son presentadas por esto?

Vea también sobre Facebook que almacena contraseñas antiguas aquí y aquí .

    
pregunta dave 23.09.2016 - 11:37
fuente

4 respuestas

32

Las otras respuestas parecen bastante razonables, pero quería agregar algunas posibilidades.

Si un atacante recupera una o más de sus contraseñas de otras violaciones, parece que conectarlas a la interfaz de usuario de Facebook podría filtrar al menos algunos tipos de información:

  • Si usaste la contraseña en múltiples servicios o no.
  • Con las fechas de divulgación conocidas de la infracción, también podrían obtener un punto de datos sobre el tiempo que tardó en actualizar la contraseña.

Si la coincidencia de patrones en las contraseñas recuperadas sugiere un posible iterador o un patrón de mutación en su contraseña, también parece que un atacante también podría probar una o dos contraseñas que no hayan visto para admitir o refute una tesis sobre cómo evolucionan sus contraseñas con el tiempo.

Supongo que cualquier atacante es algo limitado en cuanto a la cantidad de pruebas que podrían realizar sin que alguien lo notara, pero parece que la información en este sentido podría informar a las heurísticas sobre cómo los usuarios conocidos cambian sus contraseñas, mejorar las estadísticas sobre qué tan comunes son los diferentes patrones de actualización. son, y ayudan a afinar las listas de prioridades de los usuarios / cuentas que son más vulnerables.

Estos parecen ser riesgos bastante pequeños a nivel individual, pero también parece que ( la publicación de Martin Bos sobre el craqueo de hash en la violación de LinkedIn es instructiva) las pequeñas mejoras heurísticas se convierten en palancas muy buenas para recuperar más contraseñas en una violación a gran escala y al mismo tiempo mejora la heurística / palanca.

    
respondido por el abathur 23.09.2016 - 17:50
fuente
6

Esto también lo hacen los sistemas que le impiden reutilizar las contraseñas. Si, por ejemplo, en Windows necesita cambios mensuales de contraseña y no se reutiliza ninguna contraseña del año anterior, el archivo de contraseña contendrá su hash de contraseña actual + los 11 anteriores.

Es un riesgo para la seguridad si los hashes de contraseña caen en las manos equivocadas y se descifran, si alguien usó su contraseña anterior en cualquier otro sitio. Un usuario puede razonablemente esperar que una contraseña haya desaparecido de la base de datos después de que la haya cambiado.

    
respondido por el Mark Koek 23.09.2016 - 12:08
fuente
5

TL; DR El riesgo de seguridad solo aumenta en el caso de una violación de la base de datos donde las contraseñas más antiguas se almacenan en un factor de trabajo más débil

Una cosa más, es el robo directo de una contraseña a través de un virus en la computadora de la víctima. Podría ser útil saber con seguridad que la contraseña alguna vez fue válida, y luego probar algunas variaciones en esto, pero esto solo tendría un efecto limitado ya que este ataque probablemente requerirá una Fuerza Bruta en línea que probablemente fallará.

Un sitio de esta importancia ya debería estar utilizando un Hash de contraseña segura como BCrypt ya con el apropiado Salt & Pimienta.

En este caso, si los hashes están comprometidos, el atacante tendría que Brute Force una multitud de contraseñas posibles, para que se pueda determinar la contraseña original. Esto puede llevar mucho tiempo si la contraseña tiene un nivel de entropía decente. Sin embargo, algunos usuarios son perezosos y usarán contraseñas simples. Aquellos serán rajados primero.

Hay dos tipos de fuerza bruta a considerar.

  1. Fuerza bruta en línea, que normalmente no te llevará muy lejos. Los servidores públicos del sitio solo deberían permitirle probar un número limitado de contraseñas en un período de tiempo determinado antes de que se presente Captcha, limitando severamente el número de contraseñas posibles que pueden intentarse.

    También debería haber capas adicionales de seguridad. Por ejemplo, si suficientes intentos autorizados por Captcha continúan fallando, entonces deberían bloquear la cuenta o bloquear esa IP.

    Es probable que no haya riesgos de seguridad adicionales para este tipo de ataque.

  2. Offline Brute Force es cuando la base de datos está comprimida y los hashes son robados. En este caso, no solo se filtran los últimos hashes, sino también los más antiguos, porque, como usted dice, no se borraron.

    En este caso, tampoco existe un riesgo adicional para la seguridad, ya que el resquebrajamiento de hashes antiguos no servirá de nada.

    Una excepción a esto es si se ajustó el factor de trabajo. Las contraseñas más antiguas pueden almacenarse en un Factor de trabajo más débil, en cuyo caso el atacante descifraría primero la anterior, y la usaría como una sugerencia potencial para descifrar la contraseña más reciente.

    Una vez que un hash fuera de línea es forzado por la fuerza bruta, un atacante usaría esa contraseña para acceder a la cuenta del sitio principal, o probar otros sitios (es decir, correo electrónico o banca en línea) donde el usuario puede haber reutilizado misma contraseña. (así que no reutilice las contraseñas)

respondido por el George Bailey 23.09.2016 - 16:04
fuente
0

El mayor riesgo en relación con el servicio en cuestión es como máximo comparable a

  • permitiendo a los usuarios mantener sus contraseñas sin cambios durante un período de tiempo prolongado (correspondiente a la edad del hash almacenado más antiguo)
  • suponiendo que el número de ataques es mayor en un factor correspondiente al número de hashes almacenados.

Con respecto a otros servicios, el riesgo solo aumenta si una de las contraseñas antiguas sigue siendo válida para otro servicio, lo que no debería hacer de todos modos.

Sin embargo, si dicho servicio hace que las contraseñas antiguas sean válidas para el uso de algo (por ejemplo, permite una contraseña antigua como autenticación en un proceso de contraseña perdida) el riesgo aumenta drásticamente.

    
respondido por el Hagen von Eitzen 23.09.2016 - 16:51
fuente

Lea otras preguntas en las etiquetas