Hace
unos años, a la popular aplicación de mensajería que todo el mundo usa le salió
un rival que aprovechaba los puntos débiles de su adversario: la seguridad y
privacidad de las comunicaciones, además de otras funcionalidades no
relacionadas con la seguridad. En el momento de su lanzamiento tuvo un
espectacular crecimiento de usuarios, llegando al nivel de las más veteranas en
poco tiempo. Hablemos de Telegram.
El premio quedó desierto y volvieron a
desafiar a la comunidad,
elevando la cuantía a 300.000 dólares y permitiendo esta vez ciertos tipos de
elementos más próximos a un escenario de ataque real. En concreto se podía
emplear la captura de tráfico entre cliente y servidor, actuar como un servidor
malicioso y usar lo que denominaron "ataques
activos". Después veremos cómo esta definición tan abierta de "ataque activo" fue tensada hasta el extremo de toparse con su
propio cuello.
Nadie consiguió los
objetivos del segundo desafío. El premio quedó desierto de nuevo y en el aire la
expectativa del lanzamiento de un tercer guante.
¿Sería posible que alguien consiguiera "romper" el cifrado, días después de
expirar el reto, y dejara pasar la oportunidad de ganar 300.000 dólares o mucho
más en el siguiente desafío?
Según algunos medios sí y por supuesto no
tardaron mucho en hacer correr ríos de bits anunciando la noticia, sin más
elementos de juicio que un enlace a un post donde se termina cantando las
supuestas virtudes de sus propios productos y servicios.
A nadie le pasa desapercibido que un buen
titular a tiempo es pegarle un buen empujón a las visitas. No viste lo mismo
anunciar una denegación de servicio debido a una referencia a un puntero nulo
que un titular del estilo: "Hackean
tu Facebook a través de un ataque a tu WhatsApp debido a un exploit en GMail".
El supuesto "hackeo" a Telegram,
no es un ataque basado en una debilidad en el protocolo de cifrado o una
implementación defectuosa en el cliente que permita a un servidor controlado
por el atacante explotarla. La técnica usada para acceder a los mensajes es
general, de libro, se resume en un solo párrafo.
Envías a un objetivo un enlace que explota
una vulnerabilidad en el navegador, estableces un canal, elevas privilegios y ya eres root. Listo, ya puedes acceder
a cualquier rincón del sistema, memoria, disco, tarjeta, etc. con el añadido
extra de que si se trata de un terminal móvil inteligente casi te aseguras una
conexión persistente. O más fácil todavía, empaquetas todo eso en una
aplicación maliciosa y se la regalas a tu objetivo, listo, ya tienes lo que
necesitas.
Es fácil caer en ese fallo de concepto. No se trata de un ataque a una aplicación
concreta, se trata de un compromiso total del sistema, una vez eres root se
acabó el juego, no hay nada más después.
La intención del desafío de los Durov no era
esa. Los mensajes se encuentran en dos estados distintos, en tránsito o en
reposo. El supuesto ataque se apoya en el acceso a la información en reposo,
esto es en disco o en la RAM, pero el reto estaba en acceder y descifrar u
obtener la información en tránsito de dos clientes. El truco para justificar el
post es ese "ataques activos".
Esa definición tan abierta puede dar pie
a interpretar el todo vale y en esa posición no hay ningún solo sistema o
aplicación que se sostenga sola, todas caen, al final es una cuestión de
tiempo.
Más información:
$200,000 to the hacker who can break Telegram
MTProto Mobile Protocol
$300,000 for Cracking Telegram Encryption
Crypto Contest Ends
David García