【摘要】作为一种新兴的网络技术,P2P使得用户节点能够从分布在网络中的其他用户节点获取所需数据,大大减小了C/S模式下服务器的压力,从而使互联网结构走向分散化、平衡化。网络上无数的“自由、匿名”节点是P2P技术生命力的来源,但是,也正是这些节点的不可控性,造成了P2P应用安全上的不确定性。
【关键词】P2P;Metadata;Tracker;DDoS;Torrent
1 P2P技术概述
计算系统可分为集中式和分布式两类,分布式可进一步划分为C/S模式和P2P模式。
P2P是具有如下特征的动态系统:其中的所有节点之间都能够直接交互,建立通信和共享资源,这种交互无需(或仅是部分地)借助于中央服务器。任一节点仅拥有关于网络局部的或部分的知识,但系统整体具有诸如自组织、协作、自适应、自修复等全局聚现行为,系统获得这些高级特性是通过节点之间的局部(本地)交互,而不再是主要通过人为地在设计时就对系统行为规则进行显式的、精致的设计。
目前,P2P主要应用在:大规模分布式计算;分布式信息存储和信息查询;信息交换;协同应用等领域。
2 基于P2P的安全威胁
从“自身安全受到威胁”和“可能成为威胁他人的攻击平台”两个方面而言,P2P应用主要面临以下四个方面的问题。
2.1 伪造数据进行渗透
在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网络中,如果恶意节点用这样的方法产生伪造的数据,替代原有的数据传播到网络中去,是不会被网络的其他节点发现的。
2.2 DDoS发动平台
从主流P2P实现来看,虽然数据共享与传送是在用户节点之间直接进行,但在大规模的网络应用中都选择了构建索引服务器进行资源查询与定位。典型P2P应用中大都设置了Tracker服务器,用户通过资源描述的Torrent文件获得Tracker的地址之后,连接到Tracker,得到用户节点列表。目前,许多网络黑客不约而同地选择了以上的索引服务器连接过程,作为攻击服务器的入手点。P2P的众多用户无形之中成为网络攻击的发起者。
假定攻击者通过其他途径获取了某个服务器的端口信息,就可以欺骗P2P用户对服务器发动拒绝服务攻击DDoS。攻击者可以伪装成一个虚假的Tracker服务器,设置热门资源的虚假PeerList信息指向目标服务器的端口。由于PeerList信息指出热门资源在目的服务器上,所以上千台用户计算机尝试与目标服务器进行连接,从而实现拒绝服务攻击。
DDoS攻击一直是网络安全的一个难题。传统的DDoS攻击需要伪造数据包或者控制大规模的计算机来发动。在P2P规模日益扩大的今天,攻击者不需要具体入侵用户终端,就能毫不费力地借助网络中的P2P用户发动攻击,这给网络安全提出了新的挑战。
事实上,通过欺骗P2P客户端不但能形成大规模的网络攻击,而且这种情况下大量用户始终处于请求连接的状态,使原有的P2P应用也受到了很大的影响。例如,许多P2P流媒体应用中采用了预置索引服务器的方式,受到以上重定向手段的影响后,用户将无法获取到正确的节点列表,从而无法获得媒体服务。同时在用户节点发起数据分片请求时,如果伪装的热点资源服务器伪造数据包进行响应,则用户节点接收到的数据分片总是解码失败。
2.3 新的泄密漏洞
P2P技术使得用户信息和私有网络信息的安全性面临挑战。通常企业或者用户都需要构建自己的私有网络,公网用户不能直接与内网用户建立直接连接进行数据交换。入侵者总是想方设法得到私有网络内部的信息,通常都是采用带毒邮件、网络插件携带木马等方式使内网内部的用户在不知情的状态下泄露内部网络的信息。
P2P软件的盛行,使这一过程变得更加难以控制。P2P软件通常都具备内网穿越的功能。例如BT客户端在连接Tracker时请求消息中客户端会对网络地址进行判断,如果客户端在内网内,客户端就会内网用户地址、端口号,及所对应的公网地址、端口号包含在消息体中进行发送。
通过私有网络的信息,入侵者可以对内部网络进行有效的攻击。P2P技术的迅速发展,使得恶意P2P软件形成了入侵的有效手段。恶意P2P软件在共享本地资源的过程中,用户无法察觉到它将自己的私密信息(如账户信息)发送到入侵者处,而且在P2P环境中,追踪入侵者的网络位置变得十分困难。
2.4 恶意软件传播平台
P2P使得网络热门资源能够在网络中迅速传播,这给病毒和恶意软件提供了传播的捷径。当然,P2P软件本身有可能是无害的,但共享的文件中却可能因为存在漏洞而被利用。流行的RMVB格式存在一个广告弹出的漏洞,这被许多不法分子所利用,用作散布不良信息的渠道。热门影片的用户关注程度总是比较高,不法分子在影片中携带弹出式广告,使得有害信息在P2P网络上爆炸式地传播,远远超过了C/S模式下的传播速度。蠕虫病毒开始在P2P网络中泛滥,KazaA便首当其冲。例如,Worm.P2P.SpyBot蠕虫病毒可通过KazaA传播,也可通过被后门程序感染的计算机传播。
3 总结
P2P技术的最大安全问题,在于节点自由、匿名、无组织,数据传输难以控制。P2P网络也成了恶意软件、病毒传播及不法信息传播的温床,P2P网络节点众多,只要有一个节点感染病毒,就能够通过P2P通信机制将病毒迅速扩散到逻辑临近的节点,而且逻辑临近节点在物理上可能分布于多个网络区域,这使得短时间内对网络用户造成的破坏程度远远超过以前。此外,合法的P2P应用软件本身也可能存在漏洞,使用户计算机遭到入侵渗透,甚至成为僵尸网络的一分子。
【参考文献】
[1]管磊.P2P技术揭秘:P2P网络技术原理与典型系统开发[M].清华大学出版社,2011,1.
[2]张春红.P2P技术全面解析[M].人民邮电出版社,2010,5.
[3]孙继银,张宇翔,申巍葳.网络窃密、监听及防泄密技术[M].西安电子科技大学出版社,2011,3.
[4]王汝传.对等(P2P)网络安全技术[M].科学出版社,2012,4.
[责任编辑:王洪泽]
推荐访问: 威胁 面向 网络 P2P