DHT系统的安全性优化方法研究①

2016-04-26 02:54史建焘夏清泉张兆心
高技术通讯 2016年12期
关键词:路由表攻击者路由

史建焘 夏清泉 张兆心

(哈尔滨工业大学计算机科学与技术学院 哈尔滨 150001)

DHT系统的安全性优化方法研究①

史建焘②夏清泉 张兆心

(哈尔滨工业大学计算机科学与技术学院 哈尔滨 150001)

对分布式哈希表(DHT)系统的安全脆弱性问题进行了研究,提出了多种安全性优化策略,并给出了一个原型系统。进行了真实网络实验,实验数据表明,现有DHT网络易受索引毒害和路由污染攻击,产生的错误查询结果甚至会引发更大规模的网络安全事件。通过改进一个个DHT系统的节点ID生成机制、路由表更新机制和搜索路径选择机制,从系统运行的各个阶段提升其安全性,抵御攻击者共谋。基于上述方法设计的原型系统在保证平均查询跳数增加不到1跳的情况下,在共谋攻击节点占比60%的网络中,将系统查询成功率保持在65%以上,其方法适用于各种分布式哈希表结构,具有重要的实际应用前景。

对等网络, 分布式哈希表(DHT), 安全优化, 路由污染, 索引毒害

0 引 言

分布式哈希表(distributed Hash table,DHT)是传统P2P领域中的重要技术,DHT使得P2P结构不再依赖于传统的中心组件,成为了真正意义上的完全分布式网络结构。此外,DHT技术也能够解决泛洪等无结构化分布式路由方法盲目搜索的缺点,通过结构化的方式较准确地定位资源。因此,作为分布式计算研究领域重要的技术手段,DHT技术在云计算[1],电子商务[2],命名数据网络[3]等新兴研究领域中也具有重要的应用价值,在新网络体系结构下也有着良好的发展前景,可以与其他现有技术相互融合。但是,由于DHT在设计上缺乏节点身份验证机制,这样的安全性缺陷也限制了其发展。因此,提高DHT技术安全性的研究十分重要,尤其是在节点路由过程中的安全性,不仅限于当前的应用环境和应用模式下,而在网络的大背景下,也有着重大研究意义。本文以BT的Mainline DHT为主要研究对象,通过实际系统证明DHT网络易受攻击,针对主要攻击手段,提出了多种安全性改进机制,并给出了仿真实验结果。

1 相关工作

在DHT网络中,资源和节点都被分配了长度相同的ID值,通过特定计算法则(如异或运算),来计算不同ID值之间的距离。在资源发布和检索过程中,通过递归查找网络中距离目标ID值最近的节点或资源,提供网络服务。常见的攻击方式都是根据DHT网络这种基于距离的查找方式,通过伪造节点和污染路由表进行攻击,使查找结果落入到攻击者制造的陷阱中,造成查找失败。文献[4]最先系统全面地分析了DHT网络的安全脆弱性。文献[5]则将这些攻击方式归纳为女巫攻击、日蚀攻击以及路由和存储攻击等。针对这些攻击方式,目前的研究多是通过提高路由表中冗余节点的方式,降低恶意节点在路由表中的比重[6,7]。文献[8]将这些方法分类为冗余消息方法、异常检测方法和社会网络方法。文献[9-11]为典型的冗余消息方法,主要实现方式包括增加路由消息数量、构造多个不同的路由路径等,其目的都是为了增加正确节点收到请求消息的概率。文献[12-14]通过旁路监听的方式发现消息路由转发过程中存在的异常,从而识别恶意节点,并在出现异常的路由位置重发和转发消息,保证查询正常完成。文献[15-17]通过在DHT网络中引入社交网络的方式,将良性节点和攻击节点割裂,提高恶意攻击的代价。

本文提出的几种DHT安全性优化策略,分别从节点ID生成过程、路由表构造过程和搜索路径选择过程出发,从不同角度增加攻击者的攻击代价,降低恶意节点信誉值,提高良性节点间的协作,从而提高DHT网络的安全性。对于节点ID生成机制,文献[13]提出了一种安全性解决方案,但是需要额外引入中心验证组件,改变了DHT系统的网络结构,破坏了完全分布式的设计理念。而文献[16]给出的方法,由于验证过程复杂,难以在实际系统中应用。针对提供节点信誉的方法,文献[19]提出了FFP系统,但是由于无法避免攻击节点通过协作方式进行虚假交易,也难以引入到实际系统中。本文借鉴了上述研究工作部分思路的同时,给出了更易在实际DHT系统中实现的安全性提升策略。

2 DHT脆弱性分析

2.1 攻击验证系统设计

