织梦CMS - 轻松建站从此开始!

罗索

Skype为什么难以监测?

jackyhwei 发布于 2010-09-14 14:57 点击:次 
Skype特别采用了“端口跳跃”的方式。通过UPD、TCP甚者TCP上的80端口连接,Skype通常能够成功穿透那些典型的防火墙。一旦进入网络,它就会有意和其他Skype用户连接并一直保持这种连接
TAG:

  因为占用大量的带宽,Skype对宽带运营商会造成很大的冲击。但是更为严重的是,由于Skype数据传输的性质所带来的安全问题,特别是给那些大企业公司网络所带来的安全问题。由于Skype所使用的是独特的P2P协议,这对那些网络运营商们识别、分类和管理它相对应的网络传输带来了不少挑战。下面我们从一些技术性的问题来分析Skype为什么难以监测

  围绕Skype的问题

  许多企业的网络管理工程师们害怕把Skype引入到他们的企业。Skype通话是否会被外人窃听到?那些狡猾的黑客是否可以在Skype通话中嵌入病毒?Skype要消耗多少网络带宽,我 们可以控制它吗?这些实际的问题不仅对企业的网络系统,而且对那些宽带运营商电信公司都造成了巨大的隐忧。

  安全性

  根据Skype创始人的声明,Skype在网络上的传输内容都是通过加密的。虽然大家都相信Skype对普通的窃听手段是安全的,但是我们并不清楚如果碰到那些顶级黑客的攻击会怎么样。

  任何经过加密传输的数据,其安全性也是由许多因素决定的,包括具体加密算法的使用以及密钥怎么选择和交换(即密钥管理)。另外一个关键的因素是使用加密算法的协议,或者算法和协议这两者是如何运用的。根据Skype客户端之间数据包传输的分析表明:用户在网络上登录,搜索联络人和拨打电话等系一列的过程中,以一个 多种协议组合的形式出现。

  Skype声明它的系统是应用RSA加密标准进行密钥交换和256-bit AES作为主要加密算法。但是Skype并没有公布他们的密钥交换算法和网络传输协议具体资料。尽管很多人多次要求公布,Skype还是拒绝解释他们在证书、授权系统或者加密应用方面的所使用的根本设计原理,所以这样也就无法去验证Skype关于他们加密方式的声明。 我们知道一个应用得不好的RSA 算法虽然可以提供加密,但是并不能保证真正的安全性。

  为了逃避检测,许多的P2P软件包括Skype,经常改变它们在启动时候所使用的端口。结果就是没有像“SIP端口”或者“SMTP端口”那样标准的“Skype端口”。此外,为了穿透企业网络防火墙,Skype特别采用了“端口跳跃”的方式。通过UPD、TCP甚者TCP上的80端口连接,Skype通常能够成功穿透那些典型的防火墙。一旦进入网络,它就会有意和其他Skype用户连接并一直保持这种连接,维持着一个“虚拟电路”。如果网络里面的Skype用户端一个被感染病毒,则和这个用户保持连接的电脑在没有防火墙保护 的情况下也可能被感染。由于Skype的“端口跳跃”方式,检测这些恶意的行为和通过设置网络安全设备来阻止这种病毒传播就变得非常困难。

  

  就像他们的前一个共享软件Kazaa一样,Skype应用了一个P2P的网络。在这个网络里面有两种类型的节点,普通主机和超级节点。一个普通的主机只是一个可以用来拨打电话,发送即时信息等功能的Skype应用程序。一个超级节点是Skype网络中普通主机的终点,意味着任何一个普通主机必须先和超级节点连接和从Skype的登录服务器上取得授权。任何一个拥有足够CPU,内存和网络带宽的公共IP地址的节点都有可能成为超级节点—包括那些企业网络里面的节点。由于Skype超级节点的创建是动态的,并且可以欺骗他们来消耗尽可能多的带宽,所有企业里面的IT工程师们认为这些超级节点对他们的企业网络带来了巨大的风险。

  隐私与授权

  当你开始一个Skype通话时,你又怎样来确定真正与你通话的人就是你想要通话的那个人?每个Skype用户有一个用户名和密码。不过好像用户名和密码的验证程序是通过Skype服务器来进行,但是又不清楚它是怎么这样运作的。例如,Skype网络上的主机可以通过超级节点中转他们的用户名和密码到Skype服务器进行验证,如果这样的话,他们也可以通过超级节点中转一个错误的用户名和密码组合到Skype服务器进行验证。如果Skype网络的确涉入到这个过程,那么就存在几种攻击的可能:

  1: 一个恶意的Skype客户端可能得到那些注册用户的用户名和密码

  2:如果一个Skype用户是通过一个恶意的宽带网络运营商(如电信公司)提供的网络来连接Skype网络,那么ISP(宽带网络运营商)可能会把用户的Skype资料传送到一个恶意的节点上。那么ISP就有可能知道所有他们用户的Skype用户名和密码。

  3:一个恶意的节点可能会伪装成一个合法的节点来进行授权,允许用户用一个独特的用户名和甚至错误的登陆密码进行登陆。

  当我们用Skype进行语音交流的时候,用户经常能过通过对方的声音来辨别对方是不是自己想拨打的人。但是,如果用户只是用Skype来发送即时消息和传送文件,我们却不知道怎么去确认对方身份,正是这个问题迫使许多的网络提供者们希望找到一种准确的方法去检测Skype(和其他P2P协议程序)。一方面许多的电信公司营销部门非常想知道他们的宽带用户有多少比例在使用Skype以决定他们是否需要推出自己的网络电话服务。在另一方面,不可预测的带宽占用以及安全问题被许多的企业IT管理者们所担忧,在遇到这种情况的时候他们通常会阻止Skype的使用。

  Skype数据传输为什么这么难以监测?

  根据以上所述,Skype数据传输难以检测的原因可以归纳为以下四点:

  Skype并没有运行在任何一个标准的端口上. Skype随机地选择一个端口来运行他的软件,然后通过TCP或者UDP或者同时应应用TCP和UDP来进行数据的交流。Skype使用过程中所使用的协议也决定于它是否位于Proxy/NAT后面或者是否有公开的IP地址。

  所有通过Skype的数据交换都是加密的. 这也意味着那些通过Skypeout所拨打的电话号码或者其他数据都是经过加密的。从许多方面来看,在两个终端Skype用户之间并没有直接的数据连接,所有的数据通过网络中间的节点进行,而这些节点在每次通话过程中又会变得不一样。

  Skype是一个P2P协议的软件. 这意味着Skype所连接的那些对等网络用户很多而且这个网络是动态的,这样那些对等网络用户以及他们的IP地址都时刻发生变化

  Skype同时提供语音、即时信息、文件传输和视频服务. 所有这些服务的数据好像都是一起经过的,这样使得把语音从即时消息,视频中等服务中区分开来就显得很困难。

  看来我们需要更先进的检测方法或者等着Skype公布它使用协议的方式或者加密算法才能更准确地控制Skype在网络上的数据传输。不知道对Skype公司进行逆向破解的中国公司进展怎么样了?也许他们会为我们解决Skype这个问题提供一个方法。

(罗笑天)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www.rosoo.net/a/201009/10156.html]
本文出处:IT专家网论坛 作者:罗笑天
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容