Twitter ha admitido que cometió un error garrafal de seguridad: ha almacenado copias de contraseñas no cifradas.
Lo has leído correctamente: contraseñas en texto plano, guardadas en un disco.
¡Qué mensaje para el Día Mundial de la Contraseña!
Cualquier lector habitual de este blog sabrá que nunca se deberían almacenar las contraseñas en texto plano.
No hay problema en usar contraseñas temporalmente en texto plano cuando se verifican a la hora de loguearse, pero es lo único que se debería hacer con contraseñas sin cifrar.
No deberías guardar las contraseñas en un fichero temporal que planeas eliminar más tarde, ya que los programas pueden tener fallos que impidan borrarlas completamente, o el disco en que estén puede desmontarse antes de finalizar el proceso.
Incluso no deberías tener contraseñas en memoria virtual que el sistema operativo pueda almacenar en un archivo swap, para que las contraseñas no sean volcadas al disco cuando el sistema esté muy cargado.
En Windows se puede utilizar la función del sistema VirtualLock() para mantener los bloques de memoria encerrados en la memoria RAM física, evitando que se pueda mover a un archivo swap.
Nunca jamás deberías guardar contraseñas sin cifrar en ningún lugar donde se supone que serán almacenadas permanentemente y por supuesto que esto significa que debes tener un extremo cuidado en no escribir contraseñas en ficheros logs por error.
Desafortunadamente, esto es lo que Twitter se ha dado cuenta que estaba haciendo, por eso el mensaje de advertencia.
La buena noticia es que las bases de datos que Twitter estaba usando para controlar los logins estaban implementadas de una manera segura.
Twitter utiliza bcrypt, un algoritmo que realiza lo que se conoce como salt-hash-stretch para convertir las contraseñas en sumas criptográficas que se pueden utilizar posteriormente para verificar que la contraseña que se mantuvo temporalmente en memoria era correcta.
Esto se debe a que un proceso de hashing como bcrypt permite trabajar hacia delante desde una contraseña para chequearla contra un hash almacenado de la misma contraseña, pero no permite ir hacia atrás y recuperar desde el hash la contraseña original.
Incluso si los ciberdelincuentes son capaces de robar el fichero de las contraseñas, no podrán leerlas.
En cambio, pueden probar posibles contraseñas como palabras de diccionario y comprobar si obtienen el mismo hash, por eso es tan importante emplear contraseñas robustas.
Las malas noticias, por supuesto, es que la seguridad que da bcrypt para la verificación de contraseñas desaparece al escribir las contraseñas en texto plano en los logs del sistema.
Si los cibercriminales atacan los logs en vez de las propias bases de datos, obtendrían las contraseñas sin necesidad de intentar adivinarlas.
¿Qué hacer?
Twitter afirma que han solucionado el problema y que una investigación muestra que no ha habido ni filtraciones ni uso indebido.
Twitter simplemente sugiere cambiar la contraseña.
Nosotros vamos un paso más allá y te instamos a que lo hagas rápidamente, ya que Twitter no ha dicho cuanto tiempo lleva con esos logs, cuantas ha recopilado por error por lo que no hay suficiente información para valorar la extensión del problema.
También os recomendamos que utilicéis el sistema de autenticación de dos factores de Twitter.
¿Deberías dejar de usar Twitter debido a este fallo?
Eso depende de ti, pero creemos que cambiar la contraseña es suficiente.
Para manteneros al día de las últimas amenazas haceros fans de nuestra página de Facebook o síguenos en Twitter para intercambiar experiencias en torno al mundo de la seguridad. Si deseas recibir nuestro boletín de seguridad en tu correo electrónico, suscríbete en la siguiente aplicación: