Si se compromete una contraseña, ¿se compromete también una contraseña "similar"?


37

Suponga que un usuario usa una contraseña segura en el sitio A y una contraseña segura diferente pero similar en el sitio B. Quizás algo así como mySecure12#PasswordAen el sitio A y mySecure12#PasswordBen el sitio B (siéntase libre de usar una definición diferente de "similitud").

Supongamos entonces que la contraseña del sitio A está de alguna manera comprometida ... tal vez un empleado malicioso del sitio A o una fuga de seguridad. ¿Significa esto que la contraseña del sitio B también se ha visto comprometida, o no existe una "similitud de contraseña" en este contexto? ¿Hace alguna diferencia si el compromiso en el sitio A fue una fuga de texto sin formato o una versión hash?

Respuestas:


38

Para responder primero a la última parte: Sí, marcaría una diferencia si los datos divulgados fueran de texto sin cifrar frente a hash. En un hash, si cambia un solo carácter, todo el hash es completamente diferente. La única forma en que un atacante sabría la contraseña es forzar el hash por fuerza bruta (no es imposible, especialmente si el hash no tiene sal. Ver tablas de arcoíris ).

En cuanto a la pregunta de similitud, dependerá de lo que el atacante sepa de ti. Si obtengo su contraseña en el sitio A y sé que usa ciertos patrones para crear nombres de usuario o similares, puedo probar esas mismas convenciones sobre las contraseñas en los sitios que usa.

Alternativamente, en las contraseñas que proporcione anteriormente, si yo como atacante veo un patrón obvio que puedo usar para separar una parte de la contraseña específica del sitio de la parte de la contraseña genérica, definitivamente haré esa parte de un ataque de contraseña personalizado adaptado para ti.

Como ejemplo, supongamos que tiene una contraseña súper segura como 58htg% HF! C. Para usar esta contraseña en diferentes sitios, agregue un elemento específico del sitio al principio, de modo que tenga contraseñas como: facebook58htg% HF! C, wellsfargo58htg% HF! C, o gmail58htg% HF! C, puede apostar si yo piratee su facebook y obtenga facebook58htg% HF! c Voy a ver ese patrón y usarlo en otros sitios que creo que puede usar.

Todo se reduce a patrones. ¿El atacante verá un patrón en la parte específica del sitio y la parte genérica de su contraseña?


44
acabas de hacer 58htg%HF!cinútil mi contraseña predeterminada en todas partes , muchas gracias
Tobias Kienzler

1
¡Guauu! ¿Cuáles fueron las probabilidades? No salgas a las tormentas eléctricas por un tiempo.
queso

hm, aunque debería jugar a la lotería: -7 (+1 por cierto)
Tobias Kienzler

11

¡Realmente depende de a qué te refieres!

Hay un número arbitrario de métodos para determinar si una contraseña es similar a otra. Digamos, por ejemplo, que usa una tarjeta de contraseña , y que de alguna manera otra persona tiene la misma (o simplemente sabe cuál tiene). Si comprometen una de sus contraseñas y pueden ver que es solo una fila en la tarjeta de contraseña, es probable que adivinen (tal vez incluso correctamente) que todas sus contraseñas se derivan de esa tarjeta de manera similar.

Pero, para la mayoría de las cosas, esto realmente no es un problema en absoluto. Si su contraseña en el servicio A difiere de la contraseña en el servicio B en un solo carácter, y ambos servicios son seguros (por ejemplo, almacenar hashes salados para su contraseña en lugar del hash directo o el texto sin formato), entonces es "computacionalmente inviable" para determinar si las contraseñas son similares, y mucho menos qué tan similares son.

Una respuesta breve es esta: si sus contraseñas siguen algún tipo de patrón, entonces sí, es probable que el compromiso de una contraseña conduzca al compromiso de otras. Sin embargo, eso no significa que sea factible hacerlo. Mientras tú:

  1. Nunca use la misma contraseña para más de un servicio,
  2. Introduzca algún elemento aleatorio (aunque solo sea un poco) en la generación de sus contraseñas, y
  3. Nunca transmita ni guarde sus contraseñas en texto sin cifrar

Deberías estar bien. Y recuerde tener siempre contraseñas diferentes para diferentes servicios: no use simplemente la misma contraseña para todo y ni siquiera use la misma contraseña dos veces. Es importante protegerse contra las compañías estúpidas que se niegan a seguir las mejores prácticas cuando se trata del almacenamiento de datos de usuario, como contraseñas.


7

Mi respuesta corta es SI . Por ejemplo: strongpassword + game.com comprometido,

Si soy un atacante, es realmente fácil para mí entender el patrón que usaste y probarlo en otros sitios web. Por ejemplo strongpassword + paypal.com

Argh! ....

Para solucionar esto, yo personalmente uso:

hash ( strongpassword+game.com )
hash ( strongpassword+paypal.com )

Usando propiedades matemáticas sobre el hash (uso sha1), conociendo la primera contraseña es difícil descubrir una contraseña segura y la segunda contraseña.

Si desea más detalles, hice una entrada en el blog sobre seguridad de contraseña que responde exactamente a su pregunta:

http://yannesposito.com/Scratch/en/blog/Password-Management/

También creé algunas herramientas para facilitar la administración de todas mis contraseñas, porque debe poder cambiar una contraseña comprometida, recordar la longitud máxima de una contraseña, etc.


1
SHA-1 ya no se considera matemáticamente seguro.
Hola71

44
@ Hello71, ¿tienes una fuente para eso? Me daría curiosidad leer más.
nhinkle

tinsology.net/2010/12/is-sha1-still-viable es un caso limitado, pero ser capaz de buscar los primeros 6 caracteres del espacio de teclas que rápidamente en los recursos alquilados significa que alguien con botnets y tablas de arcoiris puede hacer mucho más. . Como regla general, todas las demás cosas son iguales, lo que sea que el hash / cifrado desperdicie la mayor cantidad de ciclos de CPU en fuerza bruta es lo mejor. :)
Stephanie

4

Esto depende de lo que le preocupe. Para un ataque automatizado a gran escala usando credenciales de un sitio en otros, el atacante irá primero por la parte más fácil: las personas que usan exactamente la misma contraseña. Una vez que se ha agotado, si el ataque aún pasa desapercibido, el atacante buscará lo que él cree que son patrones comunes, probablemente algo así como contraseña base + sitio.

Un atacante inteligente que esté seguro de que su ataque original (el que obtuvo sus contraseñas) pasó desapercibido haría este procesamiento antes de usar las contraseñas que extrajo. En ese caso, cualquier modificación predecible es peligrosa, según lo obvio que sea para el atacante.

Si su contraseña es, por ejemplo, un prefijo más un elemento aleatorio, y el atacante sospecha esto, y el atacante tiene su hash de contraseña en otro sitio, puede obtener su otra contraseña un poco antes.

Puede crear sus contraseñas haciendo hash algo predecible, pero si esta práctica se vuelve común o si está recibiendo atención personal de su atacante, eso no lo salvará. En cierto modo, la seguridad de la contraseña es una cuestión de arbitraje de popularidad.

tl; dr no hagas nada determinista.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.