De los sistemas y sitios que se han desarrollado recientemente, hay dos razones principales por las que cualquier empresa almacenaría contraseñas en texto plano sin hash y sin hash.
Opción 1: no lo pensaron al crear el medio de almacenamiento. Como se ha visto a menudo en el pasado, la seguridad (tanto de computadora como de otro tipo) no es algo en lo que las personas piensan hasta que sienten que lo necesitan. En algunas partes del mundo, las personas dejan sus puertas abiertas sin llave, y sus vecinos vendrán y se harán una taza de té mientras esperan que el propietario regrese. Solo una vez que han robado algo, reconsideran ese plan. De manera similar, ¿cuántas veces ha usado, o visto a alguien más, usar una contraseña insegura para acceder a algo ... como su fecha de nacimiento o 1234 para el PIN de su tarjeta de crédito, la "contraseña" para un sitio web, etc.? Es lo mismo que cerrar la puerta delantera pero no cerrarla. Bien, hasta que alguien malintencionado quiera acceder.
Opción 2: Lo pensaron y decidieron que no lo necesitaban. He visto a compañías decir: "Si tenemos un sitio que no almacena información personal, no gestiona ninguna transacción monetaria y, por lo demás, no tiene nada de valor, entonces no hay un problema real de no tener seguridad, ¿verdad?". Desafortunadamente, siempre están equivocados en esto por una razón, y algunas veces también por una segunda. La primera es que las personas reutilizan contraseñas. Si tienen la misma contraseña en este medio de almacenamiento no seguro que tienen para su correo electrónico o banco, tienen un problema. Aunque no es responsabilidad de la empresa, es una pequeña cosa que podrían hacer para ayudar al campo de la seguridad en general. La segunda razón por la que esto es incorrecto es que las cosas sin valor real a menudo tienen valor percibido. Tomemos, por ejemplo, su reputación: a menudo los foros de Internet son completamente anónimos y no contienen información personal sobre el usuario. Si alguien más pudiera acceder a su cuenta y hacer comentarios despectivos sobre otros, la reputación de su identidad digital se vería perjudicada, aunque no haya perdido nada con ningún valor cuantificable real.
En términos simples, la seguridad es algo que a menudo se ve reforzado al final de cualquier ciclo de vida de desarrollo de software, en lugar de pensarlo cuidadosamente desde el principio. Muchos sistemas tendrán el método "seguro" de contraseñas con salado y hash agregadas al sistema poco antes de su lanzamiento a prueba. Aunque es bueno que lo tengan, hay fallas en esta forma de pensar, ya que el resto del sistema puede tener vulnerabilidades que impiden que los pasos de seguridad que han tomado sean de alguna utilidad. La autenticación NTLM para Windows es un ejemplo. Esta contraseña con hash está protegida de manera muy efectiva contra ataques de fuerza bruta, sin embargo, si el sistema aún tiene el hash de la antigua contraseña de LM almacenado junto con el mejor método , puede reducir drásticamente el tiempo necesario para romper el hash de contraseña NTLM rompiendo primero el hash de contraseña LM.
Incluso las personas que deberían saber más están almacenando contraseñas en texto plano. Cada vez que reciba una confirmación por correo electrónico de un sitio web en el que se haya registrado y le digan qué contraseña ha utilizado, mi recomendación es eliminar su cuenta de inmediato. Un buen ejemplo de esto, hasta hace un par de años, no era otro que el British Computing Society (¡quién debería saberlo mejor!)