P2P视频应用引爆安全危机
然而,在P2P如火如荼的应用热浪中,其安全问题应该越来越引起我们的重视。尤其是这种安全风险与P2P运营的用户规模相比,运营规模越大危害越大。当前P2P技术在国内可以用泛滥来形容。使用该技术的公司,企业不断增加,用户高达上亿。一旦其安全漏洞被利用,其局面将处于完全失控状态,后果十分可怕。而且这种漏洞是P2P与生俱来的,很难从根本上杜绝。因此,在P2P技术的使用上,必须要做长远的考虑。
伪造数据
在P2P网络中,都需要一个描述文件信息的Metadata数据,该数据包含了要下载文件的分块大小和每块数据的完整性检验值,以及Tracker服务器的地址。 而Tracker在文件的P2P网络传输过程中,跟踪P2P节点拥有的文件块信息,用于其他节点及时获取拥有需要的内容块的其他节点的地址。
在破解了P2P协议的情况下,黑客能够在P2P网络中传递Metadata数据时,将其修改为另外一个伪造的文件信息,并同时修改Tracker服务器的地址,同时用伪造的Tracker服务器代替原来的Tracker。那么,P2P网络中的节点会向伪造的Tracker服务器查询P2P网络中其他节点, Tracker服务器会把拥有伪造数据的节点信息发送给该节点。这些节点就会下载到伪造的数据中。这些数据在最后进行完整性检验的时候,也不能被发现出来,因为Metadata中文件的检验信息就是该伪造数据的信息。
P2P网络中由于缺乏统一的管理,在发现伪造的数据后,不能控制P2P节点不下载伪造的数据或者阻止P2P网络中伪造数据的传输,从而导致伪造的数据在P2P网络中肆意传播,而且会处于完全失控状态。
在P2P网络中,由于任何节点都是可以加入的,同时也为网络中的其他节点提供转发服务。从网络攻击的角度来看,一个“恶意”节点故意将正常的数据替换成伪造的数据,在转发的整个P2P网络中,完全可以欺骗其他P2P的节点而不被发现。
在P2P网络中,大的数据块往往被分割成多个小的数据块在网络中传递。为了维护数据的正确性,需要有一个或者多个中心的服务器保存每块数据的Hash值,用于节点在接收到数据时,检验数据是否正确。Hash算法中常用的算法包括MD5、SHA-1、SHA-256、SHA-512等,其中以MD5应用最为广泛。Hash算法本身是一种单向散列算法,它将一长串的数据散列成有限长度(几十到几百个字节)的数据。从理论上讲,一定要存在两个不同的数据,而它们的Hash值是一样的。在实践中,安全专家已经证明MD5不是安全的。也就是说,在有“原内容和MD5值”的情况下,可以找到一种方法,产生一个与原来内容长度和MD5值都相同的新内容。在P2P网络中,如果“恶意”节点用这样的方法产生伪造的数据,替代原有的数据传播到网络中去,是不会被网络的其他节点发现的。
如果有人利用上述方式在P2P网络中伪造数据,可以想象后果是什么样的。
易受攻击
从主流P2P实现来看,虽然数据共享与传送是在用户节点之间直接进行,但在大规模的网络应用中都选择了构建索引服务器进行资源查询与定位。例如,BT应用中设置了Tracker服务器,用户通过资源描述的Torrent 文件得到Tracker的地址之后,连接到Tracker,得到用户节点列表。eMule的客户端通过内置的Tracker地址列表能实现资源的搜索与查找。当然,在KazaA模型中的超级节点也充当了索引服务器的角色。目前,许多网络黑客不约而同地选择了以上的索引服务器连接过程,作为攻击服务器的入手点。P2P的众多用户无形之中成为了网络攻击的发起者。
截获、端口扫描)获取了某个服务器的端口信息,就可以欺骗P2P用户对服务器发动拒绝服务攻击DDoS。这里的欺骗手段是多样化的:在局域网内可通过ARP欺骗的方式;BT应用中客户端通过HTTP的方式连接到Tracker,随后发起Get_peerList的会话。因此,攻击者可以伪装一个虚假的Tracker服务器,设置热门资源的虚假PeerList信息指向目标服务器的端口。由于PeerList信息指出热门资源在目的服务器上,则上千台用户计算机尝试与目标服务器进行连接,从而实现了拒绝服务攻击。 #p#page_title#e#
DDoS攻击一直是网络安全的一个难题。传统的DDoS攻击需要伪造数据包或者控制大规模的计算机来发动。在P2P规模日益扩大的今天,攻击者不需具体入侵用户终端,就能毫不费力地借助网络中的P2P用户发动攻击,这给网络安全提出了新的挑战。
事实上,通过欺骗P2P客户端不但能形成大规模的网络攻击,而且这种情况下大量用户始终处于请求连接的状态,使原有的P2P应用也受到了很大影响。例如,许多P2P流媒体应用中采用了预置索引服务器的方式,受到以上重定向手段的影响后,用户将无法获取到正确的节点列表,从而无法获得媒体服务。同时在用户节点发起数据分片请求时,如果伪装的热点资源服务器伪造数据包进行响应,这使得用户节点接收到的数据分片总是解码失败。
信息泄露
P2P技术使得用户信息和私有网络信息的安全性面临挑战。通常企业或者用户都需要构建自己的私有网络,公网用户不能直接与私网用户建立直接连接进行数据交换。入侵者总是要想方设法得到私有网络内部的信息,通常都是采用带毒邮件、网络插件携带木马等方式使私网内部的用户在不知情的状态下泄漏内部网络的信息。
P2P软件的盛行,使这一过程变得更加难以控制。P2P软件通常都具备私网穿越的功能。例如BT客户端在连接Tracker的时候,请求消息中客户端会对网络地址进行判断;如果客户端在私网内,客户端就会将私网用户的私网地址、端口号,及其所对应的公网地址、端口号包含在消息体中进行发送。
通过私有网络的信息,入侵者可以对内部网络进行有效地攻击。P2P技术的迅速发展,使得恶意P2P软件形成了入侵的有效手段。恶意P2P软件在共享本地资源的过程中,用户无法察觉到它将自己的私密信息(如账户信息)发送到入侵者处。而且在P2P的环境中,追踪入侵者的网络位置变得十分困难。
P2P使得网络热门资源能够在网络中迅速传播,这给病毒和恶意软件提供了传播的捷径。当然,P2P软件本身有可能是无害的,但共享的文件中却可能因为存在漏洞而被利用。流行的RMVB格式存在一个广告弹出的漏洞,这被许多不法分子所利用,作散布不良信息的渠道。热门影片的用户关注程度总是比较高,不法分子在影片中携带弹出式广告,使得有害信息在P2P网络上爆炸式地传播,远远超过了在传统C/S模式下的传播速度。
近来一段时间,蠕虫病毒开始在P2P网络中泛滥,KazaA便首当其冲。例如,Worm.P2P.SpyBot 蠕虫病毒通过KazaA传播,也可通过被后门程序感染的计算机传播。P2P网络节点众多,只要有一个节点感染病毒,就能够通过P2P通信机制将病毒迅速扩散到逻辑邻近的节点,而且逻辑邻近节点在物理上可能分布于多个网络区域,这使得短时间内对网络用户造成的破坏程度远远超过以前。