¿Es posible que descifrar una contraseña no tenga sentido para un atacante con acceso a la base de datos?

2

He estado leyendo información sobre cómo hacer que las contraseñas sean seguras, pero ¿cuáles son las razones por las que un atacante querría esforzarse para obtener la contraseña original? Si un atacante realmente tiene una copia de la base de datos, entonces tiene una copia de la base de datos y toda la información que obtendrían al iniciar sesión en la cuenta.

Estas son algunas de las razones por las que puedo pensar:

El usuario puede estar usando la contraseña en un sitio diferente. Algunos de los datos de los usuarios pueden estar encriptados. El atacante puede querer acceder a la cuenta más tarde. El atacante puede querer modificar los datos de los usuarios y solo tuvo acceso de lectura a la base de datos del servidor. El atacante no obtuvo toda la información de la base de datos.

¿Las políticas como la autenticación de dos factores y la selección de una contraseña aleatoria para un usuario hacen que descifrar una contraseña no valga para un atacante que ya ha tenido acceso a la base de datos?

    
pregunta DarkChowder 21.09.2015 - 22:23
fuente

3 respuestas

5

TL; DR: La respuesta es no. No se puede detener a un usuario para que reutilice la contraseña aleatoria dada en otros sitios, por lo que una contraseña basada en texto siempre tendrá valor para un atacante. Esto se aplica a todos los sitios con nombres de usuario y contraseñas.

Hacer cumplir las contraseñas aleatorias rara vez funcionan: hace que sus usuarios (clientes) desaparezcan. Sugerir contraseñas aleatorias, y ofrecer una herramienta de generación, son buenas ideas, siempre que no sean obligatorias. Sin embargo, incluso si logra atraer a sus usuarios para que usen contraseñas generadas aleatoriamente para su sitio, no puede evitar que usen las mismas contraseñas en otro sitio. Se puede esperar que después de haber hecho el esfuerzo de recordar una contraseña aleatoria, una proporción sustancial de los usuarios encontrarán inteligente reutilizar ese esfuerzo, es decir, reutilizar la misma contraseña en otro lugar.

Esta es una propiedad muy general: mientras un usuario "sepa" su contraseña (y ciertamente debe saberla para poder escribirla), entonces puede reutilizar esa contraseña en otros sistemas que están fuera de su alcance. No puede hacer nada al respecto, excepto tratar de explicar a los usuarios por qué no es una buena idea.

En cuanto a la autenticación de dos factores: cuando está allí, es por una razón, es decir, porque un factor no era suficiente. Si un atacante descifró una contraseña de usuario, entonces los dos factores del usuario se reducen a un solo factor. Si un factor no es suficiente, entonces no es suficiente . O, dicho de otro modo, si los usuarios se autentican con una contraseña y un teléfono móvil, y descifrar la contraseña no es un problema, entonces ¿por qué molestarse con las contraseñas? Solo usa el teléfono.

    
respondido por el Thomas Pornin 21.09.2015 - 23:07
fuente
4

Por al menos dos razones principales que vienen a la mente inmediatamente (sin duda hay más):

Primero, violar una base de datos de inicio de sesión para un servicio web no es lo mismo que iniciar sesión en una cuenta o usar el servicio. Por ejemplo, si infringiera de alguna manera la base de datos de autenticación de usuarios de Amazon (que nunca intentaría hacer, y que nunca, jamás lograría, incluso si lo intentara), eso sería algo muy diferente a realmente entrar y ordenar cosas como alguien más para el contenido de mi corazón, o comprar & Ver películas en línea, o lo que sea. De manera similar, como lo mencionó otra persona, querría la contraseña del sitio de un banco para que luego pueda iniciar sesión y realizar alguna transacción que le haya beneficiado, o copiar alguna información secreta de pago financiero que pueda usar para cometer un fraude financiero de otra manera, o algo en ese sentido. Un hash de contraseña, o incluso una contraseña en sí, es solo una cadena de bits sin sentido si no te ayuda a tener acceso a algo en algún lugar. Y si desea abusar de la cuenta de alguien para obtener acceso a un servicio determinado, debe deshacer el hash de su hash de contraseña en el original para hacerlo. Y hágalo antes de que el servicio se dé cuenta de que su base de datos de autenticación de usuario ha sido violada y restablece todas las contraseñas expuestas.

Segundo, los seres humanos, en conjunto, son bastante malos para usar las contraseñas correctamente. Mucha gente, una pequeña minoría, relativamente hablando, pero aún así mucha gente en términos absolutos, elegirá contraseñas increíblemente débiles / adivinables, como estoy seguro de que saben. Pero una minoría aún más grande reutilizará las contraseñas entre diferentes servicios y amp; sitios E incluso reutilizar contraseñas entre servicios y sitios importantes en comparación con servicios y sitios mucho menos importantes. Por lo tanto, si un pirata informático infringe la base de datos de autenticación de usuarios de megastupidsportsaroundearthth.com y obtiene (al extremo) direcciones de correo electrónico y contraseñas de texto simple para un millón de personas, es una buena apuesta miles o incluso decenas de miles de esos inicios de sesión también lo harán en la puerta en varios sitios bancarios, los principales minoristas en línea, servicios de correo electrónico, etc., etc. en la red también. Entonces, incluso si megastupidsportsaroundearth.com invalida todas las contraseñas que se tomaron inmediatamente después de la violación, las combinaciones de dirección de correo electrónico y contraseña permanecerán activas en todos los otros sitios donde el usuario las estaba utilizando. (A menos que, quizás , su banco tenga una operación de ciberseguridad que está rastreando activamente la red oscura para recopilar las credenciales de usuario robadas para su sitio y cancelarlas antes de que los malos puedan usarlas. si su banco es uno de la minoría que está haciendo esas cosas hasta ahora.

Reutilización de contraseñas con cuentas importantes: solo di no. :)

    
respondido por el mostlyinformed 22.09.2015 - 04:43
fuente
2

Por lo tanto, un aspecto que no mencionaste pero que puede valer la pena. El atacante solo puede tener una copia de la base de datos y no la base de datos en vivo. En este caso, él / ella tendría acceso a todos los datos hasta que los robara, pero no en curso. Tener contraseñas le permitiría iniciar sesión legítimamente y acceder a los datos. En esta misma línea podría usarse para causar daños, como cancelar pedidos, realizar pedidos falsos, etc. ...

La mayoría de las implementaciones de dos factores dependen de una contraseña y OTP, la OTP generalmente se resuelve a través de un servidor externo, separado de la base de datos, por lo que en este caso la contraseña puede verse comprometida, si reside en la base de datos, mientras que la OTP no lo haría De hecho, OTP puede ser una buena forma de averiguar si su base de datos fue robada, ya que comenzará a ver muchos inicios de sesión fallidos con los códigos de contraseña correctos y la OTP incorrecta.

Espero que ayude.

    
respondido por el Brett Littrell 21.09.2015 - 22:50
fuente

Lea otras preguntas en las etiquetas