Seguridad de Skype - CYBSEC Security Systems

Anuncio
Seguridad de Skype
Ing. Claudio Meola - Consultor CYBSEC (cmeola@cybsec.com)
1. Introducción
Skype (disponible en http://www.skype.com) es un cliente multiuso que proporciona
funcionalidades tanto de comunicación de voz como de mensajería instantánea y
transferencia de archivos. La compañía destaca las características de comunicación de voz,
y es una de las aplicaciones más populares para hacer y recibir llamadas sobre Internet. La
arquitectura de Skype se asemeja mucho a los servicios de P2P (peer-to-peer). Esto no debe
sorprender, ya que sus fundadores, Niklas Zennström y Janus Friis, fueron también los
creadores de Kazaa, uno de los servicios más populares de P2P. Más que transmitir todos
los datos de la comunicación de voz a través de un servidor central, Skype tiene la capacidad
de utilizar las estaciones registradas en el sistema para transferir los datos entre los usuarios.
Esto permite que el servicio maneje datos eficientemente mientras que los costos del mismo
se mantienen al mínimo.
Skype realizó el lanzamiento de su primera versión beta el 29 de agosto de 2003. Hacia
octubre de 2004, Skype tenía más de un millón de usuarios en línea simultáneamente, y el
18 de mayo de 2005, tenía tres millones de usuarios en línea en simultáneo. Obviamente,
Skype se ha hecho increíblemente popular en un tiempo muy corto. Por supuesto, mucha de
esta popularidad se debe al hecho de que Skype proporciona comunicaciones de voz
gratuitas, y además, la calidad de sonido es muy buena. Skype también proporciona
servicios para hacer y recibir llamadas desde líneas telefónicas estándares. Estos servicios si
tienen costo.
El cliente de Skype se encuentra disponible para diversas plataformas y sistemas operativos,
incluyendo Microsoft Windows, Linux, Mac OSX, y PocketPC.
El modelo de negocio de Skype se basa en proveer los servicios para los cuales los usuarios
pagan. Skype vende dos servicios, SkypeOut y SkypeIn. Cuando usted compra créditos para
estos servicios, Skype le permite hacer o recibir llamadas de cualquier persona en el mundo
que utilice un teléfono estándar. SkypeOut le permite marcar cualquier número de teléfono en
el mundo, mientras que SkypeIn le proporciona un número de teléfono. Este número de
teléfono puede ser llamado desde cualquier lugar utilizando un teléfono estándar y permite
que los usuarios de Skype acepten llamadas entrantes a este número de teléfono asignado.
Estos servicios proveen a los usuarios de Skype la capacidad de comunicarse con cualquier
persona en el mundo, ya sea otro cliente Skype o cualquier persona con un teléfono.
2. Arquitectura de Skype
Skype utiliza una arquitectura similar a Kazaa u otras redes P2P (Figura 1). No se trata de
una red P2P muy estricta puesto que emplea un servidor centralizado para el proceso de alta
de nuevos usuarios y para la autenticación de los usuarios existentes, utilizando un ID de
usuario y contraseña. Hay tres tipos principales de computadoras definidas dentro del
servicio de Skype: un nodo estándar, un súper nodo, y el servidor de Skype. Un nodo
estándar es cualquier estación de trabajo que posea el software del cliente de Skype
instalado. Los usuarios pueden hacer y recibir llamadas, enviar mensajes, y utilizar toda la
funcionalidad de Skype a través de esta estación de trabajo. Los súper nodos son similares
en apariencia y funcionalidad a la del usuario final, pero estas estaciones de trabajo han sido
elegidas por el servicio de Skype para gestionar mucho del trabajo del sistema Skype. Si una
estación de trabajo tiene una dirección IP (Internet Protocol) pública y un ancho de banda
adicional, es candidata a convertirse en un súper nodo, y el usuario final no tiene ningún
control sobre si su estación de trabajo es un súper nodo o no.
Figura 1: Arquitectura de Skype
Los súper nodos hacen el trabajo pesado para el servicio de Skype, y el servicio confía en
estos súper nodos, no en un servidor centralizado, para mantener la ubicación de los
usuarios en un directorio (conocido como índice global) y los datos de los nodos regulares.
Las estaciones de trabajo que están detrás de un firewall o de un gateway NAT (Network
Address Translation) nunca serán elegibles para convertirse en un súper nodo puesto que la
estación de trabajo no posee una dirección IP pública.
© 2007 CYBSEC S.A.
2
Dado que las comunicaciones, incluyendo texto, voz, y archivos se pueden enviar a otras
estaciones de trabajo antes de alcanzar al destinatario, resulta importante cifrar estas
comunicaciones de modo que los usuarios de las estaciones de trabajo que están
retransmitiendo esta información no puedan accederla. El cifrado de la sesión comienza
antes de que los dos clientes inicien la transferencia de información entre ellos. Todos los
datos que se envían y se reciben entre los dos clientes se cifran usando un algoritmo de 256bit basado en el estándar AES. La clave para este intercambio es única para esa sesión
particular y para el conjunto de estaciones de trabajo que intercambian la información. Una
vez que haya terminado la sesión, la clave deja de ser válida. La figura 2 muestra la ventana
principal que se presenta a un usuario cuando se ha autenticado en el sistema Skype. Según
el website de Skype, "Skype utiliza RSA de 1024 bits para negociar las claves simétricas de
AES. Las claves públicas del usuario son certificadas por el servidor de Skype en la conexión
usando certificados RSA de 1536 o de 2048 bits."
Figura 2: Ventana principal de Skype
© 2007 CYBSEC S.A.
3
Skype se comunica utilizando una gran gama de puertos con diversas estaciones de trabajo
y servidores. El cliente utiliza paquetes TCP (Transmission Control Protocol) y UDP (User
Datagram Protocol) para transmitir información entre estos equipos. Por defecto, el cliente de
Skype utilizará puertos superiores al 1387 para atender conexiones entrantes, y si estos
puertos son inaccesibles, utilizará los puertos 80 y 443. Además, Skype proporciona soporte
para varios proxies, incluyendo HTTP (Hypertext Transfer Protocol), HTTPS (HTTP sobre
SSL), y SOCKS5. En la figura 3 se muestra la ventana de configuración de la conexión de
Skype.
Figura 3: Configuración de la conexión de Skype
Skype utiliza un protocolo propietario para las comunicaciones con otros usuarios. No se
sabe mucho sobre este protocolo puesto que Skype lo mantiene cerrado y cifrado. Se puede
encontrar más información sobre la arquitectura de Skype en un artículo publicado por
Salman A. Baset y Henning Schulzrinne de la Universidad de Columbia. Este artículo está
disponible en formato PDF en http://arxiv.org/ftp/cs/papers/0412/0412017.pdf.
3. Aspectos de Seguridad
¿Skype es seguro? ¿El programa es seguro de utilizar? ¿Skype es más seguro que una
llamada telefónica hecha con un teléfono analógico o ISDN? ¿Cómo es la seguridad de
Skype comparada con otros sistemas basados en VoIP?
Responder a estas preguntas no es sencillo. La seguridad no es una cualidad abstracta que
se pueda analizar de forma aislada: para evaluar la seguridad de Skype es necesario
considerar amenazas específicas y luego determinar si el diseño o la operación de Skype
protegerán contra esas amenazas.
© 2007 CYBSEC S.A.
4
Para una organización civil que confía en Skype para las comunicaciones de voz, las
siguientes características de seguridad son de gran importancia:
Privacidad
¿El sistema Skype permite que un usuario no autorizado escuche una conversación?
Skype cifra la información que transmite sobre Internet.
La seguridad de los datos intercambiados sobre una conexión cifrada depende de muchos
factores, incluyendo los algoritmos de cifrado usados, cómo se eligen o se intercambian las
claves de cifrado (esto se conoce como administración de claves), y la implementación de los
algoritmos y de los protocolos en el software.
Los clientes de Skype utilizan una combinación de protocolos para la registración en la red, la
búsqueda de otros usuarios, y la realización de una llamada telefónica de voz. Finalmente, se
utiliza una comunicación cifrada para transmitir voz, mensajes instantáneos, y archivos.
¿Skype realmente utiliza el cifrado?
Skype utiliza el algoritmo RSA para el intercambio de claves y AES de 256 bits como
algoritmo de cifrado. Sin embargo, debido a que Skype no ha publicado su protocolo, no es
posible decir si el protocolo que utiliza RSA es seguro o no. Estas preocupaciones necesitan
ser tomadas en contexto. Una conversación utilizando Skype es bastante más privada que
una conversación usando un teléfono analógico tradicional o ISDN. Esas conversaciones
pueden ser monitoreadas por cualquier persona que tenga acceso físico a la línea telefónica
en cualquier punto entre las partes.
El "cifrado" de Skype en contexto
Skype es también más seguro que los sistemas actuales de VoIP, puesto que el cifrado no
suele ser ofrecido por parte de la mayoría de los sistemas de VoIP. Sin embargo, es posible
proteger una conversación de VoIP encaminando el tráfico de VoIP sobre una red privada
virtual (VPN). Un sistema que usa VoIP sobre una VPN es probablemente más seguro que
Skype, si se asume que la VPN fue configurada correctamente.
Es importante mencionar que la seguridad de Skype se puede ver afectada con el uso de
spyware u otra clase de programas de monitoreo que funcionen en la computadora del
usuario. Por ejemplo, los programas como Netbus y Back Orifice pueden permitir que un
usuario malintencionado active el micrófono de una PC y transmita el audio a un sitio remoto
en Internet.
Existen otras preocupaciones sobre la privacidad de Skype que los usuarios deben conocer:
Aunque el cliente de Skype no registra las conversaciones de voz, tiene la capacidad
de registrar las conversaciones de mensajería instantánea en un archivo histórico por
usuario. Esta es la configuración por defecto. Estos archivos podrían ser recuperar
© 2007 CYBSEC S.A.
5
con el uso de spyware, por otras aplicaciones de control remoto, o por un intruso que
logra acceso físico a un sistema informático.
Debido a que se registran a todos los usuarios de Skype en la misma "nube",
cualquier usuario de Skype puede averiguar si otro usuario se encuentra conectado en
un instante dado.
Skype intenta enviar los paquetes directamente sobre Internet entre los participantes
de una conversación, pero si no es posible una trayectoria directa, Skype enviará los
paquetes a través de otras computadoras intermedias denominadas "supernodos". No
se sabe si un súper nodo puede monitorear el tráfico de voz que pasa a través de él.
Los representantes de Skype aseguran que tal monitoreo no es posible debido al uso
del cifrado.
Los servicios de llamada a teléfonos convencionales pueden usar cifrado hasta los
gateways, pero en ese punto las llamadas telefónicas se descifran y se envían sobre
la red pública de telefonía.
Finalmente, se debe recordar que la seguridad del sistema Skype también depende de la
buena voluntad de sus programadores y de la infraestructura donde funcionan los servidores
de Skype.
Autenticidad
¿Si inicia una conversación de Skype con otro usuario, está seguro que se está comunicando
con el usuario cuyo nombre de usuario especificó?
Cada usuario de Skype posee un nombre de usuario y una contraseña. Cada usuario tiene
una dirección de email registrada. Para iniciar sesión en Skype el usuario debe proporcionar
su nombre de usuario y su contraseña. Si pierde la contraseña, Skype cambiará la
contraseña del usuario y le enviará la nueva a la dirección de email registrada. El cliente de
Skype también tiene la capacidad de “recordar" un nombre de usuario y una contraseña para
realizar la conexión automáticamente.
Si la red de Skype ha sido vulnerada, varios ataques podrían ser posibles:
Que un usuario malintencionado averigüe la combinación usuario/contraseña de los
usuarios registrados de Skype.
Si un usuario accediera a Skype
a través de un proveedor de Internet
malintencionado, dicho proveedor podría direccionar las comunicaciones de Skype del
usuario a otro nodo.
Alternativamente, podría ser posible que un nodo malintencionado falsifique una
autentificación válida, permitiendo que un cliente inicie una sesión con una cuenta de
usuario particular de Skype aunque la contraseña para esa cuenta no se conozca.
Dado que Skype es un sistema de comunicaciones de voz, los usuarios pueden identificar
con frecuencia a la otra persona con la que se están comunicando por el sonido de la voz. La
voz es biométrica. Sin embargo, esta capa se encuentra ausente si Skype se utiliza
solamente para la mensajería de texto o intercambio de archivos.
© 2007 CYBSEC S.A.
6
Bajo circunstancias normales, el sistema de autenticación de Skype proporciona niveles
similares de autenticación a los de otros sistemas de usuario/contraseña, tales como AOL o
Hotmail.
Disponibilidad
¿Skype siempre funciona si ambos participantes están conectados a Internet, o puede haber
casos donde no pueda contactar a otro usuario de Skype, incluso si ambos se encuentran
con sesión iniciada? ¿Puede interrumpirse una conversación en curso?
Uno de los grandes triunfos del siglo veinte fue la asombrosa disponibilidad de la red pública
de telefonía. En muchas regiones los clientes han sufrido caídas del servicio de cinco
minutos por año o menos, esto equivale a una disponibilidad de 99.99905%.
Aunque el diseño original de Internet era permitir que la red sobreviva a la pérdida de enlaces
críticos, la disponibilidad se ha convertido solo recientemente en una meta de los fabricantes
de equipamiento de Internet. El servicio de Internet es, en general, inferior al servicio
telefónico. Así es que probablemente cualquier servicio de telefonía de Internet ofrezca una
disponibilidad inferior a la de la red de telefonía pública.
Existen factores adicionales que podrían comprometer la disponibilidad potencial de Skype.
Puesto que el cliente de Skype requiere una autenticación centralizada, podría darse el caso
de que la red entera de Skype deje de funcionar si los servidores de autenticación de Skype
fallan o no se encuentran disponibles.
Supervivencia
¿Si la red o la infraestructura de Skype se interrumpe o se daña de alguna manera, pueden
los usuarios de Skype continuar comunicándose mientras la red se encuentra en dicha
situación?
Las redes de conmutación de paquetes fueron diseñadas para permitir que la comunicación
entre los nodos pueda continuar incluso si la conexión directa entre ambos fuese
interrumpida. La capacidad de un sistema de continuar funcionando después de que se haya
degradado se conoce como supervivencia. El diseño del Internet permite que los
proveedores de Internet elijan el nivel de supervivencia que desean para sus redes. Cuanto
mayor es la supervivencia de un sistema, generalmente el mismo es más costoso y
raramente proporciona un funcionamiento cotidiano mejor. Consecuentemente, la mayoría de
los usuarios de Internet y muchos proveedores de servicios de Internet no han implementado
a los sistemas para que puedan soportar la falla arbitraria de uno o más componentes. No se
sabe si los servidores de autenticación de Skype pueden sobrevivir a las interrupciones o a
los ataques de red.
Resistencia
¿Si la red o la infraestructura de Skype se interrumpen o se dañan de manera tal que Skype
deja de funcionar, los usuarios de Skype pueden reestablecer rápidamente la comunicación
con otros usuarios?
© 2007 CYBSEC S.A.
7
Las redes de conmutación de paquetes son extraordinariamente resistentes. En la mayoría
de los casos las conexiones de Internet se pueden restaurar más rápidamente que las redes
de telefonía tradicionales con el uso de dispositivos inalámbricos. Una ventaja adicional de
Skype y de otros sistemas basados en VoIP es que estos sistemas fueron diseñados con los
usuarios móviles en mente: son altamente tolerantes al cambio cotidiano de la dirección IP
de un usuario. Consecuentemente, Skype y otros sistemas basados en VoIP son
generalmente muy resistentes a interrupciones locales de la red. En el caso específico de
Skype, mientras la computadora pueda registrarse con la red de Skype, el usuario podrá
recibir llamadas donde se encuentre. Por otra parte, el servicio de Skype probablemente no
podría funcionar si la infraestructura de autenticación de Skype no se encontrara disponible.
Integridad de la conversación
¿Skype pierde partes de una conversación en progreso? ¿Se entregan intactos los archivos
que se transmiten?
Las características de integridad de Skype son totalmente desconocidas. Es posible que una
conversación de voz sobre el sistema Skype sufra interrupciones o se vea degradado antes
de alcanzar el otro extremo. Asimismo, Skype no garantiza que los mensajes instantáneos o
los archivos serán entregados tal como fueron transmitidos. En la práctica, sin embargo,
Skype parece hacer un buen trabajo transmitiendo fielmente la voz, y entregando sin
corrupción los mensajes instantáneos y los archivos. Una excepción a esta regla parece ser
cuando Skype se utiliza sobre una red inalámbrica 802.11. En este caso, la calidad de la voz
sufre considerablemente.
Integridad del sistema
¿Cómo afecta el uso de Skype a otras aplicaciones que se están ejecutando en la
computadora del usuario y a la red? Otros programas P2P contienen spyware; ¿Skype los
trae?
Resulta preocupante para los administradores de red cuando los usuarios descargan y
ejecutan software no autorizado, ya que entre otras implicancias, suelen consumir grandes
cantidades de ancho de banda y pueden afectar a la propiedad intelectual. Debido a que las
conversaciones de Skype se limitan a la voz, la carga total que un "súper nodo" Skype podría
consumir sobre una red sería igual a dos veces el número de conversaciones que un súper
nodo podría manejar en un determinado momento por el ancho de banda requerido para una
única conversación de voz. No se sabe cuan alto es este límite. Skype podría también ser un
vector de infección para el spyware. Aunque los creadores del programa aseguran que no
contiene spyware o adware, es posible que no sea verdad o que su política cambie en el
futuro. Skype podría tener vulnerabilidades de seguridad que una tercera persona podría
explotar.
Cabe destacar que muchos de los riesgos planteados por Skype no son diferentes a los
riesgos planteados por el email o por otros medios de comunicación persona a persona. De
hecho, Skype plantea probablemente pocos riesgos a la integridad del sistema total
simplemente porque el uso primario de Skype es para comunicaciones de voz. Sin embargo,
se deben extremar los cuidados cuando se utiliza Skype para intercambiar archivos.
© 2007 CYBSEC S.A.
8
Igualmente, comparado con Kazaa u otros programas similares a este, Skype presenta
menos riesgos porque el intercambio se realiza siempre entre individuos específicos.
4. Conclusiones
Skype utiliza una tecnología nueva, por lo tanto, no ha sido objeto de demasiadas
investigaciones. Quizás haya contribuido a esto el hecho de que la compañía mantiene en
secreto la implementación de los protocolos. A pesar de ello, se pudo determinar que los
diseñadores de Skype tuvieron en cuenta a la seguridad desde su concepción, y que ofrece
más seguridad que las comunicaciones de voz analógica o ISDN convencionales, pero
menos que los sistemas de VoIP sobre VPN.
Skype tiene en cuenta a la autenticación y al cifrado de las comunicaciones que se
establecen. El cifrado incluye, además de la voz, a la mensajería instantánea y al intercambio
de archivos. Sin embargo, no se recomienda utilizar la funcionalidad de transferencia de
archivos, ya que los mismos podrían contener código malicioso o violar la propiedad
intelectual. Además, se recomienda deshabilitar el registro de las conversaciones de
mensajería instantánea, que viene habilitado por defecto, y no recordar el usuario y la
contraseña en el momento de la autenticación.
En lo que se refiere a vulnerabilidades, Skype ha sufrido relativamente muy pocas, y fueron
remediadas con actualizaciones de versión del cliente.
Un punto importante a considerar, aunque escapa a los aspectos de seguridad, es el ancho
de banda que se utiliza para cada conexión. En ambientes empresariales, Skype provee un
conjunto de políticas administrativas que facilitan su implementación y mantenimiento
centralizado, que permiten controlar los puertos de comunicaciones utilizados, la posibilidad
o no de convertirse en súper nodo, la posibilidad o no de transferir archivos, etc.
5. Referencias
http://www.skype.com/security
http://arxiv.org/ftp/cs/papers/0412/0412017.pdf
http://csrc.nist.gov/publications/nistpubs/800-58/SP800-58-final.pdf
Securing IM and P2P Applications for the Enterprise
Paul L. Piccard
Syngress Publishing © 2006
ISBN:9781597490177
Ing. Claudio Meola - Consultor CYBSEC
CYBSEC S.A. desde 1996 se dedica exclusivamente a prestar servicios profesionales especializados
en Seguridad de la Información. Su área de servicios cubre América y Europa y más de 250 clientes
acreditan la trayectoria empresaria. Para más información: www.cybsec.com.
© 2007 CYBSEC S.A.
9
Descargar