为分析DHT网络的安全脆弱性,本文设计了一种能够应用于BT的Mainlie DHT中的攻击验证系统。图1是系统整体结构,通过节点爬虫爬取DHT网络中的节点信息和路由表信息,通过索引毒害攻击和路由污染攻击破坏DHT网络的路由过程和搜索过程。攻击时需要通过数据库存储获取的节点信息和路由信息,并通过中心调度模块管理虚假节点和攻击节点的行为。

图1 攻击验证系统结构

2.2 索引毒害

DHT网络中每个资源的索引信息都由ID空间上距离其最近的一组节点负责,本文称之为索引节点集(IndexPeerSet),所有指向索引节点集的节点则称之为关键节点集(CriticalPeerSet),索引毒害攻击的核心思想就是在索引节点集和关键节点集中插入大量伪造的虚假节点。算法1描述了索引毒害攻击的过程,首先通过节点爬虫获取网络中大量的节点,并以这些节点为初始节点,通过发送节点查询报文的方式,不断发现索引节点和关键节点,并在这些节点上发布虚假节点链接。

算法1:IndexPoisonAttack(Target)输入:Target-要攻击的目标文件的Infohash1. getRandomPeerSetfromDHTcrawler;//通过DHT爬虫获取随机节点集合2. CriticalPeerSet←Φ; //初始化关键节点结合3. IndexPeerSet←Φ; //初始化索引节点集合4. Target←targetinfohash;5. forp∈RandomPeerSetdo6. sendGetpeers(Target)Messagetop;//随机节点集合向DHT网络发布节点请求消息7. endfor;8. while(规定时间间隔收到返回消息)9. q←sourcepeerofthemessage;10. type←respondedtypetag;//根据返回消息的类型分别处理11. iftype=NODESthen//消息中返回的是8个DHT节点12. iNode[]←receivedDHTnodes;13. fori←1to8do14. sendGetpeers(Target)MessagetoiNode[i];//继续向8个新节点发送节点请求15. iNode[i].previous←q;16. else//Type=INDEX17. sendFindnode(target)messagetoq;//节点q为内容索引18. ifq.previous∉IndexPeerSetthen19. CriticalPeerSet.insert(q.previous);//将节点q的前序节点加入关键节点集合20. IndexPeerSet.insert(q);//将节点q加入索引节点集合21. endif;22. endif;23. endwhile;24. forp∈IndexPeerSet∪CriticalPeerSetdo25. sendAnnoucepeer(SybilIDs)top; //迭代完成后对关键节点和索引节点进行污染26. endfor;27. return;

2.3 路由污染

路由污染的核心是找到一个合理的ID区间范围,污染这个范围内正常节点的路由表,使这些节点的路由表中包含恶意虚假节点。通过多次实验对比,本研究选择ID值与目标Infohash具有20至50个公共子前缀的节点,通过主动和被动方式污染其路由表。主动污染过程通过爬虫爬行网络中距离目标哈希一定范围内的节点,通过与这些节点通信以图污染其路由表。被动污染通过响应外来的查询消息来获得更好的污染效果,其中对Ping,Find_node和annouce_peer消息处理和真实客户端类似,只有对get_peers消息的处理比较复杂,过程如图2所示。如果查询请求落入到本研究的虚假协作节点集中,则返回8个距离目标Hash值更近的ID。

图2 get_peers消息路由污染过程

2.4 实验结果

为不破坏DHT网络,本文将虚假节点设计为只具有路由功能的轻客户端,进行了多组对比实验。为了验证对搜索过程的影响,本研究每隔一小时在DHT网络中发送100次针对目标Hash值的get_peers请求,图3显示了返回的结果中虚假索引所占的比例,最后可以稳定在75%以上,表明搜索过程已经被攻击系统所控制。

图3 搜索结果中虚假节点的比例

最后,为了更直观地观察网络中节点路由表被污染的情况,选取了DHT网络中两段ID区间内的节点,通过爬虫爬取其路由表,记录路由表中虚假节点的所占比例。图4显示,经过一段时间的路由污染,两个区间的路由表污染程度可分别达到50%和70%,这样的污染率完全可以控制DHT网络的路由过程。

图4 路由表污染情况

3 安全性优化方法

DHT网络的核心设计思想包括定向搜索策略、趋向化设计和基于K桶的路由表,然而这些经典设计同时也是造成DHT网络安全性缺陷的主要原因。本节介绍的DHT安全性优化方法将分别围绕节点ID的生成,路由表更新算法和搜索路径生成方法进行改造。

3.1 节点ID生成机制

