¿La contraseña Hash / Salted realmente ayuda cuando se compromete la base de datos?

5

Me encontré con este artículo y obtuve una comprensión básica del ataque de hash, sal y fuerza bruta.

Mi pregunta está en el artículo, el autor enfatiza lo difícil que es revertir la contraseña de hash / salted a la original. Pero si el intruso tiene acceso de escritura a la base de datos, puede

  1. crea una nueva cuenta con pwd "12345678"
  2. grabe el hash "69410532sfb9234234" (solo un ejemplo)
  3. cambiar otras cuentas hash pwd en "69410532sfb9234234"
  4. iniciar sesión desde el front-end como otro titular de cuenta a través de pwd "12345678"
  5. beneficio

¿Perdí algo aquí? ¿O es casi imposible obtener acceso de escritura a db? Las últimas bases de datos steam y psn no proporcionan ningún detalle si el acceso de escritura está comprometido.

    
pregunta Will 18.11.2011 - 02:40
fuente

3 respuestas

19

Hashing contraseñas es una defensa contra un ataque específico. El ataque es: robar una copia del archivo de contraseñas completo (tabla de usuarios, ldap db, etc.), descargarlo en la computadora e intentar recuperar las contraseñas de los usuarios. El objetivo del ataque es: buscar usuarios que reutilicen sus nombres de usuario y contraseñas en los sitios web, e iniciar sesión en las cuentas de correo electrónico, el banco, la red social y otras cuentas de esos usuarios.

La defensa de hashing-passwords funciona así: las contraseñas no se almacenan directamente, y cualquier intento de recuperar las contraseñas originales requiere que el atacante realice una gran cantidad de trabajo, al menos en comparación con el trabajo requerido para compruebe si la contraseña que ingresa el usuario al iniciar sesión coincide con la contraseña del archivo. Existen múltiples variaciones en esta defensa, que incluyen elegir mejores hashes, sembrar los hashes, iterar los hashes, etc., cuyo objetivo es mejorar la defensa de lo contrario y defenderse de las variantes del ataque que son capaces de sortear. Las defensas más simples.

La defensa de contraseñas de hash no es una defensa contra cualquier ataque. Por ejemplo, no ayuda contra un ataque en el que el atacante obtiene acceso de escritura arbitrario a la base de datos, vuelve a escribir las contraseñas de todos los usuarios a las suyas e inicia sesión en todas las cuentas de los usuarios en ese sitio web. La defensa solo se defiende contra el ataque de robo de contraseñas sin conexión.

Por lo tanto, debes conocer los diferentes tipos de ataques y defenderte de cada uno de ellos utilizando una defensa que funcione contra ese tipo de ataque.

    
respondido por el yfeldblum 18.11.2011 - 03:02
fuente
4

Tienes razón, si un atacante obtiene acceso de escritura, puede cambiar las contraseñas de otras personas y obtener acceso a las cuentas. El propósito principal de las contraseñas de salado es elevar el nivel de las contraseñas de descifrado (lo que podría ser útil incluso si un atacante tiene acceso de escritura, ya que descubrir la contraseña de alguien podría otorgarle acceso a las otras cuentas de ese usuario, ya que las personas reutilizan las contraseñas todo el tiempo).

Ahora, dicho esto, es importante recordar algunas sutilezas cuando se trata de los beneficios de las sales. Por ejemplo, si el atacante solo se preocupa por descifrar su contraseña individual, las sales no ayudan mucho. Solo ayudan cuando el atacante intenta descifrar tantas contraseñas como sea posible.

Por ejemplo, supongamos que hay N contraseñas posibles y M sales posibles. Si el atacante quiere descifrar su contraseña individual, extraerá su sal de la base de datos y probará todas las contraseñas N, y finalmente la obtendrá.

Ahora, si el atacante solo quiere descifrar el mayor número posible, tendrá que probar cada una de las contraseñas N con cada una de las sales M, lo que significa que tendrá que hacer cálculos de NM.

    
respondido por el mikeazo 18.11.2011 - 02:56
fuente
-2

Como nota aparte, es útil incluir el nombre de usuario / ID de usuario como un salt adicional para la contraseña. De ese modo, dos usuarios con la misma contraseña no obtendrán la misma contraseña con hash.

    
respondido por el Gary 18.11.2011 - 13:06
fuente

Lea otras preguntas en las etiquetas