Tras el escándalo de la supuesta puerta trasera en WhatsApp, analizamos otras apps de mensajería

lunes, 6 de febrero de 2017

El 13 de enero de 2017 aparecía en un medio de comunicación inglés la noticia de la existencia de una supuesta puerta trasera en WhatsApp que permitiría espiar la conversaciones. Este supuesto backdoor eludiría el tan publicitado sistema de cifrado punto a punto. Aunque la noticia se viralizó tal como fue anunciada, no tardó en demostrarse que más que un fallo de seguridad se trata de una funcionalidad de la aplicación, cuyo propósito es mejorar su usabilidad y que podamos conversar mediante la aplicación sin muchas trabas. Pero, ¿Qué hace el resto de herramientas de mensajería instantáneas en estos casos? ¿Cómo se comportan? Veamos el resultado de nuestros experimentos.

Aunque el incidente ha servido para reflexionar sobre la seguridad de las apps de mensajería y la privacidad en general, el problema es cómo se ha contado la historia. El escenario de ataque propuesto por Tobias Boelter está bastante restringido a un entorno de laboratorio. Requiere del clonado de la SIM de la víctima, y que no se conecte a WhatsApp durante el periodo de tiempo del ataque, como por ejemplo en un vuelo en avión. En este escenario, con la SIM clonada un atacante podría registrarse como la víctima y ver los mensajes que le envíen. La verdad es que no sólo podría ver los mensajes, sino que también podría mandar mensajes a los contactos de la víctima haciéndose pasar por ella. Este escenario ya ha sido presentado en repetidas ocasiones con diferentes sabores, y (en mi opinión), en el caso de que la SIM resulte clonada, que alguien engañe a tus contactos de WhatsApp puede no ser el problema más importante al que te estés enfrentando. Si un atacante consigue duplicar nuestra SIM, puede acceder a multitud de servicios que utilizan el móvil como segundo factor de autenticación o como método para resetear contraseñas. Además, clonar una SIM, dependiendo del país de la víctima no suele ser un proceso fácil.

Después de verificar el escenario que proponía Tobias Boelter, nos preguntamos cómo se comportan otras aplicaciones de mensajería instantánea, ¿Qué hace Telegram, Line, WeChat o SnapChat en el escenario de ataque propuesto? Boelter ya adelantó que había analizado Facebook Messenger y Signal además de WhatsApp. En el caso de Facebook Messenger el comportamiento era similar al de WhatsApp, sin embargo, en el caso de Signal los mensajes no se reenviaban al destinatario si el emisor no lo hacía.

Telegram

Telegram tiene un comportamiento similar a WhatsApp o Facebook Messenger en los chats normales. No así en los chats privados. En ellos actúa de manera similar a Signal, no reenviando automáticamente los mensajes pendientes. Es más, si el atacante quisiera utilizar un chat secreto para hablar con los contactos de la víctima, el atacante debería crear un nuevo chat secreto para poder hablar con otras personas.

El caso de Telegram tiene también algunas características de la aplicación que la pueden hacer un poco más peligrosa en el escenario de duplicación de la SIM siempre que no se utilicen los chats secretos. En el caso de que otra persona se registe en Telegram utilizando una SIM duplicada, Telegram no te "expulsa" de la sesión que ya tuvieras abierta como el resto de aplicaciones de mensajería instantánea. Realmente crea dos sesiones: una para el teléfono del atacante y otra para el teléfono de la víctima, aunque sí es cierto que se notifica a la víctima la existencia de esta nueva sesión, para que pueda tomar acciones en caso de no haberla autorizado.

Por otra parte, un elemento que podría resultar potencialmente más peligroso que el comportamiento de WhatsApp es que el atacante podrá acceder a todo el histórico de mensajes de los chats no privados que mantuviese la víctima. Los chats secretos no se recargarán y en caso de querer hablar con otra persona por un chat privado, tendría que crear un chat secreto nuevo, lo que puede despertar las sospechas de la otra persona.

WeChat