现在大多数标准的DHT协议,都采用在节点初始化时随机生成节点ID的方式,没有更为严格的ID生成规则和合规性检查方法。这成为了攻击者所利用的主要漏洞,本节所设计的节点ID生成策略如图5所示。

图5 节点ID生成策略

由客户端通过系统调用产生一组公私钥,产生ID时将公钥与节点网络地址的前20位进行异或并求其Hash值,重复此过程直到产生的结果后12位与节点IP地址的后12位相等,则将此结果P作为节点的ID。通过实验,产生一个符合要求的ID值大概需要几分钟的时间,即需要大概212次计算。攻击者要产生一个符合攻击要求的节点(与目标Hash具有20到50个公共子前缀),则需要212+20到212+50次计算,计算代价造成难以产生足够数量的虚假ID。

3.2 路由表更新机制

目前DHT系统的路由表更新算法是:对于最深层K桶满时根据对应层数的二进制值分裂成2个K桶,对于已经分裂过的K桶,有选择地替换已有路由表中的节点,一般是用新节点替换老节点。这就造成攻击者可以通过不断与被攻击节点通信污染其路由表。本小节设计的路由表更新算法如算法2所示。

算法2: UpdateRoutingTables(r)输入: r:待插入的路由节点1. 找到r中负责目标id的K桶B;2. LB是B在路由表中的层数;3. s表示节点本身;4. ifBisnotfullthen5. insert(B,r); //桶未满,将r插入到K桶B。6. CalculateDkofB;7. IfDk(2n-L-βthen8. remove(B,r);//插入r后,Dk不满足公式(2),将r从路由表删除。9. endif;10. else11. ifs∈Bthen12. split(B);//最深层K桶分裂成两个桶,新的桶B仍为r要插入的桶。13. endif;14. CalculateDkofB;//计算原始K桶中的Dk15. forn∉Bdo16. Replace(n,r);17. CalculateDk’ofB;18. ifDk’

为了防止同一个K桶中被攻击者插入多个距离目标ID更近的节点,本文以K桶中最近的两个节点间的距离为判断依据,决定新节点是否可以插入到路由表中。

由于BT网络中节点总数相对稳定,因此节点路由表的分裂次数和K桶的层数都是相对稳定的,当节点在网络中停留一定时间后其K桶一般不再分裂,最深层一般是和节点自身距离最近的节点。设K桶容量为K=2σ,n为节点ID的长度,N=2r表示网络中节点的总数,当K桶稳定时,最深层桶内两个节点的距离应在区间[2σ+n-r-1, 2σ+n-r]。由于每个桶内节点最小公共子前缀为其层数,如果K桶最大层数为L,则有2σ+n-r-1<2n-L,即L<τ+1-σ。

本文定义第i层K桶中最近两个节点的距离为Dk,则其满足

Dk=min{IDi⊕IDi+1},i∈[1,2δ-1],IDi

(1)

插入到第LR层K桶中的节点需要满足下式才会被插入:

Dk>2n-LR-β

(2)

β为可调整参数。

3.3 搜索路径选择机制

改进的路由表更新算法,避免了攻击者在一个节点的K桶中插入多个虚假攻击节点,为了进一步防止虚假节点作为最近节点被选为搜索过程中的下一跳节点,本文定义了节点信誉值HP,如下式所示:

(3)

其中Pj(Ni)表示当前节点与节点Ni第j次通信的可信度,通过参数λ∈[0,1]来增加最近d次通信的可信度所占的权重。

为了防止攻击者构造多个更靠近目标Hash值的虚假节点,还给出了责任区间的概念,扩大了负责目标Hash值的节点集范围,责任区间内的节点ID满足公式

IDr⊕h<2ω

(4)

其中ω为调节责任区间大小的参数,h为目标Hash值:

查询发起节点选择路由表中距离目标Hash最接近的α个K桶中HP最高的节点作为候选节点。查询路径中的其他节点,判断自己是否是查询责任区间中的节点,如果是则同样选择K个HP值最高节点返回,并结束查询。HP评分过程根据查询是否成功来评判,成功则路径上所有节点评分为1,失败则所有节点评分为0。

4 实验与性能评价

DHT网络的核心是分布式的资源发布和搜索功能,因此本节以查询成功率来评价不同攻击场景下优化后协议的安全性。查询成功率(lookupsuccessratio,LSR)的定义如下:

(5)

其中,Lookuptotal表示每组实验的总查询数,Lookupsucessful表示每组实验中查询成功的次数。实验通过Oversim平台在仿真环境下进行,共模拟了5000个节点,攻击节点采用的攻击方式为索引毒害和路由污染。

