Mostrando entradas con la etiqueta msn. Mostrar todas las entradas
Mostrando entradas con la etiqueta msn. Mostrar todas las entradas

25 mayo 2010

Seguridad en protocolos de mensajería

Pese al paso de los años y los nuevos conceptos que se van 'inventando', el chat mediante protocolos de mensajería sigue teniendo una amplia cuota de protagonismo en las actividades online.

Con la transición del PC en casa a los dispositivos de tipo portátil y smart*, pasamos de entornos 'seguros' a entornos potencialmente mas peligrosos como Wifis públicas o centros de trabajo, donde es realmente fácil interceptar comunicaciones.

Existen muchos mitos sobre 'que te pueden hacer' si haces login en el MSN o Gtalk desde un lugar donde haya ojos curiosos, por eso vamos a explicar como funciona cada protocolo y el tipo de riesgos potenciales de cada uno.

Empezamos por 'el rey':
MSN / Messenger

Sin duda el protocolo mas empleado y con mas cuota de usuarios en España. El protocolo MSN no es un protocolo estático, va mutando periódicamente y Microsoft va sacando actualizaciones en las que varia ligeramente su funcionamiento. Dado que sus internals no son públicos, toca 'reversear' y deducir como funciona. A día de hoy la última especificación de la que se cuenta con información es esta y la parte que mas nos interesa es la que concierne a como se realiza la autenticación.

A grosso modo:
  • El cliente lanza la petición de login al servidor MSN, 
  • El servidor MSN facilita un 'reto' (un montón de caracteres aleatorios para generar entropía) y un servidor 'de tickets'
  • El cliente envía el Login + Password + Reto mediante una conexión SSL al servidor de tickets y, en caso de ser válida, obtiene un ticket
  • El cliente envía ese ticket al servidor MSN


Una vez completada esta secuencia, el resto de la comunicación se realiza en texto plano sin codificación alguna

Gtalk (cliente oficial)

Como es bien sabido, Google para implementar su sistema de mensajería se ha decidido por una implementación basada en XMPP / Jabber. El problema es que Jabber aun siendo un protocolo estandarizado admite mil y una forma de hacer las cosas (algunas mas seguras, otras mas inseguras). En concreto, Google en su implementación ofrece como formas de hacer auth dos posibilidades, una llamada Google-Token (totalmente fuera de especificación y propietaria de Google) y otra basada en TLS. El cliente oficial, como es lógico, emplea Google-Token y ciertamente debilita mucho la seguridad del sistema. Funciona de la siguiente manera:
  • El cliente se conecta vía SSL a Google para hacer el auth
  • Google entrega un token al cliente
  • El cliente usa ese token como método de autenticación

Terminada esta fase, el resto de la comunicación va en texto plano

Gtalk (clientes XMPP / Jabber alternativos)

Si obviamos el cliente oficial de Google y nos decantamos por alternativas como Gajim o Pidgin (necesario si empleas una plataforma como Linux), la cosa cambia radicalmente. El método empleado está completamente basado en TLS.
  • El cliente inicia la comunicación con el servidor XMPP
  • Se negocia un túnel TLS
  • Se envían las credenciales
A partir de ahí toda la comunicación va cifrada

Facebook

Recientemente Facebook ha abierto su chat públicamente mediante una plataforma basada en XMPP / Jabber. Como ya decía anteriormente, las formas en las que se puede hacer auth en XMPP son increíblemente versátiles. En el caso de Facebook han optado por un método basado en Digest SASL. SASL es un protocolo ampliamente utilizado para autenticación en servicios como IMAP o SMTP. Para hacerlo aun mas divertido, SASL soporta tres modos de autenticación en función de la seguridad que se quiera aplicar. El primero llamado 'auth' únicamente sirve para intercambiar credenciales de forma segura basado en retos, el servidor genera una cadena aleatoria y el cliente debe responder con un hash de sus credenciales + el reto. El segundo modo 'auth-int' añade una capa de integridad añadiendo a cada intercambio un 'código de integridad' empleando HMAC. El tercero, 'auth-conf' añade a todo eso una capa de cifrado. ¿Cual método ha elegido Facebook? auth normal.

Después de eso la conversación continua en texto plano

Conclusiones

Una vez explicado como funciona cada protocolo, a modo resumen una tabla con los riesgos potenciales que podemos sufrir si una sesión de chat es interceptada.

Los criterios de evaluación han sido

[ ] Crackeable: La posibilidad de que un atacante que capture la autenticación pueda aplicar fuerza bruta sobre lo interceptado para averiguar la contraseña
[ ] Usuario deducible: Se evalúa si durante la fase de autenticación un atacante podría averiguar el login / dirección de correo ej: fulano@hotmail.com
[ ] Sniffing conversación: El hecho de que los mensajes de chat intercambiados sean susceptibles de leerse en texto plano

