Hace unos días hablábamos del lanzamiento de la nueva aplicación de 2FA de Proton, que llegaba como alternativa a otras como Google Authenticator. Sin embargo, poco tiempo desde su lanzamiento, ya han tenido que corregir el primer problema. Se trata de un error que filtraba TOTP secretos en los registros. Vamos a explicarte en qué consiste y de qué manera puede afectar a los usuarios.
Proton Authenticator es una aplicación gratuita que está disponible para Windows, macOS, Linux, iOS y Android. Es interesante para utilizar la autenticación en dos pasos, que crea una capa extra para proteger cuentas como redes sociales, bancarias, etc. La aplicación almacena TOTP (contraseña temporal basada en el tiempo) de autenticación multifactor. Utiliza códigos únicos y temporales para acceder a una cuenta.
Proton expone TOTP
El problema es que la aplicación de Proton Authenticator ha expuesto esos TOTP en los registros de la aplicación para iOS, que están en Ajustes -> Registros, como indican desde Bleeping Computer. Además, ha habido un hilo en Reddit, uno de los foros más importantes a nivel global, ahora eliminado, donde un usuario informaba de ello.
Según indicaba ese usuario en el hilo de Reddit, importó sus cuentas de 2FA, activó la copia de seguridad y la sincronización y, posteriormente, vio que la mitad de las entradas 2FA habían desaparecido. Indicaba que podría haber ocurrido después de editar la etiqueta de una de sus entradas.
Al crear y enviar un informe de error, se dio cuenta de lo realmente preocupante: abrió el archivo de registro que genera la aplicación y se dio cuenta de que contiene todos los TOTP secretos en texto plano.
Desde Proton, siguiendo la información mostrada en Bleeping Computer, confirmaron que había un error en la versión para iOS y ya está corregida. Para ello, es esencial tener la versión 1.1.1 instalada, la cual ya se encuentra disponible, desde hace algunas horas, en la tienda oficial de aplicaciones de iOS.
No es una vulnerabilidad explotable
Por parte de Proton, también han indicado lo siguiente: “Hemos actualizado la aplicación de iOS para cambiar el comportamiento del registro, pero esta no es una vulnerabilidad que un atacante pueda explotar. Si el atacante tiene acceso a su dispositivo para acceder a los registros locales, podrá obtener los secretos, y Proton (ni ninguna aplicación de 2FA) puede evitarlo.”
Esto significa que esos datos de registros no se pueden explotar de forma remota, sino a través del acceso físico al dispositivo. El problema es que, por error, se podrían compartir o publicar en otro lugar. Por ejemplo, podría ocurrir al diagnosticar un problema o error, como en el caso de ese usuario de Reddit.
Aunque el riesgo de explotación remota es nulo, registrar este tipo de secretos en texto plano choca con los principios básicos de desarrollo seguro como los definidos por OWASP. Esta práctica, conocida como ‘Information Exposure Through Log Files’ (CWE-532), crea un riesgo innecesario: si un atacante obtuviera acceso físico o mediante malware al dispositivo, podría extraer estos registros y comprometer todas las cuentas 2FA de forma retroactiva. La defensa en profundidad exige que los datos sensibles nunca persistan sin cifrar, independientemente de otros controles de seguridad
En definitiva, Proton ha tenido que corregir un primer error que afectaba a su nueva aplicación para generar códigos 2FA. Se trata de un problema presente en iOS, por lo que no afectaba a los demás sistemas operativos. Además, es un error limitado, que únicamente se podría explotar con acceso físico y no de forma remota. Primera semana desde que lanzaron esta aplicación, primer fallo que han tenido que corregir.
Queremos recordar la importancia de mantener siempre los sistemas y aplicaciones actualizados. En este caso, se trata de una actualización de emergencia que han lanzado desde Proton, pero podría ser algo que afecte a programas de todo tipo. Es clave contar con las últimas versiones disponibles y así reducir el riesgo de tener problemas de seguridad y que los piratas informáticos puedan aprovecharlo para robar datos, contraseñas o tomar el control sin que nos demos cuenta.
