Si vas a usar WhatsApp para felicitar el año nuevo, cuidado con lo que dices

Por Arturo Quirantes, el 30 diciembre, 2012. Categoría(s): Criptografia ✎ 3

Whatsapp

“… si quiero asustarles con historias sobre mensajes transmitidos sin cifrado, creo que lo haré mejor tocándoles el bolsillo, en la zona donde guarda el móvil. Un famoso FAIL tuvo como protagonista el popular servicio de mensajes WhatsApp. El protocolo usado para enviar información entre usuarios se llama XMPP, que incluye el protocolo de seguridad TLS para transacciones electrónicas seguras. El problema radica en que estaba configurado por defecto para NO utilizar cifrado, con lo que todos los datos intercambiados estaban en texto llano, accesibles a cualquiera con programas para capturar paquetes de datos.

Tras una serie de críticas acerca de su seguridad, la red de mensajes WhatsApp anunció que en lo sucesivo los mensajes de sus usuarios estarían cifrados. Ahora bien, surgió el problema de siempre: ¿qué claves utilizar, y sobre todo, cómo repartirlas entre todos los clientes? La solución de WhatsApp para los móviles con sistema operativo Android fue tomar el IMEI (un código de identificación único para cada teléfono), invertirlo y aplicarle la función hash MD5; en el caso de otros dispositivos, utiliza la dirección MAC (identificativa del router). El resultado es la clave de cifrado. En cuanto al nombre de usuario, es sencillamente el número de teléfono.

Con un sistema tan sencillo, WhatsApp permite generar tráfico cifrado y evitar los problemas derivados de diseminar millones de contraseñas. Por supuesto, al lector no se le escapará que el sistema de generación de claves es altamente inseguro. Cualquier persona con acceso a un teléfono ajeno puede obtener su IMEI sin más que pulsar la secuencia *#06#. Un atacante más sigiloso puede crear una aplicación que filtre ese dato, o bien atacar directamente a la empresa telefónica y robarle su base de datos de usuarios.

Las desgracias criptográficas de WhatsApp no acaban aquí. El programa almacena en el dispositivo del usuario gran cantidad de información de forma insegura. Datos como los “logs” de todos los mensajes enviados y recibidos, la información de los contactos y hasta las coordenadas de geolocalización (si el GPS está activado) se guardan en dos archivos sin cifrado en absoluto.

Para rematar la faena, la versión para Android guarda un fichero adicional que funciona como copia de seguridad (backup). Se supone que ese fichero está cifrado con el algoritmo AES mediante una clave de 192 bits. Sólo hay dos problemillas. El primero es que la clave está insertada en el propio paquete de software de WhatsApp. Y el segundo es que todos los móviles Android del mundo utilizan la misma clave. Ni siquiera añaden algún factor dependiente del móvil. Esta es la clave:

346a23652a46392b4d73257c67317e352e3372482177652c

Evidentemente, no es una contraseña fácil de adivinar, pero ahí la tiene. A partir de ahora, la seguridad que proporciona es la misma que la de toda contraseña una vez descubierta y revelada: cero. Que conste que yo soy un usuario –hasta ahora satisfecho- de WhatsApp, pero a la vista de los garrafales fallos de seguridad que han perpetrado últimamente soy muy cauto a la hora de utilizarlo. Si usted transmite información mínimamente confidencial por WhatsApp, cruce los dedos.”

[Extraído de mi último libro “Cuando la criptografía falla.” Si quieres saber más sobre cómo la criptografía afecta tu vida diaria, pásate por la tienda Amazon y disfruta de una buena lectura. Feliz Año Nuevo]


3 Comentarios

  1. No solo eso. En un iphone, la MAC del dispositivo se puede saber solo con estar conectado a la misma red que la victima. Lo que provoca que capturar paquetes de WhatsApp en iphone y descrifrarlos sea trivial.

Deja un comentario

Por Arturo Quirantes, publicado el 30 diciembre, 2012
Categoría(s): Criptografia
Etiqueta(s): ,