Tras la introducción tecnológica del primer artículo de esta serie, identificamos dos inconvenientes fundamentales a la hora de implantar un sistema de comunicación VoIP en una arquitectura P2P como la utilizada por Skype:
- Generalmente los PCs domésticos no disponen de una dirección IP fija, sino que su proveedor de servicio (ISP, Internet Service Provider) les asigna una en cada conexión. Así pues, ¿cómo conocer a priori la dirección IP de la máquina a la cuál deseamos llamar?
- Las máquinas en las que instalamos Skype se encuentran habitualmente protegidas tras cortafuegos, o al menos ocupan una dirección privada en una red local y se comunican con el resto de internet a través de un servicio NAT.
Ambos inconvenientes son hábilmente resueltos mediante la arquitectura distribuida P2P que ya hemos comentado. Los Super Nodos actuarían no sólo como listines telefónicos que facilitarían la localización del resto de usuarios (incluso aquellos que no disponen de una IP pública, o ésta es dinámica) sino redirigiendo el tráfico de paquetes y actuando como intermediarios entre los participantes en una comunicación.
Calidad de servicio
Esta solución también puede convertirse en inconveniente. En caso de no existir suficientes Super Nodos, la calidad del servicio se puede ver deteriorada. Esto es precisamente lo que ocurrió en diciembre de 2010. Se juntó por un lado el aumento de demanda de servicio con motivo de las vacaciones navideñas, con el hecho de que tanto las universidades como las grandes empresas del hemisferio norte (donde se encuentra la gran mayoría de Super Nodos, como sabemos) se vaciaron.
Como resultado: la imposibilidad de millones de usuarios de conectar a la red y la decisión de Skype de implantar un nuevo tipo de agentes en la red: los Mega-Super-Nodos.
Privacidad
Desde el punto de vista de la privacidad y seguridad de las comunicaciones, podemos comentar que Skype utiliza el algoritmo AES (Advanced Encryption Standard) de 256 bits para cifrar la voz, datos o mensajes de texto transmitidos. En la versión de pago se utiliza el algoritmo RSA para el acceso al buzón de voz y durante la negociación para establecer la conexión. Para ello emplean una clave asimétrica que permite evitar ataques del tipo man-in-the-middle.
Parece que los ingenieros de Skype han dejado las cosas bien atadas en este punto. Sin embargo, el uso de Skype plantea un problema para aquellas organizaciones cuya política obliga a realizar grabaciones de cualquier conversación mantenida por sus empleados. El tráfico generado por estas conversaciones no parece fácil de aislar o investigar. Además, los archivos maliciosos transmitidos por este medio entre dos usuarios (virus, troyanos…) podrían resultar indetectables en muchos casos, al ir camuflados bajo la capa de encriptación. Éste podría ser también uno de los motivos que llevaron a finales del año pasado a China a intentar prohibir el uso de Skype dentro de sus fronteras. De hecho, sólo admite que cualquier tipo de llamada a o desde una línea convencional pueda ser realizada a través de las nacionales China Unicom y China Telecom (lo cual podría avalar una justificación económica en la hipotética prohibición). En cualquier caso, y por el momento, parece que Skype sigue operando con normalidad en el país asiático a través de TOM-Skype. Finalmente, Skype también almacena gran cantidad de información en el disco duro. Esta información se almacena generalmente en forma de sencillos archivos xml o bases de datos. Archivos como “Shared.xml”, que almacena la caché del cliente, o “Config.xml”, guardan datos de configuración de audio y vídeo, direcciones de nodos de la red, configuración de firewall y puertos, lista de contactos y datos del usuario, como su correo (este último cifrado).
El contrato con el usuario
Desde un punto de vista legal he encontrado la siguiente curiosidad. En la versión inglesa del Contrato de Licencia para Usuario Final de Skype puede leerse la siguiente cláusula:
3.3 Utilization of Your Computer: Skype Software may utilize the processor and bandwidth of the computer (or other applicable device) You are utilizing, for the limited purpose of facilitating the communication between Skype Software users. Skype will use its commercially reasonable efforts to protect the privacy and integrity of the computer resources (or other applicable device) You are utilizing and of Your communication, however Skype cannot give any warranties in this respect.
Esto viene a decir que damos permiso a Skype para hacer que nuestro equipo fucione como Super Nodo, compartiendo una parte de nuestros recuros para facilitar las comunicaciones en la red. No nos garantizan sin embargo que esta generosidad por nuestra parte no vaya a ocasionarnos algún inconveniente. Pero, como suele decirse, son lentejas: las tomas o las dejas. Sin embargo, en la versión en castellano encontramos el siguiente texto ‘alternativo’:
3.3 Uso del equipo informático del Usuario. El Software de Skype puede utilizar el procesador y el ancho de banda del equipo (u otro dispositivo según corresponda) que Usted está utilizando, con el fin limitado de facilitar la comunicación entre Usted y terceros. Skype hará los esfuerzos que sean comercialmente razonables para proteger la privacidad e integridad de los recursos del equipo (u otro dispositivo, según corresponda) que Usted esté utilizando, así como de la comunicación; no obstante, Skype no puede otorgar ninguna garantía al respecto.
¿Un error de traducción? Según esta versión los recursos utilizados por Skype en mi equipo son utilizados con el único fin de facilitar la comunicación entre el usuario (yo) y otros. Es decir, no nos están avisando de que nuestra máquina podría participar en conversaciones completamente ajenas (operando como Super Nodo) y que, por tanto, estamos cediendo recursos.
En mi organización no, gracias
Está claro que el uso de Skype proporciona múltiples ventajas. Desde el punto de vista del usuario:
- Facilidad de uso y configuración sencilla.
- Buena calidad de sonido.
- Sistema multiplataforma.
- Comunicaciones encriptadas.
- Precios muy competitivos.
Sin embargo, desde el punto de vista de la seguridad presenta una serie de inconvenientes:
- Compromete la seguridad de cortafuegos, NAT y proxys.
- Utiliza tecnología P2P.
- El tráfico generado por Skype es difícil de observar y no puede ser aislado, puesto que el protocolo empleado es propietario.
- El programa en sí es sospechoso. El tamaño del ejecutable es grande (12 MB) y el binario no se ejecuta en presencia del depurador SoftICE. Muchas partes del binario están encriptadas y ofuscadas, aunque en memoria está completamente desencriptado en tiempo de ejecución.
- Le enorme popularidad de la aplicación lo convierte en una excusa perfecta para engañar a los usuarios con la descarga de falsas actualizaciones que esconden virus y troyanos.
Estos y otros puntos aparecen reflejados en este estudio en pdf (bastante técnico), y otros enlazados al final de este artículo. Además de las anteriores características poco deseables, la avanzada seguridad de Skype no impide su utilización por otros programas maliciosos. El año pasado, Christian Wojner, L. Aaron Kaplan realizaron un interesante estudio sobre la manerar de operar de Skype IMBot. Este troyano simula entradas de texto por teclado en las ventanas de Skype que encuentra abiertas en la máquina infectada, aprovechando para enviar a los contactos mensajes con URLs maliciosas como éste:
I just got a new dog, but the monster destroyed the living room! Look at the mess 🙁 http://share.[someurl].info:84/uploads/[path]/MVC-PartyPic016.JPEG.zip
Son muchos quienes creen que el uso de Skype debería ser prohibido en cualquier organización empresarial o educativa debido a los riesgos de seguridad que plantea. Mientras que para algunos cualquier hacker de medio pelo podría sacar provecho de estas supuestas vulnerabilidades, otros quitan hierro al asunto asegurando que los ingenieros de Skype han hecho bien su trabajo protegiendo y encriptando las comunicaciones que son, a su parecer, incluso más seguras que las realizadas mediante telefonía convencional o correo electrónico.
+info:
- An analysis of Skype VoIPapplication for use in acorporate environment, Universidad de Columbia (pdf).
- Security Issues for P2P-Based Voice- and Video-Streaming Applications.
- A Survey of Peer-to-Peer Security Issues.
- Skype Configuration and Security, Universidad de Waterloo.
- Algunas notas sobre Skype. Marcelino Madrigal.
- An Analysis of the Skype IMBot Logic and Functionality
- Skype: A Practical Security Analysis (pdf)
- Skype uncoveredSecurity study of Skype (pdf)
1 pingback