El sistema de contraseña maestra de Firefox ha estado mal protegido durante los últimos 9 años
Durante los últimos nueve años, Mozilla ha estado utilizando un mecanismo de cifrado insuficiente para la función de "contraseña maestra".
Tanto Firefox como Thunderbird permiten a los usuarios configurar una "contraseña maestra" a través de su panel de configuraciones. Esta contraseña maestra cumple la función de una clave de cifrado que se utiliza para encriptar cada cadena de contraseña que el usuario guarda en su navegador o cliente de correo electrónico.
Los expertos han elogiado la función porque hasta ese momento los navegadores almacenaban las contraseñas localmente en texto plano, dejándolas vulnerables a malware o atacantes con acceso físico a al ordenador de la víctima.
Pero Wladimir Palant, el autor de la extensión AdBlock Plus, dice que el esquema de cifrado utilizado por la función de contraseña maestra es débil y puede ser fácilmente forzado.
El cifrado de contraseña maestra usa un bajo recuento de iteraciones SHA1
"Miré en el código fuente", dice Palant, "finalmente encontré la función sftkdb_passwordToKey() que convierte una contraseña de un sitio web en una clave de cifrado mediante la aplicación de hash SHA-1 a una cadena que consiste en una sal al azar y su contraseña maestra real".
"Cualquiera que alguna vez haya diseñado una función de inicio de sesión en un sitio web probablemente verá una bandera roja aquí", dice Palant.
La bandera a la que se refiere Palant es el hecho de que la función SHA-1 tiene un recuento de iteraciones de 1, lo que significa que se aplica solo una vez, mientras que las prácticas industriales consideran 10,000 como un mínimo sólido para este valor, mientras que aplicaciones como LastPass usan valores de 100,000.
Este bajo recuento de iteraciones hace que sea increíblemente fácil para un atacante aplicar fuerza bruta a la contraseña maestra y luego descifrar las contraseñas encriptadas almacenadas dentro de las bases de datos de Firefox o Thunderbird.
Palant señala los recientes avances en las tecnologías de tarjetas GPU que ahora permiten a los atacantes romper contraseñas maestras simples en menos de un minuto.
El problema fue reportado por primera vez hace nueve años
Pero Palant no fue el primero en notar tal debilidad. Una entrada del rastreador de errores de Mozilla por Justin Dolske de hace nueve años informó el mismo problema, poco después del lanzamiento de la característica de contraseña maestra.
Dolske también señaló el bajo conteo de iteraciones de 1 como el principal problema de la contraseña maestra. Pero a pesar del informe, Mozilla no tomó ninguna acción oficial durante años.
Fue hasta la semana pasada cuando Palant reanimó el informe original de fallos que finalmente Mozilla brindó una respuesta oficial, sugiriendo que esto se arreglaría con el lanzamiento del nuevo componente de administrador de contraseñas de Firefox, actualmente con nombre en código Lockbox y esta disponible como una extensión.
Usar una contraseña maestra es mucho mejor que la alternativa de no usar una. Por el momento, la elección de contraseñas maestras más largas y complejas mitiga el esquema de cifrado débil. Los usuarios que desean asegurarse de que nadie pueda tocar sus contraseñas web deben usar una aplicación de administrador de contraseñas de terceros.
La solución óptima, según Palant, sería que los ingenieros de Mozilla emplearan la librería Argon2 para contraseñas de hashing en lugar de SHA1.