史建燾 夏清泉 張兆心
(哈爾濱工業(yè)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 哈爾濱 150001)
DHT系統(tǒng)的安全性優(yōu)化方法研究①
史建燾②夏清泉 張兆心
(哈爾濱工業(yè)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 哈爾濱 150001)
對(duì)分布式哈希表(DHT)系統(tǒng)的安全脆弱性問(wèn)題進(jìn)行了研究,提出了多種安全性優(yōu)化策略,并給出了一個(gè)原型系統(tǒng)。進(jìn)行了真實(shí)網(wǎng)絡(luò)實(shí)驗(yàn),實(shí)驗(yàn)數(shù)據(jù)表明,現(xiàn)有DHT網(wǎng)絡(luò)易受索引毒害和路由污染攻擊,產(chǎn)生的錯(cuò)誤查詢結(jié)果甚至?xí)l(fā)更大規(guī)模的網(wǎng)絡(luò)安全事件。通過(guò)改進(jìn)一個(gè)個(gè)DHT系統(tǒng)的節(jié)點(diǎn)ID生成機(jī)制、路由表更新機(jī)制和搜索路徑選擇機(jī)制,從系統(tǒng)運(yùn)行的各個(gè)階段提升其安全性,抵御攻擊者共謀?;谏鲜龇椒ㄔO(shè)計(jì)的原型系統(tǒng)在保證平均查詢跳數(shù)增加不到1跳的情況下,在共謀攻擊節(jié)點(diǎn)占比60%的網(wǎng)絡(luò)中,將系統(tǒng)查詢成功率保持在65%以上,其方法適用于各種分布式哈希表結(jié)構(gòu),具有重要的實(shí)際應(yīng)用前景。
對(duì)等網(wǎng)絡(luò), 分布式哈希表(DHT), 安全優(yōu)化, 路由污染, 索引毒害
分布式哈希表(distributed Hash table,DHT)是傳統(tǒng)P2P領(lǐng)域中的重要技術(shù),DHT使得P2P結(jié)構(gòu)不再依賴于傳統(tǒng)的中心組件,成為了真正意義上的完全分布式網(wǎng)絡(luò)結(jié)構(gòu)。此外,DHT技術(shù)也能夠解決泛洪等無(wú)結(jié)構(gòu)化分布式路由方法盲目搜索的缺點(diǎn),通過(guò)結(jié)構(gòu)化的方式較準(zhǔn)確地定位資源。因此,作為分布式計(jì)算研究領(lǐng)域重要的技術(shù)手段,DHT技術(shù)在云計(jì)算[1],電子商務(wù)[2],命名數(shù)據(jù)網(wǎng)絡(luò)[3]等新興研究領(lǐng)域中也具有重要的應(yīng)用價(jià)值,在新網(wǎng)絡(luò)體系結(jié)構(gòu)下也有著良好的發(fā)展前景,可以與其他現(xiàn)有技術(shù)相互融合。但是,由于DHT在設(shè)計(jì)上缺乏節(jié)點(diǎn)身份驗(yàn)證機(jī)制,這樣的安全性缺陷也限制了其發(fā)展。因此,提高DHT技術(shù)安全性的研究十分重要,尤其是在節(jié)點(diǎn)路由過(guò)程中的安全性,不僅限于當(dāng)前的應(yīng)用環(huán)境和應(yīng)用模式下,而在網(wǎng)絡(luò)的大背景下,也有著重大研究意義。本文以BT的Mainline DHT為主要研究對(duì)象,通過(guò)實(shí)際系統(tǒng)證明DHT網(wǎng)絡(luò)易受攻擊,針對(duì)主要攻擊手段,提出了多種安全性改進(jìn)機(jī)制,并給出了仿真實(shí)驗(yàn)結(jié)果。
在DHT網(wǎng)絡(luò)中,資源和節(jié)點(diǎn)都被分配了長(zhǎng)度相同的ID值,通過(guò)特定計(jì)算法則(如異或運(yùn)算),來(lái)計(jì)算不同ID值之間的距離。在資源發(fā)布和檢索過(guò)程中,通過(guò)遞歸查找網(wǎng)絡(luò)中距離目標(biāo)ID值最近的節(jié)點(diǎn)或資源,提供網(wǎng)絡(luò)服務(wù)。常見的攻擊方式都是根據(jù)DHT網(wǎng)絡(luò)這種基于距離的查找方式,通過(guò)偽造節(jié)點(diǎn)和污染路由表進(jìn)行攻擊,使查找結(jié)果落入到攻擊者制造的陷阱中,造成查找失敗。文獻(xiàn)[4]最先系統(tǒng)全面地分析了DHT網(wǎng)絡(luò)的安全脆弱性。文獻(xiàn)[5]則將這些攻擊方式歸納為女巫攻擊、日蝕攻擊以及路由和存儲(chǔ)攻擊等。針對(duì)這些攻擊方式,目前的研究多是通過(guò)提高路由表中冗余節(jié)點(diǎn)的方式,降低惡意節(jié)點(diǎn)在路由表中的比重[6,7]。文獻(xiàn)[8]將這些方法分類為冗余消息方法、異常檢測(cè)方法和社會(huì)網(wǎng)絡(luò)方法。文獻(xiàn)[9-11]為典型的冗余消息方法,主要實(shí)現(xiàn)方式包括增加路由消息數(shù)量、構(gòu)造多個(gè)不同的路由路徑等,其目的都是為了增加正確節(jié)點(diǎn)收到請(qǐng)求消息的概率。文獻(xiàn)[12-14]通過(guò)旁路監(jiān)聽的方式發(fā)現(xiàn)消息路由轉(zhuǎn)發(fā)過(guò)程中存在的異常,從而識(shí)別惡意節(jié)點(diǎn),并在出現(xiàn)異常的路由位置重發(fā)和轉(zhuǎn)發(fā)消息,保證查詢正常完成。文獻(xiàn)[15-17]通過(guò)在DHT網(wǎng)絡(luò)中引入社交網(wǎng)絡(luò)的方式,將良性節(jié)點(diǎn)和攻擊節(jié)點(diǎn)割裂,提高惡意攻擊的代價(jià)。
本文提出的幾種DHT安全性優(yōu)化策略,分別從節(jié)點(diǎn)ID生成過(guò)程、路由表構(gòu)造過(guò)程和搜索路徑選擇過(guò)程出發(fā),從不同角度增加攻擊者的攻擊代價(jià),降低惡意節(jié)點(diǎn)信譽(yù)值,提高良性節(jié)點(diǎn)間的協(xié)作,從而提高DHT網(wǎng)絡(luò)的安全性。對(duì)于節(jié)點(diǎn)ID生成機(jī)制,文獻(xiàn)[13]提出了一種安全性解決方案,但是需要額外引入中心驗(yàn)證組件,改變了DHT系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu),破壞了完全分布式的設(shè)計(jì)理念。而文獻(xiàn)[16]給出的方法,由于驗(yàn)證過(guò)程復(fù)雜,難以在實(shí)際系統(tǒng)中應(yīng)用。針對(duì)提供節(jié)點(diǎn)信譽(yù)的方法,文獻(xiàn)[19]提出了FFP系統(tǒng),但是由于無(wú)法避免攻擊節(jié)點(diǎn)通過(guò)協(xié)作方式進(jìn)行虛假交易,也難以引入到實(shí)際系統(tǒng)中。本文借鑒了上述研究工作部分思路的同時(shí),給出了更易在實(shí)際DHT系統(tǒng)中實(shí)現(xiàn)的安全性提升策略。
2.1 攻擊驗(yàn)證系統(tǒng)設(shè)計(jì)
為分析DHT網(wǎng)絡(luò)的安全脆弱性,本文設(shè)計(jì)了一種能夠應(yīng)用于BT的Mainlie DHT中的攻擊驗(yàn)證系統(tǒng)。圖1是系統(tǒng)整體結(jié)構(gòu),通過(guò)節(jié)點(diǎn)爬蟲爬取DHT網(wǎng)絡(luò)中的節(jié)點(diǎn)信息和路由表信息,通過(guò)索引毒害攻擊和路由污染攻擊破壞DHT網(wǎng)絡(luò)的路由過(guò)程和搜索過(guò)程。攻擊時(shí)需要通過(guò)數(shù)據(jù)庫(kù)存儲(chǔ)獲取的節(jié)點(diǎn)信息和路由信息,并通過(guò)中心調(diào)度模塊管理虛假節(jié)點(diǎn)和攻擊節(jié)點(diǎn)的行為。
圖1 攻擊驗(yàn)證系統(tǒng)結(jié)構(gòu)
2.2 索引毒害
DHT網(wǎng)絡(luò)中每個(gè)資源的索引信息都由ID空間上距離其最近的一組節(jié)點(diǎn)負(fù)責(zé),本文稱之為索引節(jié)點(diǎn)集(IndexPeerSet),所有指向索引節(jié)點(diǎn)集的節(jié)點(diǎn)則稱之為關(guān)鍵節(jié)點(diǎn)集(CriticalPeerSet),索引毒害攻擊的核心思想就是在索引節(jié)點(diǎn)集和關(guān)鍵節(jié)點(diǎn)集中插入大量偽造的虛假節(jié)點(diǎn)。算法1描述了索引毒害攻擊的過(guò)程,首先通過(guò)節(jié)點(diǎn)爬蟲獲取網(wǎng)絡(luò)中大量的節(jié)點(diǎn),并以這些節(jié)點(diǎn)為初始節(jié)點(diǎn),通過(guò)發(fā)送節(jié)點(diǎn)查詢報(bào)文的方式,不斷發(fā)現(xiàn)索引節(jié)點(diǎn)和關(guān)鍵節(jié)點(diǎn),并在這些節(jié)點(diǎn)上發(fā)布虛假節(jié)點(diǎn)鏈接。
算法1:IndexPoisonAttack(Target)輸入:Target-要攻擊的目標(biāo)文件的Infohash1. getRandomPeerSetfromDHTcrawler;//通過(guò)DHT爬蟲獲取隨機(jī)節(jié)點(diǎn)集合2. CriticalPeerSet←Φ; //初始化關(guān)鍵節(jié)點(diǎn)結(jié)合3. IndexPeerSet←Φ; //初始化索引節(jié)點(diǎn)集合4. Target←targetinfohash;5. forp∈RandomPeerSetdo6. sendGetpeers(Target)Messagetop;//隨機(jī)節(jié)點(diǎn)集合向DHT網(wǎng)絡(luò)發(fā)布節(jié)點(diǎn)請(qǐng)求消息7. endfor;8. while(規(guī)定時(shí)間間隔收到返回消息)9. q←sourcepeerofthemessage;10. type←respondedtypetag;//根據(jù)返回消息的類型分別處理11. iftype=NODESthen//消息中返回的是8個(gè)DHT節(jié)點(diǎn)12. iNode[]←receivedDHTnodes;13. fori←1to8do14. sendGetpeers(Target)MessagetoiNode[i];//繼續(xù)向8個(gè)新節(jié)點(diǎn)發(fā)送節(jié)點(diǎn)請(qǐng)求15. iNode[i].previous←q;16. else//Type=INDEX17. sendFindnode(target)messagetoq;//節(jié)點(diǎn)q為內(nèi)容索引18. ifq.previous?IndexPeerSetthen19. CriticalPeerSet.insert(q.previous);//將節(jié)點(diǎn)q的前序節(jié)點(diǎn)加入關(guān)鍵節(jié)點(diǎn)集合20. IndexPeerSet.insert(q);//將節(jié)點(diǎn)q加入索引節(jié)點(diǎn)集合21. endif;22. endif;23. endwhile;24. forp∈IndexPeerSet∪CriticalPeerSetdo25. sendAnnoucepeer(SybilIDs)top; //迭代完成后對(duì)關(guān)鍵節(jié)點(diǎn)和索引節(jié)點(diǎn)進(jìn)行污染26. endfor;27. return;
2.3 路由污染
路由污染的核心是找到一個(gè)合理的ID區(qū)間范圍,污染這個(gè)范圍內(nèi)正常節(jié)點(diǎn)的路由表,使這些節(jié)點(diǎn)的路由表中包含惡意虛假節(jié)點(diǎn)。通過(guò)多次實(shí)驗(yàn)對(duì)比,本研究選擇ID值與目標(biāo)Infohash具有20至50個(gè)公共子前綴的節(jié)點(diǎn),通過(guò)主動(dòng)和被動(dòng)方式污染其路由表。主動(dòng)污染過(guò)程通過(guò)爬蟲爬行網(wǎng)絡(luò)中距離目標(biāo)哈希一定范圍內(nèi)的節(jié)點(diǎn),通過(guò)與這些節(jié)點(diǎn)通信以圖污染其路由表。被動(dòng)污染通過(guò)響應(yīng)外來(lái)的查詢消息來(lái)獲得更好的污染效果,其中對(duì)Ping,F(xiàn)ind_node和annouce_peer消息處理和真實(shí)客戶端類似,只有對(duì)get_peers消息的處理比較復(fù)雜,過(guò)程如圖2所示。如果查詢請(qǐng)求落入到本研究的虛假協(xié)作節(jié)點(diǎn)集中,則返回8個(gè)距離目標(biāo)Hash值更近的ID。
圖2 get_peers消息路由污染過(guò)程
2.4 實(shí)驗(yàn)結(jié)果
為不破壞DHT網(wǎng)絡(luò),本文將虛假節(jié)點(diǎn)設(shè)計(jì)為只具有路由功能的輕客戶端,進(jìn)行了多組對(duì)比實(shí)驗(yàn)。為了驗(yàn)證對(duì)搜索過(guò)程的影響,本研究每隔一小時(shí)在DHT網(wǎng)絡(luò)中發(fā)送100次針對(duì)目標(biāo)Hash值的get_peers請(qǐng)求,圖3顯示了返回的結(jié)果中虛假索引所占的比例,最后可以穩(wěn)定在75%以上,表明搜索過(guò)程已經(jīng)被攻擊系統(tǒng)所控制。
圖3 搜索結(jié)果中虛假節(jié)點(diǎn)的比例
最后,為了更直觀地觀察網(wǎng)絡(luò)中節(jié)點(diǎn)路由表被污染的情況,選取了DHT網(wǎng)絡(luò)中兩段ID區(qū)間內(nèi)的節(jié)點(diǎn),通過(guò)爬蟲爬取其路由表,記錄路由表中虛假節(jié)點(diǎn)的所占比例。圖4顯示,經(jīng)過(guò)一段時(shí)間的路由污染,兩個(gè)區(qū)間的路由表污染程度可分別達(dá)到50%和70%,這樣的污染率完全可以控制DHT網(wǎng)絡(luò)的路由過(guò)程。
圖4 路由表污染情況
DHT網(wǎng)絡(luò)的核心設(shè)計(jì)思想包括定向搜索策略、趨向化設(shè)計(jì)和基于K桶的路由表,然而這些經(jīng)典設(shè)計(jì)同時(shí)也是造成DHT網(wǎng)絡(luò)安全性缺陷的主要原因。本節(jié)介紹的DHT安全性優(yōu)化方法將分別圍繞節(jié)點(diǎn)ID的生成,路由表更新算法和搜索路徑生成方法進(jìn)行改造。
3.1 節(jié)點(diǎn)ID生成機(jī)制
現(xiàn)在大多數(shù)標(biāo)準(zhǔn)的DHT協(xié)議,都采用在節(jié)點(diǎn)初始化時(shí)隨機(jī)生成節(jié)點(diǎn)ID的方式,沒有更為嚴(yán)格的ID生成規(guī)則和合規(guī)性檢查方法。這成為了攻擊者所利用的主要漏洞,本節(jié)所設(shè)計(jì)的節(jié)點(diǎn)ID生成策略如圖5所示。
圖5 節(jié)點(diǎn)ID生成策略
由客戶端通過(guò)系統(tǒng)調(diào)用產(chǎn)生一組公私鑰,產(chǎn)生ID時(shí)將公鑰與節(jié)點(diǎn)網(wǎng)絡(luò)地址的前20位進(jìn)行異或并求其Hash值,重復(fù)此過(guò)程直到產(chǎn)生的結(jié)果后12位與節(jié)點(diǎn)IP地址的后12位相等,則將此結(jié)果P作為節(jié)點(diǎn)的ID。通過(guò)實(shí)驗(yàn),產(chǎn)生一個(gè)符合要求的ID值大概需要幾分鐘的時(shí)間,即需要大概212次計(jì)算。攻擊者要產(chǎn)生一個(gè)符合攻擊要求的節(jié)點(diǎn)(與目標(biāo)Hash具有20到50個(gè)公共子前綴),則需要212+20到212+50次計(jì)算,計(jì)算代價(jià)造成難以產(chǎn)生足夠數(shù)量的虛假ID。
3.2 路由表更新機(jī)制
目前DHT系統(tǒng)的路由表更新算法是:對(duì)于最深層K桶滿時(shí)根據(jù)對(duì)應(yīng)層數(shù)的二進(jìn)制值分裂成2個(gè)K桶,對(duì)于已經(jīng)分裂過(guò)的K桶,有選擇地替換已有路由表中的節(jié)點(diǎn),一般是用新節(jié)點(diǎn)替換老節(jié)點(diǎn)。這就造成攻擊者可以通過(guò)不斷與被攻擊節(jié)點(diǎn)通信污染其路由表。本小節(jié)設(shè)計(jì)的路由表更新算法如算法2所示。
算法2: UpdateRoutingTables(r)輸入: r:待插入的路由節(jié)點(diǎn)1. 找到r中負(fù)責(zé)目標(biāo)id的K桶B;2. LB是B在路由表中的層數(shù);3. s表示節(jié)點(diǎn)本身;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桶分裂成兩個(gè)桶,新的桶B仍為r要插入的桶。13. endif;14. CalculateDkofB;//計(jì)算原始K桶中的Dk15. forn?Bdo16. Replace(n,r);17. CalculateDk’ofB;18. ifDk’ 為了防止同一個(gè)K桶中被攻擊者插入多個(gè)距離目標(biāo)ID更近的節(jié)點(diǎn),本文以K桶中最近的兩個(gè)節(jié)點(diǎn)間的距離為判斷依據(jù),決定新節(jié)點(diǎn)是否可以插入到路由表中。 由于BT網(wǎng)絡(luò)中節(jié)點(diǎn)總數(shù)相對(duì)穩(wěn)定,因此節(jié)點(diǎn)路由表的分裂次數(shù)和K桶的層數(shù)都是相對(duì)穩(wěn)定的,當(dāng)節(jié)點(diǎn)在網(wǎng)絡(luò)中停留一定時(shí)間后其K桶一般不再分裂,最深層一般是和節(jié)點(diǎn)自身距離最近的節(jié)點(diǎn)。設(shè)K桶容量為K=2σ,n為節(jié)點(diǎn)ID的長(zhǎng)度,N=2r表示網(wǎng)絡(luò)中節(jié)點(diǎn)的總數(shù),當(dāng)K桶穩(wěn)定時(shí),最深層桶內(nèi)兩個(gè)節(jié)點(diǎn)的距離應(yīng)在區(qū)間[2σ+n-r-1, 2σ+n-r]。由于每個(gè)桶內(nèi)節(jié)點(diǎn)最小公共子前綴為其層數(shù),如果K桶最大層數(shù)為L(zhǎng),則有2σ+n-r-1<2n-L,即L<τ+1-σ。 本文定義第i層K桶中最近兩個(gè)節(jié)點(diǎn)的距離為Dk,則其滿足 Dk=min{IDi⊕IDi+1},i∈[1,2δ-1],IDi (1) 插入到第LR層K桶中的節(jié)點(diǎn)需要滿足下式才會(huì)被插入: Dk>2n-LR-β (2) β為可調(diào)整參數(shù)。 3.3 搜索路徑選擇機(jī)制 改進(jìn)的路由表更新算法,避免了攻擊者在一個(gè)節(jié)點(diǎn)的K桶中插入多個(gè)虛假攻擊節(jié)點(diǎn),為了進(jìn)一步防止虛假節(jié)點(diǎn)作為最近節(jié)點(diǎn)被選為搜索過(guò)程中的下一跳節(jié)點(diǎn),本文定義了節(jié)點(diǎn)信譽(yù)值HP,如下式所示: (3) 其中Pj(Ni)表示當(dāng)前節(jié)點(diǎn)與節(jié)點(diǎn)Ni第j次通信的可信度,通過(guò)參數(shù)λ∈[0,1]來(lái)增加最近d次通信的可信度所占的權(quán)重。 為了防止攻擊者構(gòu)造多個(gè)更靠近目標(biāo)Hash值的虛假節(jié)點(diǎn),還給出了責(zé)任區(qū)間的概念,擴(kuò)大了負(fù)責(zé)目標(biāo)Hash值的節(jié)點(diǎn)集范圍,責(zé)任區(qū)間內(nèi)的節(jié)點(diǎn)ID滿足公式 IDr⊕h<2ω (4) 其中ω為調(diào)節(jié)責(zé)任區(qū)間大小的參數(shù),h為目標(biāo)Hash值: 查詢發(fā)起節(jié)點(diǎn)選擇路由表中距離目標(biāo)Hash最接近的α個(gè)K桶中HP最高的節(jié)點(diǎn)作為候選節(jié)點(diǎn)。查詢路徑中的其他節(jié)點(diǎn),判斷自己是否是查詢責(zé)任區(qū)間中的節(jié)點(diǎn),如果是則同樣選擇K個(gè)HP值最高節(jié)點(diǎn)返回,并結(jié)束查詢。HP評(píng)分過(guò)程根據(jù)查詢是否成功來(lái)評(píng)判,成功則路徑上所有節(jié)點(diǎn)評(píng)分為1,失敗則所有節(jié)點(diǎn)評(píng)分為0。 DHT網(wǎng)絡(luò)的核心是分布式的資源發(fā)布和搜索功能,因此本節(jié)以查詢成功率來(lái)評(píng)價(jià)不同攻擊場(chǎng)景下優(yōu)化后協(xié)議的安全性。查詢成功率(lookupsuccessratio,LSR)的定義如下: (5) 其中,Lookuptotal表示每組實(shí)驗(yàn)的總查詢數(shù),Lookupsucessful表示每組實(shí)驗(yàn)中查詢成功的次數(shù)。實(shí)驗(yàn)通過(guò)Oversim平臺(tái)在仿真環(huán)境下進(jìn)行,共模擬了5000個(gè)節(jié)點(diǎn),攻擊節(jié)點(diǎn)采用的攻擊方式為索引毒害和路由污染。 圖6給出了網(wǎng)絡(luò)中的虛假攻擊節(jié)點(diǎn)數(shù)占網(wǎng)絡(luò)總結(jié)點(diǎn)數(shù)20%,責(zé)任區(qū)間內(nèi)節(jié)點(diǎn)數(shù)為2,協(xié)議分別采用2路和3路并行查詢時(shí)的查詢成功率。圖7給出了同樣攻擊場(chǎng)景下,責(zé)任區(qū)間節(jié)點(diǎn)數(shù)為16時(shí)的查詢成功率。可以得出如下結(jié)論:(1)優(yōu)化后的DHT協(xié)議查詢成功率都要高于原始協(xié)議。(2)采用2路并行查詢要優(yōu)于3路并行查詢。(3)責(zé)任區(qū)間節(jié)點(diǎn)數(shù)為16時(shí)更能抵御攻擊。這是因?yàn)殡S著查詢次數(shù)的增加,惡意攻擊節(jié)點(diǎn)獲得的評(píng)價(jià)會(huì)不斷降低,良性節(jié)點(diǎn)間協(xié)作的路由表健壯性不斷提高。責(zé)任區(qū)間節(jié)點(diǎn)數(shù)越高,查詢過(guò)程所需的跳數(shù)越少,查詢有更大的概率收斂于良性節(jié)點(diǎn)。 圖6 查詢成功率(責(zé)任區(qū)間=2,攻擊節(jié)點(diǎn)占比20%) 圖7 查詢成功率(責(zé)任區(qū)間=16,攻擊節(jié)點(diǎn)占比20%) 圖8給出了網(wǎng)絡(luò)中的虛假攻擊節(jié)點(diǎn)數(shù)占網(wǎng)絡(luò)節(jié)點(diǎn)總數(shù)的30%,責(zé)任區(qū)間內(nèi)節(jié)點(diǎn)數(shù)為2時(shí),K桶中虛假攻擊節(jié)點(diǎn)占比??梢缘玫饺缦陆Y(jié)論:(1)高層K桶中的虛假節(jié)點(diǎn)更多。(2)隨著查詢次數(shù)的增加,K桶中虛假節(jié)點(diǎn)占比不斷減少。 圖8 K桶中惡意節(jié)點(diǎn)所占比例隨查詢次數(shù)的變化 從前面的實(shí)驗(yàn)可以看出,優(yōu)化后的DHT協(xié)議安全性更高。為了驗(yàn)證增強(qiáng)安全性的同時(shí),系統(tǒng)仍然具有較高的DHT查詢效率,本研究在無(wú)攻擊的環(huán)境下統(tǒng)計(jì)了改進(jìn)前后DHT網(wǎng)絡(luò)中成功查詢的平均跳數(shù)。如圖9所示,責(zé)任區(qū)間內(nèi)節(jié)點(diǎn)數(shù)分別為2和16,分別采用1到3路并行查詢策略??梢缘玫饺缦陆Y(jié)論:(1)責(zé)任區(qū)間內(nèi)節(jié)點(diǎn)數(shù)越多,平均查詢跳數(shù)越小,查詢效率越高。(2)改進(jìn)后的協(xié)議,平均查詢跳數(shù)與查詢并行度無(wú)關(guān)。這是由于改進(jìn)后算法的查詢路徑相互獨(dú)立。(3)改進(jìn)后的協(xié)議查詢效率略低于原始協(xié)議,但對(duì)于用戶體驗(yàn)來(lái)說(shuō)影響不大。 圖9 不同條件下DHT查詢收斂的平均跳數(shù) 圖10~圖12給出了網(wǎng)絡(luò)中攻擊節(jié)點(diǎn)所占比例變化時(shí),不同參數(shù)下改進(jìn)前后DHT系統(tǒng)中的查詢成功率??梢缘贸鋈缦陆Y(jié)論:(1)攻擊節(jié)點(diǎn)比率越高,查詢成功率越低。(2)隨著網(wǎng)絡(luò)中總查詢次數(shù)的增加,改進(jìn)后協(xié)議的查詢成功率明顯增加,即使攻擊節(jié)點(diǎn)在網(wǎng)絡(luò)中占比超過(guò)60%時(shí),查詢成功率也能達(dá)到65%以上。 圖10 不同攻擊節(jié)點(diǎn)比率下查詢成功率(100次查詢后) 圖11 不同攻擊節(jié)點(diǎn)比率下查詢成功率(500次查詢后) 圖12 不同攻擊節(jié)點(diǎn)比率下查詢成功率(1000次查詢后) 當(dāng)然,仿真實(shí)驗(yàn)中的攻擊場(chǎng)景更為極端,實(shí)際環(huán)境中攻擊節(jié)點(diǎn)很難達(dá)到這么高的占比,同時(shí)由于采用了基于公私鑰機(jī)制的ID生成算法,攻擊者更難構(gòu)造足夠多滿足攻擊條件的節(jié)點(diǎn),可以說(shuō)優(yōu)化后的DHT系統(tǒng)具有很好的安全性。 DHT網(wǎng)絡(luò)在P2P文件共享系統(tǒng)以及新一代網(wǎng)絡(luò)體系結(jié)構(gòu)研究中都有重要的應(yīng)用價(jià)值。DHT系統(tǒng)的主要功能是資源的發(fā)布和檢索,其基本操作和節(jié)點(diǎn)的路由表緊密相關(guān),但傳統(tǒng)的DHT協(xié)議缺少安全性方面的設(shè)計(jì)。攻擊者可以通過(guò)大規(guī)模的構(gòu)造虛假共謀節(jié)點(diǎn)進(jìn)行索引毒害和路由污染攻擊,破壞路由查詢結(jié)果的準(zhǔn)確性,甚至可以造成更嚴(yán)重的安全威脅。本文以BT的Mainline DHT為例開展研究,相同的分析方法和改進(jìn)策略同樣適用于其他的DHT實(shí)例。提出的節(jié)點(diǎn)ID生成機(jī)制、路由表節(jié)點(diǎn)更新機(jī)制以及搜索路徑選擇機(jī)制,能夠在不降低DHT網(wǎng)絡(luò)核心服務(wù)效率的同時(shí),提高DHT系統(tǒng)的安全性,有效抵御共謀攻擊和路由攻擊,具有重要的實(shí)際應(yīng)用前景。 [ 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 ①國(guó)家自然科學(xué)基金(61402137)資助項(xiàng)目。 2016-09-08) ②男,1980年生,博士,講師;研究方向:網(wǎng)絡(luò)安全,云安全,P2P系統(tǒng)安全,聯(lián)系人,E-mail: shijiantao@hit.edu.cn4 實(shí)驗(yàn)與性能評(píng)價(jià)
5 結(jié) 論