图6给出了网络中的虚假攻击节点数占网络总结点数20%,责任区间内节点数为2,协议分别采用2路和3路并行查询时的查询成功率。图7给出了同样攻击场景下,责任区间节点数为16时的查询成功率。可以得出如下结论:(1)优化后的DHT协议查询成功率都要高于原始协议。(2)采用2路并行查询要优于3路并行查询。(3)责任区间节点数为16时更能抵御攻击。这是因为随着查询次数的增加,恶意攻击节点获得的评价会不断降低,良性节点间协作的路由表健壮性不断提高。责任区间节点数越高,查询过程所需的跳数越少,查询有更大的概率收敛于良性节点。

图6 查询成功率(责任区间=2,攻击节点占比20%)

图7 查询成功率(责任区间=16,攻击节点占比20%)

图8给出了网络中的虚假攻击节点数占网络节点总数的30%,责任区间内节点数为2时,K桶中虚假攻击节点占比。可以得到如下结论:(1)高层K桶中的虚假节点更多。(2)随着查询次数的增加,K桶中虚假节点占比不断减少。

图8 K桶中恶意节点所占比例随查询次数的变化

从前面的实验可以看出,优化后的DHT协议安全性更高。为了验证增强安全性的同时,系统仍然具有较高的DHT查询效率,本研究在无攻击的环境下统计了改进前后DHT网络中成功查询的平均跳数。如图9所示,责任区间内节点数分别为2和16,分别采用1到3路并行查询策略。可以得到如下结论:(1)责任区间内节点数越多,平均查询跳数越小,查询效率越高。(2)改进后的协议,平均查询跳数与查询并行度无关。这是由于改进后算法的查询路径相互独立。(3)改进后的协议查询效率略低于原始协议,但对于用户体验来说影响不大。

图9 不同条件下DHT查询收敛的平均跳数

图10~图12给出了网络中攻击节点所占比例变化时,不同参数下改进前后DHT系统中的查询成功率。可以得出如下结论:(1)攻击节点比率越高,查询成功率越低。(2)随着网络中总查询次数的增加,改进后协议的查询成功率明显增加,即使攻击节点在网络中占比超过60%时,查询成功率也能达到65%以上。

图10 不同攻击节点比率下查询成功率(100次查询后)

图11 不同攻击节点比率下查询成功率(500次查询后)

图12 不同攻击节点比率下查询成功率(1000次查询后)

当然,仿真实验中的攻击场景更为极端,实际环境中攻击节点很难达到这么高的占比,同时由于采用了基于公私钥机制的ID生成算法,攻击者更难构造足够多满足攻击条件的节点,可以说优化后的DHT系统具有很好的安全性。

5 结 论

DHT网络在P2P文件共享系统以及新一代网络体系结构研究中都有重要的应用价值。DHT系统的主要功能是资源的发布和检索,其基本操作和节点的路由表紧密相关,但传统的DHT协议缺少安全性方面的设计。攻击者可以通过大规模的构造虚假共谋节点进行索引毒害和路由污染攻击,破坏路由查询结果的准确性,甚至可以造成更严重的安全威胁。本文以BT的Mainline DHT为例开展研究,相同的分析方法和改进策略同样适用于其他的DHT实例。提出的节点ID生成机制、路由表节点更新机制以及搜索路径选择机制,能够在不降低DHT网络核心服务效率的同时,提高DHT系统的安全性,有效抵御共谋攻击和路由攻击,具有重要的实际应用前景。

[ 1] Chaabouni R, Garcia-Lopez P, Sanchez-Artigas M,et al. Boosting content delivery with BitTorrent in online cloud storage services. In: Proceedings of the 13th IEEE International Conference on Peer-to-Peer Computing, Trento, Italy, 2013

[ 2] Musau F, Guojun W, Shui Y, et al. Securing recommendations in grouped P2P e-commerce trust model.IEEETransactionsonNetworkandServiceManagement, 2012, 9(4): 407-420

[ 3] Dannewitz C, Ambrosio M, Karl, Vercellone V. Hierarchical DHT-based name resolution for information-centric networks.ComputerCommunications, 2013, 36(7):736-749

[ 4] Chaabouni R, Garcia-Lopez P, Sanchez-Artigas M, et al. Boosting content delivery with BitTorrent in online cloud storage services. In: Proceedings of the 13th IEEE International Conference on Peer-to-Peer Computing, P2P’13, Trento, Italy, 2013 .1-2

[ 5] Chan C, Chan S. Distributed Hash tables: Design and Applications. In: Handbook of Peer-to-Peer Networking. Springer Science, 2010. 257-280

[ 6] Urdaneta G, Pierre G, Steen V M. A survey of DHT security techniques.ACMComputingSurveys, 2011, 43(43): 1-8

