Backdoor en #WhatsApp permitiría interceptar comunicaciones cifradas (actualizado)

El investigador de criptografía y seguridad informática de la Universidad de Berkeley (EE.UU.). Tobias Boelter ha descubierto un backdoor (no es una vulnerabilidad) en la aplicación de mensajería instantánea WhatsApp que permite analizar los mensajes cifrados. Esta puerta trasera daría acceso a la lectura de las comunicaciones a pesar de contar con sistemas de seguridad cifrados de “extremo-a-extremo” (E2E).

El sistema de cifrado de “extremo a extremo” introducido por WhatsApp se basa en la generación de claves de seguridad únicas, utilizando el mismoprotocolo que Signal, desarrollado por Open Whisper Systems.

El cifrado de WhatsApp utiliza Signal Protocol [PDF], donde cada cliente es criptográficamente identificado por un par de claves compuesto por una clave pública y una clave privada. La clave pública se anuncia públicamente, a través del servidor, mientras que la clave privada permanece en el dispositivo del usuario.

Versión 1: WhatsApp tiene un Backdoor

Según ha desvelado el medio The Guardian, este backdoor fue descubierto y comunicado en abril del pasado año pero en ese momento Facebook dijo que “conocían el problema pero que era algo en lo que no estaban trabajando”.
Esta puerta trasera puede ser explotada para interceptar y leer mensajes cifrados y que, según organismos de defensa de la privacidad y la protección de datos, puede ser utilizada por agencias gubernamentales.

Desde el lanzamiento de E2E, Facebook asegura que “ninguna persona puede interceptar los mensajes enviados a través de WhatsApp, ni siquiera la compañía o sus empleados”. Sin embargo, esta nueva investigación demuestra que la empresa es capaz de acceder a las comunicaciones de sus más de mil millones de usuarios.

Según denuncia Boelter en su investigación, WhatsApp tiene la capacidad de forzar la generación de nuevas claves de cifrado para los usuarios sin que el remitente y el destinatario de los mensajes lo sepan (por ejemplo porque están fuera de línea). Esta nueva clave permite cifrar y descifrar los mensajes enviados que todavía no han sido “vistos” por el destinatario (doble check).

Este par de claves de identidad está enlazado en el canal cifrado que se establece entre dos partes cuando intercambian mensajes y se expone a través del “número de seguridad” (también conocido como “código de seguridad” en WhatsApp) que los participantes pueden verificar para verificar la privacidad de su comunicación.

Facebook ha dicho que este comportamiento es deseable para que usuarios que cambien su teléfono y simcard puedan seguir teniendo acceso a sus mensajes y que Facebook pueda ayudar en el proceso de regeneración de claves.

Sin embargo, Signal no presenta el mismo comportamiento y por eso sigue siendo recomedable su uso. Todo hace hace pensar que la regeneración de claves en Facebook es ex profeso y no un error; el cambio en el cifrado permite que, si un organismo gubernamental le pide a WhatsApp que revele sus registros de mensajería, puede darle acceso debido al cambio en las claves.

Versión 2: WhatsApp tiene una funcionalidad (que parece un Backdoor)

Un ataque Man-in-the-Middle funciona porque ambas partes -que se comunican entre sí- no verifican las huellas (hash) de las claves intercambiadas. Signal y WhatsApp utilizan un concepto llamado “TOFU” o “Trust On First Use”. Esto significa que cuando se intercambia una clave, siempre se confía en esta clave mientras la misma no cambie.

Signal y WhatsApp tienen diferentes configuraciones por defecto para manejar lo que sucede cuando la clave de un contacto cambia:

  • WhatsApp sólo notifica al usuario cuando el mismo lo verifica en su configuración.
  • Signal bloquea todos los mensajes salientes. El usuario tiene que verificar manualmente la nueva clave por defecto. Este es un problema de usabilidad ya que el usuario debe verificar la clave en persona, mediante el código QR el hash.
Entonces, esto no parece ser una puerta trasera en WhatsApp, es un ajuste predeterminado de WhatsApp para no bloquear el envío de mensajes cuando la clave cambia (por ejemplo cuando se cambia el teléfono o la simcard).

Version 3: Esto NO es un Backdoor

Alec Muffett, dijo a Gizmodo que la noticia es sensacionalista: “No es un error, la aplicación está funcionando tal y como se diseñó y la denuncia de Boelter es de poca importancia”.
Muffett matiza: “Hay una función en WhatsApp que -cuando cambias de teléfono, compras uno nuevo, restableces los datos de fábrica- y después instalas WhatsApp y continúas con una conversación, hace que las claves de cifrado se vuelvan a negociar para adaptarse al nuevo teléfono”.

Gizmondo ha recogido el malestar de otros expertos que están en contra de este supuesto fallo de seguridad de WhatsApp y Fredric Jacobs, parte del colectivo que diseñó y mantiene el protocolo de cifrado de Signal, ha declarado a través de su cuenta de Twitter: “Es ridículo que esto se presente como una puerta trasera, es Usabilidad vs Seguridad.

Actualización 14/01: Moxie Marlinspike, creador de Signal, ha confirmado que no se trata de un backdoor y que The Guardian ha exagerado la noticia ya que esta es la forma en que se espera que WhataApp se comporte.

¿Qué es un Backdoor?

Nunca se ha alcanzado un consenso y definición técnica real del término “backdoor” o “puerta trasera”.
Según este trabajo de Jonathan Zdziarski [PDF], existen tres mecanismos que permiten definir una puerta trasera: debe haber “intención” (del atacante), no debe haber “consentimiento” (de la víctima) y debe dar “acceso” (a los datos). Esta prueba de tres puntas puede aplicarse al software, firmware y hardware en cualquier entorno informático.

Asi Zdziarski presenta una definición técnica lo suficientemente rígida para identificar la taxonomía de una “puerta trasera” y lo suficientemente flexible  como para permitir argumentos de discusión a favor y en contra.

Conclusión

Cuando un proveedor dice que “utiliza cifrado de Extremo-a-Extremo que no tiene ninguna manera de leer los mensajes”, esto es… mentira.

Un proveedor siempre tiene la capacidad de interceptar mensajes siempre y cuando el usuario no verifique los hash de las claves intercambiadas. Con WhatsApp, es muy difícil asegurarse de lo que ocurre porque al ser código fuente cerrado, simplemente debemos terminar confiando en ellos… o no.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s