Sei sulla pagina 1di 5

¿Deberían los sitios web ser obligados a revelar públicamente su estrategia de

almacenamiento de contraseñas?
No sé cómo cada nota de mi contraseña almacenada, ya saben, a la que creen que han tenido
acceso los asesinos enmascarados (o su equivalente digital). Quiero decir que sé que sus
medidas son sólidas, pero una vez más, también lo fueron las de Tesco y, de acuerdo con su
definición, "robusto" significa almacenarlas en texto plano detrás de un sitio web plagado de
XSS y inyección SQL (entre otros fallos de seguridad).

El año pasado vimos a LinkedIn vulnerado y algunos millones de contraseñas SHA1 sin sal
expuesta. La semana pasada vimos que el ABC de Australia hacía lo mismo; tardé 45 segundos
en descifrar el 53% de esos y otros desde entonces han llegado a descifrar más del 90% de ellos.
Estos mecanismos de almacenamiento no son robustos, son estúpidos. El problema, por
supuesto, es que los consumidores no saben que el enfoque de contraseña de un sitio web es
estúpido hasta que hayan confiado sus contraseñas en el sitio. Ese es un problema fundamental.

Propongo que los sitios web deban divulgar su mecanismo de almacenamiento de contraseñas.
La divulgación se ubicaría justo al lado del punto donde se proporciona la contraseña para el
almacenamiento persistente, es decir, en las páginas de registro y cambio de contraseña. Sería
tan simple como esto:

Dejeme explicar el pensamiento

Bueno, en realidad, eso no es del todo cierto; a los consumidores no les importa el
almacenamiento de contraseñas cuando se registran para un servicio, solo quieren conectarse,
comprar su libro / camiseta / porno y luego cambiar a otra cosa. Sin embargo, a los
consumidores les importa si se filtran sus credenciales y, como resultado, ocurren otras cosas
adversas. Por supuesto, no deberían haber reutilizado sus malditas contraseñas en primer lugar,
pero desafortunadamente, este es el mundo en el que vivimos.
No, la divulgación pública de los mecanismos de almacenamiento de contraseñas no cambiará
el comportamiento del consumidor, pero cambiará el comportamiento corporativo. Tomemos un
ejemplo: Tesco. Nunca verías esto en su página de registro:
Eso no se debe a que no los almacenen en texto plano, sino que lo hacen (supuestamente), más
bien es porque no hay forma de que una organización como Tesco alguna vez lo reconozca
voluntariamente. Afrontémoslo, el almacenamiento de credenciales de texto plano es
probablemente la práctica de seguridad más criticada en la industria en este momento y las
contraseñas encriptadas (recuerde amigos, esto es diferente a "hash") no está muy atrás. No, una
organización arreglaría mucho antes su almacenamiento de contraseñas descuidado que
reconocer públicamente una práctica tan claramente mala.

"Pero hará que sea más fácil descifrar contraseñas"


Pero no lo hará, y hay varias razones por las cuales este argumento no se cumple.Antes que
nada, saquemos un poco del principio de Kerckhoff solo por si acaso:
Un criptosistema debe ser seguro incluso si todo lo relacionado con el sistema, excepto la clave,
es de conocimiento público.
Uno debe diseñar sistemas bajo el supuesto de que el enemigo se familiarizará plenamente con
ellos.
Ahora, por supuesto, esa última afirmación es precisamente lo que sucede en casos como el
ABC; era tan simple como buscar en Google un sistema de cifrado para comprender de
inmediato cómo se había implementado su criptografía. En la gran mayoría de los casos, la
implementación es uno de los modelos predeterminados que ofrece el marco web
utilizado. Sabemos esto porque tenemos amplia evidencia de numerosas infracciones.
La otra razón simple por la cual esta declaración no es válida es que el conocimiento de la
contraseña criptográfica solo tiene utilidad después de que el sitio ya ha sido violado y se
revelan las contraseñas. Estableciendo El mecanismo de almacenamiento de contraseñas
proporciona absolutamente cero valor para un atacante que intente explotar, digamos, un riesgo
de inyección SQL, simplemente no está en el mismo estadio.