[ 7] Neil B, Shields L C, Margolin N B. A survey of solutions to the sybil attack. Amherst: University of Massachusetts Amherst, 2006. 1-12

[ 8] Singh A, Castro M, Druschel P, et al. Defending against eclipse attacks on overlay networks. In: Proceedings of the 11th Workshop on ACM SIGOPS European Workshop, 2004. 1-21

[ 9] Villanueva R, Villamil M, Arnedo R. Secure routing strategies in DHT-based systems. In: Proceedings of the 3rd International Conference on Data Management in Grid and Peer-to-Peer Systems, Munich, German, 2010. 62-74

[10] Villanueva R, Villamil M. Secure routing DHT: A protocol for reliable routing in P2P DHT-based systems. In: Proceedings of the 7th International Conference on Internet and Web Applications and Services (ICIW 2012), Stuttgart, Germany, 2012. 260-267

[11] Sanchez-Artigas M, Garcia-Lopez P, Gomez A. A novel methodology for constructing secure multipath overlay.IEEEInternetComputing, 2005, 9(6): 50-57

[12] Sanchez-Artigas M, Garcia-Lopez P, Gomez A. Bypass: providing secure DHT routing through bypassing malicious peers. In: Proceedings of Symposium on Computers and Communications, Tokyo, Japan, 2008. 934-941

[13] Srivatsa M, Liu L. Vulnerabilities and security threats in structured overlay networks: A quantitative analysis. In: Proceedings of the 20th Annual Computer Security Applications Conference, Tucson, USA, 2004. 252-261

[14] Wang P, Osipkov L, Hopper N, et al. Myrmic: secure and robust DHT routing: [Technical Report]. University of Minnesota-Twin Cities, 2006. 1-12

[15] Roh B, Kwon O, Hong S, et al. The exclusion of malicious routing peers in structured P2P systems. In: Proceedings of the 5th International Workshop on Agents and Peer-to-Peer Computing, Hakodate, Japan, 2006. 43-50

[16] Marti S, Ganesan P, Garcia-Molina H. DHT routing using social links. In: Proceedings of the 3rd International Workshop on Peer-to-Peer Systems (IPTPS’04), La Jolla, USA, 2004. 100-111

[17] Sanchez-Artigas M, Garcia-Lopez P. On routing in distributed hash tables: is reputation a shelter from malicious behavior and churn? In: Proceedings of the 9th International Conference on Peer-to-Peer Computing, Linkoping, Sweden, 2009. 31-40

[18] Cerri D, Ghioni A, Paraboschi S, et al. ID mapping attacks in p2p networks. In: Proceedings of the 2005 IEEE Global Telecommunications Conference (GLOBECOM 2005), St. Louis, USA, 2005. 3-6

Study on the security optimization of DHT systems

Shi Jiantao, Xia Qingquan, Zhang Zhaoxin

(School of Computer Science and Technology, Harbin Institute of Technology, Harbin 150001)

The security vulnerability of distributed Hash table (DHT) systems was studied, a variety of security optimization strategies were proposed, and a prototyhpe system was designed. Real world network experiments were performed, and the results show that existing DHT networks are vulnerable to index poisoning and routing pollution attacks, so the wrong query results caused by this will even lead to a larger network security event. By improving the node ID generation mechanism, the routing table update mechanism and the search path selection mechanism of a DHT system, the study improved the security of the DHT system from all working stages to resist attackers’ collusion attack. The desinged prototype system based on these methods can remain the query success rate of more than 65% in the attacking seniro with 60% of collusion attack nodes. The only cost is increasing the average querying hop of less than 1. Thus, the method is applicable to a variety of distributed Hash table structures and has important practical prospects.

peer-to-peer network, distributed Hash table (DHT), security optimization, routing pollution, index poisoning

10.3772/j.issn.1002-0470.2016.12.002

①国家自然科学基金(61402137)资助项目。

2016-09-08)

②男,1980年生,博士,讲师;研究方向:网络安全,云安全,P2P系统安全,联系人,E-mail: shijiantao@hit.edu.cn

猜你喜欢
路由表攻击者路由
机动能力受限的目标-攻击-防御定性微分对策
基于OSPF特殊区域和LSA的教学设计与实践
铁路数据网路由汇聚引发的路由迭代问题研究
研究路由表的查找过程
多点双向路由重发布潜在问题研究
一种基于虚拟分扇的簇间多跳路由算法
探究路由与环路的问题
正面迎接批判
有限次重复博弈下的网络攻击行为研究
BGP创始人之一Tony Li:找到更好的途径分配互联网地址