与P2P技术相关的信息安全问题
时间:2008-04-28 来源: 作者:
6.3 如何构建健壮的网络[8]
所谓健壮性,就是当网络中节点出现故障、流量发生阻塞以及拓扑结构发生变化时,仍然能够正常运行,并提供承诺服务的能力。要建立健壮的P2P网络,需要解决以下问题:
6.3.1 故障诊断
在一般的P2P网络中,由于没有集中控制节点,主要的故障最终都归结为节点失效,失效的原因可能是该用户退出网络或是相关网路中的路由错误等。发现节点失效的方法通常比较简单,可以在发起通信时检测,或采用定时握手的机制。
一些系统进一步监测网络通信状态,如通信延迟、响应时间等,以此来指导节点自适应地调整邻接关系和路由、提高系统性能。
在要求更高的场合,有时还需要发现网络攻击和恶意节点等安全威胁。由于P2P网络中节点的加入往往具有很大的自由性,而且缺少全局性的权限管理中心或信任中心,对恶意节点的检测一般通过信誉机制来实现。
6.3.2 容错
在节点失效、网络拥塞等故障发生后,系统应保证通信和服务的连续性。最简单的办法是重试,这在发生暂时性的网络拥塞时是有效的。对于经常出现的节点失效问题,则需要调整路由以绕开故障节点和网络。在Hybrid型的P2P网络中,中心索引节点可以提供失效节点的替代节点;在Gnutella等广播型的P2P网络中,部分节点的失效不会影响整个网络的服务;在Chord、Freenet等内容路由型P2P网络中,其路由中的每一步都有多个候选,通过选择相近的路由可以很容易地绕过故障节点,由于其以n维空间的方式进行编址,中间路径的选择不会影响最终到达目标节点。
除了通信外,一些P2P网络还提供内容存储和传输等服务,这些服务的容错能力通过信息的冗余来保证。与广播机制或内容路由算法相结合,可以在目标节点失效后很快定位到相近的、存储有信息副本的节点。
6.3.3 自组织
自组织性指系统能够自动地适应环境的变化、调整自身结构。对于P2P网络来说,环境的变化既包括节点的加入和退出、系统规模的大小,也包括网络的流量、带宽和故障,以及外界的攻击等影响。
目前的P2P系统大都能适应系统规模的变化。典型的方法是以一定的策略更新节点的邻接表并将邻接表限制在一定的规模内,使整个网络的规模不受节点的限制。
在一些对邻接关系有一定要求的网络中,则需随节点的变更动态调整系统拓扑。如Clique Net和Herbivote等基于DC-net的匿名网络,通过自动分裂/合并机制将邻接节点限制在一定数量范围内以保证系统的性能。
6.4 复制机制
P2P技术体系中的复制机制主要是为了增强P2P网络的抗攻击性,避免由于网络攻击造成的网络重要数据丢失,同时增强网络的可扩展性,使网络负载平衡。
6.5 P2P流量的分析和统计[11]
流量分析是一个不断发展变化的过程。最初的P2P流可通过其固定服务器IP地址及端口号加以识别,很快便大量出现了采用可变端口及伪装端口的分布式P2P应用软件。由于Internet上存在着众多的P2P应用软件,使得P2P流量的识别与监控必须采用一种或多种手段协作进行。
(1)IP地址识别:IP地址识别可以分类出集中式P2P中的目录服务器以及混和式P2P中的Super-peer以及某些恶意的Peer用户。
(2)TCP/UDP端口识别:可以分类出采用固定端口的P2P应用,以及提示未知端口的出现。
(3)数据报深层扫描(DPI):由于P2P软件引入动态端口,只能通过扫描高层协议来探知P2P数据报。如对于Kazaa系统,我们只能深入HTTP内部获取Kazaa特征代码。对于其它P2P应用,有时甚至要通过几个特征代码才能判明其为P2P流。通过DPI扫描可识别Gnutellae-donkey Kazaa Bittorrent等5类主流P2P软件。实验证明该方法的识别准确度可以达到95%,然而DPI扫描技术无法识别加密的P2P流。
0