¿Una declaración sobre el mal almacenamiento de contraseñas haría que un sitio sea un objetivo
más grande? Ignorando por un momento que deben existir otros defectos totalmente
independientes para tener acceso a las contraseñas (con suerte) protegidas en primer lugar, si
una organización no tiene la confianza en su mecanismo de almacenamiento de contraseñas
para divulgarla públicamente, ¿no debería presionarse? colocado sobre ellos?

Otra razón por la que esto no tiene mucho sentido es que muchos sitios web pierden
información sobre el mecanismo de almacenamiento de contraseñas de todos modos. ¿Alguna
vez usó una "función de contraseña olvidada" y se le envió su contraseña por correo
electrónico? Se ha revelado que no están haciendo hash, por lo que se puede acceder
inmediatamente una vez que se revela la base de datos o se puede acceder a ella una vez que se
obtiene la clave. Una vez que se abre una ventana, esta es muy, muy frecuentemente, una tarea
trivial. Hay un sitio completo dedicado a nombrar a estos proveedores de mala administración
de contraseñas en plaintextoffenders.com, por lo que seguramente ya hay muchos datos
públicos sobre ellos.

¿Cuánta información debe ser revelada?

El almacenamiento de contraseñas no siempre es tan simple como "usamos este algoritmo


hashing con este sal" y, de hecho, las protecciones ofrecidas por, por ejemplo, el cifrado
simétrico pueden ser nulas si la estrategia de administración de claves es mala. Entonces,
¿cuánta información debe revelarse? ¿Dónde se traza la línea entre una declaración simple
como se ve en las insignias anteriores y una declaración más completa (y tal vez reveladora) de
la posición de seguridad de un sitio web?

Como dije antes, todo esto se debe al simple hecho de que, si bien es posible crear esquemas de
protección de contraseñas más elaborados, raramente es el caso. Nueve veces de cada diez
(noventa y nueve veces de cada cien?) El algoritmo de cifrado, la fuerza de la clave y la sal
serían suficientes. Si hay defensas más allá de esto, entonces genial, pero si solo estás
golpeando una ronda de SHA1 con una sal en la contraseña, independientemente de lo que
hayas hecho, existe la posibilidad de un pwange muy rápido.

Esta información podría estar contenida en una breve declaración en el momento de la creación
de la contraseña, por lo que en las instalaciones de registro y cambio de contraseña. La gran
mayoría de los casos caerán en uno de un puñado de patrones simples relacionados con el
algoritmo y la fuerza, por lo que sería fácil de moldear. Las personas con cifrado más
inteligentes que yo encontrarían el equilibrio adecuado de información, pero en mi humilde
opinión, la primera imagen de esta publicación (que, dicho sea de paso, proviene del proveedor
de membresía universal ASP.NET) le dice todo lo que necesita saber.

Implicaciones legislativas

Por supuesto, el problema con cualquier tipo de requisito como este es la legislación y el
problema con la legislación es que va a ser diferente dependiendo de dónde se encuentre el sitio
web. No hay respuestas fáciles para esto, pero hay precedentes.

Este es un buen ejemplo: la ley de cookies de la UE. Sin duda, esta es una de las leyes en línea
más estúpidas que encontrarás. Si has tenido el placer de no ver esto en acción antes, aquí hay
algunos ejemplos:
"Oye, vas a obtener estos pequeños bytes de datos almacenados de forma segura en tu
navegador, pero hacen que el sitio web sea mejor, honesto, y si no te gusta, entonces puedes
GTFO porque nunca hay un botón de 'declinación' de todos modos ( pero luego puede eliminar
las configuraciones de su navegador, deshabilitarlas y arruinar su capacidad para iniciar sesión
en casi cualquier lugar) ".

Si la UE puede aprobar una ley tan estúpida, ilógica, impracticable y de valor cero que no
devuelve nada al consumidor y simplemente impide la usabilidad, seguramente pueden hacer
frente a un requisito tan fundamental como para confirmar que una práctica de seguridad tan
esencial ha sido adecuadamente poner en su lugar?

