● 摘要
近年来P2P技术逐渐成熟,其相关应用在互联网中占据了重要地位。Kademlia是目前应用最广泛的全分布式P2P协议,Kad是在Kademlia协议基础上进一步扩展、增强设计的P2P协议。基于Kad协议的eMule是目前最流行的P2P文件共享软件系统,具有百万级的同时在线用户数,因此本文选择Kad网络与eMule作为研究对象。
为了进一步优化Kad网络的性能,确保其能够在可控、安全、高效的前提下继续向前发展并为广大网民提供能好的服务,需要对Kad网络进行深入的研究。近年来,随着Kad网络的协议设计、路由算法、搜索优化等技术日趋成熟,Kad网络的测量与安全技术已经成为新的研究热点。Kad网络的测量一般指Kad网络的拓扑结构、流量特征、网络和节点的可用性以及用户行为的测量和分析等方面;Kad网络的安全则主要研究Kad网络共享内容安全、Kad协议安全、节点路由表安全、对外部用户所产生的安全威胁以及相应的安全防御技术。这两个研究领域并不是孤立的,而是相互关联、相互依赖并相互促进的两个重要课题。网络测量是网络安全研究的前提和依据,任何安全问题的改进又反过来可以提高网络性能,从而改变网络测量方法甚至引起网络流量特征的变化。
本文在Kad网络的网络测量、安全技术评估、Sybil攻击检测、Eclipse攻击的防御技术方面进行了系统深入的研究。本文的主要研究工作和创新点如下:
1) 对Kad网络的安全防御技术及其效果进行了实验验证与分析。
Kad网络引入了IP地址限制、身份验证、报文限制、DDoS防御、加密传输等防御技术,本文详细介绍和分析了各种防御算法的实现细节。并通过构造实际的网络攻击实验场景,全面评估了防御技术的效果。实验验证结果如下:Kad的传输加密可以有效实现隐蔽传输Kad报文的功能,可以避开ISP根据报文长度、特征匹配的封堵。对于DDoS攻击,目前的Kad网络不能对DNS服务器进行攻击,在全网在线一百万节点的条件下,理论上最多可以产生132.3MB/s的攻击流量,依旧可以用来攻击中小规模的网站。单主机可通过修改UDP的源IP地址实施Sybil攻击,但是该种方式即使攻击成功,由于Sybil节点IP地址是假的,没有进一步利用的价值。此外,攻击者还可以直接利用多个独立IP发起分布式Sybil攻击。Kad可以防御Eclipse节点隔离攻击,但是不能防御文件内容的Eclipse攻击。
2) 提出了一种改进的Kad网络路由查询流量监测方法。
对Kad网络路由查询流量的监测方法进行了系统深入的研究。由于新版Kad网络引入了IP限制保护机制,必须采用部署多个IP的方式来监测Kad网络的路由查询流量。为此,本文提出了一种改进的Kad网络路由查询流量监测方法,并对监测成功率进行了理论上的估计和实际的实验验证。实验结果表明本文方法可采集到78%的查询流量。此外,在监测过程中,我们发现以搜索者为核心,存在着远、中、近三个区域,其中近、远距离与IP限制无关,在中等距离上的搜索由于IP限制,会导致大量的监测失败,我们从理论的角度分析了中等距离的边界以及监测的成功率。在现网上的实验验证了该区域的存在。
3) 基于社交网络中的社团发现算法,提出了一种检测Kad网络中Sybil攻击团体的方法。
社交网络中的社区发现算法CNM可以发现网络拓扑图中的团体,团体内的节点具有节点之间相互连接紧密,而与团体外节点间的连接稀疏的特点,这与Kad网络中Sybil攻击团体的特点相类似。受社交网络中的社团发现算法的启发,本文提出了一种检测Kad网络中Sybil攻击团体的方法。为了能检测具有百万节点、上亿条边的Kad网络,我们进行了一系列的预处理:首先根据Kad路由表特征高效识别异常节点,采集其路由表项,最后通过聚类路由表结构相似的异常节点来降低CNM算法的输入规模。实验结果表明该方法可有效发现规模达数百的Sybil攻击团体。最后,应用该方法对实际Kad网络进行检测,发现了真实存在的多个规模不一的Sybil攻击团体。
4) 提出了一种防御Eclipse攻击的Kad网络扩展协议。
Eclipse攻击是一种Sybil攻击的形式,其目标是把一部分节点从Kad网络中隔离出来,破坏其路由表的连通性。本文提出了一种Kad网络的扩展协议来防御Eclipse攻击:每个存储节点保存下载过该资源的节点列表,随后的查询节点向曾经下载过的节点进行随机请求,只有正确响应请求的节点数超过可信阈值后,查询节点才会向该存储节点发送SEARH_REQ请求。实验结果表明,我们的扩展协议可以有效防御预定规模的Eclipse攻击,同时我们给出了防御1000个节点构成的Eclipse攻击的建议参数值。本文的防御方法与基于中心鉴权和谜语的防御方式相比,具有全分布、不受计算能力影响、支持开源软件等优点,所付出的代价是数百K到几MB的额外带宽,以及数秒到数十秒的搜索延迟。
相关内容
相关标签