¿Por qué no debo almacenar contraseñas en texto sin formato? [cerrado]

-7

¿Por qué es tan importante no guardar contraseñas en texto plano? Creo que es el mismo problema, como autorizar a un usuario en un servicio web RESTful, donde la mayoría de los desarrolladores afirman: "No envíe su token de seguridad dentro de la URL". Si soy un pirata informático y tengo acceso a la base de datos, no es importante si la contraseña es segura o no, porque se puede cambiar una contraseña (factor: humano), pero no mi número de casa, etc.

Lo mismo en mi ejemplo de REST: si tengo la posibilidad de capturar el tráfico de la red, no debería ser importante si el token de autorización se coloca dentro de la URL o el encabezado POST / PUT.

¿Por qué no debería almacenar contraseñas en texto plano? Vi a muchas personas hacer facepalming, pero nadie está lo suficientemente en forma como para darme una buena respuesta.

    
pregunta user3417078 15.04.2016 - 07:34
fuente

4 respuestas

7

Para hacerlo simple, si las contraseñas están en texto sin formato, la seguridad se vería comprometida por cualquiera que eche un vistazo.

Ahora, debe recordar que el inicio de sesión en el sitio web no es el único acceso a una base de datos. Un atacante podría obtener información de su base de datos de varias maneras.

Primero necesitas saber que sucede. Y un pirata informático no suele dejar una nota que diga "Hola, estuve aquí, ¡gracias por los datos!". Por lo tanto, a menos que lo conozca, no podrá cambiar su contraseña.

Ahora digamos que hay más usuarios en su sistema / sitio web. Si lo conoces, debes informar a todos los demás. ¿Cuánto tiempo duraría entre la infracción, conocerlo, informar a los usuarios, cubrir el agujero y que todos hayan cambiado sus contraseñas?

Y si su sistema está abierto al público, no puede confiar en que los usuarios no reutilicen las mismas contraseñas. Por lo tanto, no solo su falta de seguridad compromete su cuenta en su sistema, sino que también puede comprometer sus otras cuentas en otro lugar.

Además, tener contraseñas guardadas en texto sin formato significa que usted las conoce. Y como usuario, no veo ninguna razón por la que debas saber cuál es mi contraseña.

    
respondido por el bilbo_pingouin 15.04.2016 - 08:24
fuente
4
  

¿Por qué no debo almacenar contraseñas en texto plano?

Hay 2 razones principales:

  1. Si se obtiene un volcado de base de datos, los atacantes simplemente pueden iniciar sesión con la contraseña de texto sin formato en el volcado. Si las contraseñas estuvieran ocultas, la contraseña primero tendría que ser forzada de manera brutal.

  2. Muchos usuarios reutilizan contraseñas, por muy mala que sea la idea, por lo que su fallo de seguridad podría comprometer otros sistemas también.

  

Si soy un pirata informático y tengo acceso a la base de datos, no es importante, si la contraseña es segura o no, porque se puede cambiar una contraseña

Eso es solo si obtiene acceso de escritura a la base de datos. Si ha obtenido acceso de solo lectura o ha adquirido una copia de seguridad de la base de datos, podrá iniciar sesión con la contraseña existente, pero no editar la base de datos en vivo. Si la contraseña estuviera correctamente hecha con hash y con sal, primero tendría que utilizar la fuerza bruta, lo cual, si es único y seguro, sería inviable.

  

Lo mismo en mi ejemplo de REST: si tengo la posibilidad de capturar el tráfico de la red, no debería ser importante, ya que el token de Autorización se encuentra dentro de la URL o el encabezado POST / PUT.

El problema no es la transmisión, sino el almacenamiento involuntario de texto sin formato (no como el almacenamiento de una contraseña en texto sin formato). Las URL son comúnmente registradas en varios archivos de registro. Estos archivos de registro no siempre están bien asegurados y, en el mejor de los casos, esto aumenta los lugares donde un atacante podría obtener el token. Cuantos menos lugares se almacene un secreto, mejor.

    
respondido por el Alexander O'Mara 15.04.2016 - 07:41
fuente
2

Hay otro aspecto en esta discusión más allá de lo técnico: si es su diseño para no proteger las contraseñas, entonces usted, como operador del servicio, es responsable de ellas. Las contraseñas son medidas de seguridad para individuos . No son propiedad del servicio. Si las contraseñas están bien protegidas (con hash, etc.), entonces el operador del servicio ha cumplido con la debida diligencia y solo es responsable de proteger el acceso a los hashes.

Por ejemplo, si se accede a la cuenta de alguien sin autorización, el usuario puede simplemente culpar al proveedor del servicio porque el proveedor conocido sabe todas las credenciales. Y sí, esto depende de que se conozca este hecho, que debe asumirse (la seguridad nunca debe depender de la ignorancia del diseño).

    
respondido por el schroeder 15.04.2016 - 17:26
fuente
1

Hay una serie de razones por las que no debe guardar contraseñas de texto sin formato. Voy a repasar algunos de ellos (ya que, en realidad, solo deberías necesitar UNA razón para no hacerlo, no es difícil)

  1. viajes: en algún momento, su contraseña debe leerse de la base de datos y eso requiere que realmente vaya a algún lugar, ya que las contraseñas que no están en texto sin formato otorgan otro nivel de privacidad, supongamos que piensa lo mismo que con el cifrado. el almacenamiento de contraseñas y las comunicaciones internas de sus sitios no están cifradas: el texto simple que almacena las contraseñas proporciona un atacante con ... bueno ... ¡las contraseñas!
  2. Dice que 'Si soy un pirata informático y tengo acceso a la base de datos, no es importante, si la contraseña es segura o no, porque se puede cambiar una contraseña' eso simplemente no es cierto, el acceso no lo hace ' No significa necesariamente acceso de escritura , es decir, si realiza un volcado, solo puede leer y una contraseña almacenada en texto sin formato puede leer con bastante facilidad.

  3. un sistema de bandera roja: si su pirata informático hipotético puede cambiar las contraseñas como usted dice, entonces su usuario no podrá iniciar sesión y marcarlo para usted, así que le da un restablecimiento de contraseña, digamos su el pirata informático vuelve a hacer su maldad y su usuario lo marca de nuevo, sabe que tiene un problema. No es lo ideal, pero ¿qué le proporciona el almacenamiento de sus contraseñas en texto simple?

  4. los usuarios finales son famosos como basura en seguridad, probablemente usan esa contraseña en otros sitios / aplicaciones. ¿Por qué querría comprometer TODAS sus plataformas?

  5. Posiblemente la razón más básica: NO TE DEBE VER

respondido por el seanyt123 15.04.2016 - 10:06
fuente

Lea otras preguntas en las etiquetas