Y hablando de seguridad, las leyes de violación de datos obligatorias son un buen ejemplo de
que la legislación tiene algunos precedentes. Estados Unidos tiene leyes vigentes para abordar
esta cuestión desde hace una década, la UE ha tenido su Directiva sobre privacidad y
comunicaciones electrónicas durante algunos años e incluso aquí en Australia hay un impulso
renovado para implementar una ley obligatoria de notificación de violación de datos (es
seguramente solo es cuestión de tiempo).

Si se puede obtener un apoyo tan amplio para notificar a los consumidores después de que una
empresa ha arruinado su seguridad, seguramente debe ser factible hacerlo antes de que pierdan
las contraseñas de todos.

¿Cómo implementarías esto?

Proporciona una moratoria que las empresas deben cumplir. Hay muchos precedentes de esto; la
ley de cookies de la UE es una, la ley de spam de Australia de 2003 es otra. No hay escasez de
precedentes de leyes similares en los que se hayan otorgado períodos de gracia para que las
empresas cumplan con los requisitos. Naturalmente, permite el tiempo suficiente porque,
enfrentémoslo, un todo

muchas organizaciones realmente van a arreglar su mala implementación en lugar de golpear la


gran insignia de "texto simple" en el sitio.
¿Qué pasa con los gastos generales en las organizaciones que luego deben cumplir con esta
nueva regulación? Vamos, estamos hablando de una única declaración que existe en tal vez dos
lugares en el sitio web y que proporciona un largo plazo de ejecución para implementarlo. El
único momento en que esto equivaldrá a algo más que una cantidad trivial de trabajo es si una
organización se siente obligada a cambiar su enfoque de almacenamiento en lugar de divulgar el
estado actual y honestamente, ¿no es esto algo bueno? Si una organización está demasiado
avergonzada para revelar su mecanismo de almacenamiento de contraseñas o si la divulgación
conduce a un mayor riesgo, han fallado y es mejor que esa información sea pública ahora, en
lugar de después de una violación cuando ya es demasiado tarde.

Entonces, por supuesto, hay cumplimiento: ¿qué sucede cuando una organización no cumple?
¿O peor, mentiras sobre la implementación de contraseñas? Inevitablemente, esto depende de la
jurisdicción del sitio infractor, pero existen muchos precedentes de controles y sanciones ya
establecidos para manejar leyes similares para tales infracciones tan graves como no declarar
esas extrañas picadas en el encabezado de respuesta (cookies) o no revelar una infracción (De
acuerdo, estos muchachos deberían realmente echarles el libro). Si podemos multar a las
empresas por no poner un enlace de cancelación de suscripción en un correo electrónico,
podemos multarlas por poner en peligro las contraseñas.

Las construcciones ya existen.

En resumen…

Tenemos un problema de seguridad en la web, de eso no hay duda. Lo que agrava esto es que
también tenemos un problema de mierda. Puede ver este problema en acción cada vez que una
organización habla de ser "robusto" o "nunca ser pirateado" o de cualquier otra cantidad de
afirmaciones subjetivas e incuantificables que no le dicen nada sobre las medidas que realmente
están en vigencia y equivalen a poco más que hablar de marketing. Esto no es lo
suficientemente bueno. La confianza por sí sola no es lo suficientemente buena. Necesitamos
responsabilidad antes de que las contraseñas se vean comprometidas, no después.

Lo que hace la revelación de almacenamiento de contraseñas es resolver el problema de mierda


que a su vez ayuda mucho a resolver el problema de seguridad. No se pueden hacer
afirmaciones de "robustez" y admitir SHA1 sin sal, simplemente no son declaraciones
compatibles. Por supuesto, no abordará el vector por el que se obtuvieron las contraseñas en
primer lugar cuando se produce una infracción, pero cambiará el enfoque del almacenamiento
de contraseñas por parte de muchas organizaciones, ya que simplemente no se pondrán de pie y
admitirán públicamente el almacenamiento en formato texto. También habrá un número
significativo que será reacio a admitir el almacenamiento criptográfico inseguro y aquellos que
lo hagan se abrirán a la burla pública, y con razón.

Las leyes de divulgación de almacenamiento de contraseñas dejan al incompetente en ridículo y


recompensan a aquellos que tomaron en serio los datos de los clientes. Sin duda, solo pueden
salir cosas buenas de los consumidores.

Potrebbero piacerti anche