** En el caso de Gtalk solo se contempla en formato 'cliente alternativo'


Leer más...

10 octubre 2009

Pescando cuentas de Hotmail

Las filtraciones que han sufrido las cuentas de Hotmail no han dejado de estar en boca de todos desde que el pasado lunes salió a la luz la noticia. Sbd barajó diversas hipótesis sobre las posibles causas del robo de las cuentas, pero a día de hoy parece que no está claro cómo se realizó el ataque.

Hace dos días, un amigo al conectarse al servicio de mensajería, recibió un mensaje de un contacto que le invitaba a ver una foto en un sitio web. Esta persona sospechó de este mensaje y me envió el pantallazo. Le remitimos el problema al contacto, quien admitió no usar esa cuenta de hotmail desde hacía tiempo, ya que usaba otra para el servicio de mensajería.

Miramos en Internet la dirección que aparece y nos informan:
Accedemos a la página y encontramos un panel para autenticarnos con nuestra cuenta de MSN. Como vemos un caso de phishing con un formulario para introducir nuestro usuario y contraseña:
Buscamos dónde está albergada la página:
# whois Face-The-Truth.com
Hospedada en Beijing.

Detectamos más personas a las que les han llegado este tipo de mensajes. En McAfee Site Advisor nos informan sobre el robo de IDs de Windows Live y claves mediante un falso panel de autenticación.


Una recomendación, que no cunda el pánico, pero si recibes mensajes extraños o correos que te invitan a autenticarte, mejor no confíes, no te dejes pescar.

Leer más...

26 julio 2009

Spim: Spam over Instant Messaging

¿Quién a día de hoy no utiliza la amplia oferta de redes de mensajería instanánea para comunicarse con su red de contactos, familia, amigos, compañeros de trabajo, ligues, etcs,...? Quien más quien menos ha evolucionado del vetusto ICQ al archiconocido y universal MSN, pasando por Yahoo! Messenger o AIM, u otros con menos tiempo de rodaje, pero igualmente bueno como Google Talk o Gtalk. De hecho, incluso Security by Default provee servicios a través de mensajería instantánea. En nuestro caso hemos elegido MSN y Gtalk como redes para los cuales funcionan nuestros robots.

Hoy queremos hablar de un tipo de amenaza para la que no existen contramedidas tecnológicas: El spam en redes de mensajería instantánea (en inglés SPIM). Cuántas veces nos ha pasado que un contacto que no conoces de nada te ha añadido al messenger. Si aceptamos esta conexión, estamos permitiendo a un desconocid@ ofrecernos caramelos que pueden tener o no tener sorpresas. En general, este tipo de contactos, cuentan con un avatar en el que una atractiva señorita insinúa sus encantos. Digas lo que digas, generalmente te contesta lo mismo. Cosas como: "Hi, I found you", "You are lucky cause I am horny today" y otros alegres mensajes de esa índole. A partir de ahí, generalmente se te induce a hacer click en un enlace en la cuál se ofrece algún tipo de "servicio". Lo más normal es no hacer mucho caso a ese nuevo contacto, bloquearlo y borrarlo.

Más allá del compromiso por parte de Microsoft para que sus clientes de MSN mitiguen este tipo de riesgos, lo que está claro es que los atacantes son cada vez más ingeniosos para hacer que los usuarios "piquen" y adquieran algún tipo de malware en sus PCs.

Sin embargo, hay más formas de comprometer las credenciales de mensajería instantanea. Aún hay quien piensa que determinados servicios que prometen decirnos, de forma altruista, "quién te ha borrado de su MSN", funcionan sin nada a cambio. Este tipo de servicio, a los que hay que proporcionar usuario y contraseña, después de haber comprobado que "tacones21" no nos ha borrado de su lista (simplemente es que se conecta poco), al final suele dejar el mensaje que nuestros contactos leen con publicidad sobre el mismo. Simplemente es cambiarlo otra vez y ya está. Bueno pues cuidado con esto. Muchas veces este tipo de servicios online aprovechan que tienen tus credenciales para hacer, de forma automática, un maravilloso Spam de sí mismo (comportamiento vírico) ante toda tu red de contactos. ¿Curioso verdad? Sobre la peligrosidad de este tipo de "servicios" ya se habló en su momento en Genbeta.

Para saber si Luisita definitivamente te borró mediante estos servicios online, por mi parte recomiendo cambiar la contraseña antes de hacerlo, y justo después, volverla a cambiar por la anterior o por una más compleja. Otra solución es utilizar un programa que lo haga de forma local como MSNCHeck, en el cual el usuario/contraseña nunca se queda en ningún servidor, sino que la comprobación se hace en tu propio PC.
Leer más...