El caso de WeChat es un poco diferente, ya que para iniciar sesión en WeChat se solicita una contraseña asociada a tu cuenta, que se puede resetear mediante un SMS. Pero en caso de detectar que el teléfono que está solicitando el reseteo de contraseña y acceso a la plataforma sea diferente al último que se estuviera utilizando WeChat, la aplicación solicita que demuestres que eres el propietario legítimo de la cuenta mediante un test. Si se supera el test (que consiste en algunas preguntas relacionadas con el uso que se ha hecho anteriormente de la propia app), se dispondrá de los mensajes pendientes igual que en el caso de WhatsApp. Pero obviamente con los mecanismos que pone WeChat es más difícil acceder a los mensajes no recibidos de un usuario.

Line

En el caso de Line, realizando el ataque propuesto por Tobias, se podría registrar un usuario nuevo asociado al número de teléfono que está suplantando. El problema es que este usuario nuevo no tiene la información de contactos ni chats pendientes del usuario. Si el usuario no tuviera asociado un email con el número de teléfono, siempre se crea un nuevo usuario perdiendo la historia de mensajes pendientes.

Snapchat

El caso de Snapchat es bastante parecido al de Line, permite que el usuario se registre únicamente con un número de teléfono o con un número de teléfono y un email. En caso de no utilizar email, el usuario que realice el ataque será considerado un usuario nuevo, que no verá los snaps pendientes de la víctima ni sus contactos.

Viber

Lo que comenzó como una aplicación para realizar llamadas de teléfono a través de la app, hace tiempo que añadió la posibilidad de chatear con los contactos, igual que cualquier otra aplicación de mensajería instantánea. En el caso de Viber cuando se registra un usuario se borra todo su historial de mensajes pendientes y contactos, con lo que el ataque planteado no es viable en esta plataforma.

BBM

Blackberry Messenger utiliza al igual que Line, WeChat o Snapchat un mecanismo de usuario y contraseña además del número de teléfono para registrar a sus usuarios. BBM al contrario que las anteriores, permite resetear la contraseña sin asociarla a una cuenta de correo, lo cual hace más fácil un ataque como el descrito en esta plataforma. Aunque a su vez al contrario que WhatsApp o Facebook Messenger la aplicación no reenvía automáticamente los mensajes pendientes. El usuario que los mandó debe reenviarlos para que el atacante los reciba.



Conclusión

Como se puede ver tras el análisis de las distintas soluciones, no existe una que sea perfecta y todas cuentan con sus ventajas e inconvenientes. Destacan los test que utiliza WeChat para validar la identidad de un usuario. Recordar que aunque sea necesario clonar una tarjeta SIM, no es imposible a pesar de todas las políticas definidas por las operadoras para impedirlo.

Pablo San Emeterio
Laboratorio ElevenPaths
pablo.sanemeterio@11paths.com

4 comentarios:

  1. interesante análisis chema

    sin lugar a dudas una clonación de SIM puede ser remotamenta posible, sin embargo si llegase a pasar ... el hackeo del chat sería el menor de los problemas

    siento que falto un análisis al imessage de Apple, que viene por defecto en los iphone, seguramente es un sistema más cerrado, pero he escuchado que es de lo más seguro que hay en el mercado actual

    saludos

    ResponderEliminar
    Respuestas
    1. Pues la verdad habría estado interesante que lo hubiesen incluido.

      ¿Quizás sólo se centraron en apps multiplataforma?

      No obstante tengo mis dudas con que sea de la más segura del mercado actual. Pero eso daría para una conversación algo más profunda jejeje.

      Eliminar
  2. ¿Habéis tenido en cuenta la verificación en dos pasos de Telegram?

    Entiendo que por defecto nadie la activa y por lo tanto me pare todo correcto.

    Pero con la verificación en dos pasos activa, ¿telegram tendría el mismo veredicto?

    Saludos

    ResponderEliminar
  3. Falto que se incluya en el analisis a la aplicación "wire" que tambien es muy buena.

    ResponderEliminar