摘要 本文分析了和P2P技術(shù)相關(guān)的信息安全問(wèn)題,既包括P2P技術(shù)能增強(qiáng)網(wǎng)絡(luò)的抗毀性和隱私保護(hù)這些令人鼓舞的好處,也包括由其自身的技術(shù)缺陷所帶來(lái)的主要安全威脅,如路由攻擊、防火墻穿越等。針對(duì)這些安全問(wèn)題,我們介紹了如何構(gòu)建P2P網(wǎng)絡(luò)的安全防御體系。本文的最后對(duì)P2P安全的一些研究方向做了簡(jiǎn)單的介紹。
關(guān)鍵詞 P2P 安全 防御體系
1、P2P簡(jiǎn)介
P2P是一種分布式網(wǎng)絡(luò),網(wǎng)絡(luò)的參與者共享他們所擁有的一部分硬件資源(處理能力、存儲(chǔ)能力、網(wǎng)絡(luò)連接能力、打印機(jī)等),這些共享資源需要由網(wǎng)絡(luò)提供服務(wù)和內(nèi)容,能被其他對(duì)等節(jié)點(diǎn)(Peer)直接訪問(wèn)而無(wú)需經(jīng)過(guò)中間實(shí)體[1]。在此網(wǎng)絡(luò)中的參與者既是資源(服務(wù)和內(nèi)容)的提供者(Server),又是資源(服務(wù)和內(nèi)容)的獲取者(Client)。
P2P打破了傳統(tǒng)的Client/Server(C/S)模式,網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)的地位都是對(duì)等的。每個(gè)節(jié)點(diǎn)既充當(dāng)服務(wù)器,為其他節(jié)點(diǎn)提供服務(wù),同時(shí)也享用其他節(jié)點(diǎn)提供的服務(wù)。P2P與C/S模式的對(duì)比如圖1所示[2]。
2、P2P技術(shù)帶來(lái)的安全上的好處
2.1 隱私保護(hù)與匿名通信[3]
在P2P網(wǎng)絡(luò)中,由于信息的傳輸分散在各節(jié)點(diǎn)之間進(jìn)行而無(wú)需經(jīng)過(guò)某個(gè)集中環(huán)節(jié),用戶的隱私信息被竊聽(tīng)和泄漏的可能性大大縮小。此外,目前解決Internet隱私問(wèn)題主要采用中繼轉(zhuǎn)發(fā)的方法,從而將通信的參與者隱藏在眾多的網(wǎng)絡(luò)實(shí)體之中。在一些傳統(tǒng)的匿名通信系統(tǒng)中,實(shí)現(xiàn)這一機(jī)制依賴于某些中繼服務(wù)器節(jié)點(diǎn)。而在P2P中,所有參與者都可以提供中繼轉(zhuǎn)發(fā)的功能,因而大大提高了匿名通信的靈活性和可靠性,能夠?yàn)橛脩籼峁└玫碾[私保護(hù)。
2.2 健壯服務(wù)與網(wǎng)絡(luò)抗毀
P2P采用了完全分布式架構(gòu),網(wǎng)絡(luò)中的節(jié)點(diǎn)既可以獲取其他節(jié)點(diǎn)的資源或服務(wù)、同時(shí)又是資源或服務(wù)的提供者,不依賴于少數(shù)集中控制節(jié)點(diǎn),具有比傳統(tǒng)的Client/Server網(wǎng)絡(luò)更好的健壯性和抗毀性,成為構(gòu)建高健壯性網(wǎng)絡(luò)的有效方式。

3、P2P技術(shù)存在的安全缺陷
P2P網(wǎng)絡(luò)采用的分布式結(jié)構(gòu)在提供擴(kuò)展性和靈活性的同時(shí),也使它面臨著巨大的安全挑戰(zhàn):它需要在沒(méi)有中心節(jié)點(diǎn)的情況下,提供身份驗(yàn)證、授權(quán)、數(shù)據(jù)信息的安全傳輸、數(shù)字簽名、加密等機(jī)制。但目前的P2P技術(shù)距離實(shí)現(xiàn)這一目標(biāo)尚有一定的距離,它本身存在的一些安全缺陷阻礙其得到進(jìn)一步應(yīng)用。下面將介紹一些主要的P2P安全缺陷[4]。
。1)一個(gè)惡意的服務(wù)器可以接受主服務(wù)器的文檔副本,然后向用戶發(fā)送修改過(guò)的信息。它還可以在接受了主服務(wù)器的副本后拒絕服務(wù),造成“服務(wù)否認(rèn)”。更為隱蔽的攻擊是不分配給副本足夠的資源。
。2)現(xiàn)行的大多數(shù)P2P系統(tǒng)并沒(méi)有在節(jié)點(diǎn)間建立信任關(guān)系,只是采取一定的機(jī)制防止惡意行為。例如,有的方案并不阻止一個(gè)節(jié)點(diǎn)共享一個(gè)其內(nèi)容與其描述并不匹配的文件,用戶必須自己解決因下載其他節(jié)點(diǎn)的文件帶來(lái)的不安全因素。
。3)雖然JXTA和P2P信任庫(kù)也提供傳統(tǒng)的密碼機(jī)制(如加密、數(shù)字簽名和散列等),文檔的合法作者可以通過(guò)在其文檔中添加一個(gè)加密簽名進(jìn)行完整性檢測(cè),但由于大多數(shù)瀏覽器并不能檢測(cè)文檔簽名,所以這種機(jī)制用于P2P網(wǎng)絡(luò)是不切實(shí)際的。即使瀏覽器可以進(jìn)行簽名檢測(cè),客戶機(jī)也不能正確區(qū)分一個(gè)被移除了簽名的盜版文檔和一個(gè)正版的未簽名的文檔。
(4)節(jié)點(diǎn)在P2P網(wǎng)絡(luò)中獲取資源或是尋找其他節(jié)點(diǎn)之前,首先要發(fā)出查詢報(bào)文以定位資源和獲取鄰居節(jié)點(diǎn)位置。查詢算法為了獲得較高的可靠性,一般采用廣播方式進(jìn)行查詢,這種方式的安全隱患是如果有惡意節(jié)點(diǎn)偽裝成受害節(jié)點(diǎn)發(fā)送大量不同的查詢報(bào)文,將會(huì)大量消耗網(wǎng)絡(luò)帶寬[5]。
。5)在獲取資源的時(shí)候我們首先需要保證所下載的資源正是我們需要的資源。在最好的情況下,我們還要確定所下載的資源只包含有符合要求的文件,也就是說(shuō)沒(méi)有其他不需要或是不希望有的垃圾文件。但是在目前已實(shí)現(xiàn)的P2P系統(tǒng)中,不存在中心服務(wù)器提供的基于內(nèi)容的鑒別,資源共享嚴(yán)重依賴于資源提供者和需求者之間的相互信任,事實(shí)上只能保證所請(qǐng)求資源的標(biāo)志(通常是名稱)與希望的標(biāo)志一致。這也使得一些垃圾文件偽裝成正常文件進(jìn)行傳播[5]。
。6)P2P節(jié)點(diǎn)在下載的同時(shí)又能夠上傳,如果在局域網(wǎng)內(nèi)部有相當(dāng)數(shù)量的用戶使用P2P軟件交換數(shù)據(jù),就會(huì)使帶寬迅速耗盡以致妨礙正常的網(wǎng)絡(luò)訪問(wèn)。
4、P2P網(wǎng)絡(luò)面臨的主要安全威脅
P2P存在的技術(shù)缺陷為網(wǎng)絡(luò)中攻擊者提供了各種各樣的機(jī)會(huì)。下面將詳細(xì)介紹P2P網(wǎng)絡(luò)面臨的主要安全威脅。
4.1 P2P信息共享與知識(shí)產(chǎn)權(quán)保護(hù)[6]
在傳統(tǒng)產(chǎn)權(quán)管理中,資料以有形實(shí)體而存在,防止未經(jīng)許可的內(nèi)容使用相對(duì)容易。但是,由于數(shù)字內(nèi)容可以很容易地被復(fù)制與傳輸,尤其是P2P共享軟件的繁榮加速了盜版媒體的分發(fā),增加了知識(shí)產(chǎn)權(quán)保護(hù)的難點(diǎn)。美國(guó)唱片工業(yè)協(xié)會(huì)(RIAA,Recording Industry Association of America)與這些共享軟件公司展開(kāi)了漫長(zhǎng)的官司拉鋸戰(zhàn),著名的Napster便是這場(chǎng)戰(zhàn)爭(zhēng)的第一個(gè)犧牲者。然而,后Napster時(shí)代的P2P共享軟件較Napster更具有分散性,也更難加以控制。即使P2P共享軟件的運(yùn)營(yíng)公司被判違法而關(guān)閉,整個(gè)網(wǎng)絡(luò)仍然會(huì)存活,至少會(huì)正常工作一段時(shí)間。
4.2 路由攻擊[7]
4.2.1 不正確的路由攻擊
攻擊者通過(guò)不正確的路由,將其他節(jié)點(diǎn)的查找消息轉(zhuǎn)發(fā)到不正確的或者不存在的節(jié)點(diǎn)上。由于攻擊者可以按照正確的方式和系統(tǒng)其他節(jié)點(diǎn)交互,因此在其他節(jié)點(diǎn)看來(lái),它是一個(gè)正常的節(jié)點(diǎn),也就不能把它從路由表中刪除。而且,即使進(jìn)行重傳也一樣會(huì)被攻擊者發(fā)送到不正確的節(jié)點(diǎn)上。
攻擊者可以宣稱(當(dāng)然是不正確的)一個(gè)隨機(jī)節(jié)點(diǎn)負(fù)責(zé)保存某個(gè)關(guān)鍵字。這將會(huì)導(dǎo)致關(guān)鍵字被保存在一個(gè)不正確的節(jié)點(diǎn)上,當(dāng)然也就不可能被其他節(jié)點(diǎn)檢索到。
4.2.2 不正確的路由更新攻擊
由于每個(gè)節(jié)點(diǎn)都是通過(guò)和其他節(jié)點(diǎn)進(jìn)行交互來(lái)構(gòu)造自己的路由表,因此攻擊者可以向其他節(jié)點(diǎn)發(fā)送不正確的路由信息來(lái)破壞其他節(jié)點(diǎn)的路由表。這將會(huì)導(dǎo)致其他節(jié)點(diǎn)將查詢請(qǐng)求轉(zhuǎn)發(fā)到不正確的節(jié)點(diǎn)上。
4.2.3 分隔(Partition)攻擊
在新節(jié)點(diǎn)加入系統(tǒng)時(shí),必須和系統(tǒng)中現(xiàn)有節(jié)點(diǎn)進(jìn)行聯(lián)系以獲得相應(yīng)的初始路由信息。這時(shí),新節(jié)點(diǎn)可能被分隔到一個(gè)不正確的P2P網(wǎng)絡(luò)中。假定一組攻擊者節(jié)點(diǎn)已經(jīng)構(gòu)成了一個(gè)虛假網(wǎng)絡(luò),他們也運(yùn)行和真實(shí)網(wǎng)絡(luò)相同的協(xié)議,因此這個(gè)虛假網(wǎng)絡(luò)從內(nèi)部來(lái)說(shuō)也是完全正確的。而且,其中某些節(jié)點(diǎn)也可能是真實(shí)網(wǎng)絡(luò)中的節(jié)點(diǎn)。這時(shí),如果新節(jié)點(diǎn)把這個(gè)虛假網(wǎng)絡(luò)中的某個(gè)節(jié)點(diǎn)作為初始化節(jié)點(diǎn),那么他將落入到這個(gè)虛假網(wǎng)絡(luò)中去,與真實(shí)網(wǎng)絡(luò)分隔開(kāi)來(lái)。
4.3 存取攻擊
攻擊者正確地執(zhí)行查找協(xié)議,但否認(rèn)在它節(jié)點(diǎn)上保存有數(shù)據(jù)。也可以向外界宣稱它保存有這些數(shù)據(jù),但卻拒絕提供,使其他節(jié)點(diǎn)無(wú)法得到數(shù)據(jù)。
4.4 行為不一致攻擊
攻擊者對(duì)網(wǎng)絡(luò)中距離比較遠(yuǎn)的節(jié)點(diǎn)進(jìn)行攻擊,而對(duì)自己鄰近的節(jié)點(diǎn)卻表現(xiàn)出一切正常的假象。遠(yuǎn)方節(jié)點(diǎn)能發(fā)現(xiàn)這是一個(gè)攻擊者,但鄰近節(jié)點(diǎn)卻認(rèn)為這是一個(gè)正常的節(jié)點(diǎn)。
4.5 目標(biāo)節(jié)點(diǎn)過(guò)載攻擊
攻擊者通過(guò)向某些特定目標(biāo)節(jié)點(diǎn)發(fā)送大量的垃圾分組消息,耗盡目標(biāo)節(jié)點(diǎn)的處理能力,這是一種拒絕服務(wù)類(lèi)型的攻擊。在一段時(shí)間之后,系統(tǒng)會(huì)認(rèn)為目標(biāo)節(jié)點(diǎn)已經(jīng)失效退出,從而將目標(biāo)節(jié)點(diǎn)從系統(tǒng)中刪除。
4.6 穿越防火墻[5]
P2P網(wǎng)絡(luò)節(jié)點(diǎn)既可以位于公網(wǎng),也可以處在內(nèi)部局域網(wǎng)。P2P軟件經(jīng)過(guò)特殊設(shè)計(jì),能夠通過(guò)防火墻使內(nèi)外網(wǎng)用戶建立連接,這就像是在防火墻上開(kāi)放了一個(gè)秘密通道(Security Hole),使得內(nèi)網(wǎng)直接暴露在不安全的外部網(wǎng)絡(luò)環(huán)境下。
4.7 P2P帶來(lái)的新型網(wǎng)絡(luò)病毒傳播問(wèn)題[8]
P2P網(wǎng)絡(luò)提供了方便的共享和快速的選路機(jī)制,為某些網(wǎng)絡(luò)病毒提供了更好的入侵機(jī)會(huì)。而且由于參與P2P網(wǎng)絡(luò)的節(jié)點(diǎn)數(shù)量非常大,因此通過(guò)P2P系統(tǒng)傳播的病毒,波及范圍大,覆蓋面廣,從而造成的損失會(huì)很大。
在P2P網(wǎng)絡(luò)中,每個(gè)節(jié)點(diǎn)防御病毒的能力是不同的。只要有一個(gè)節(jié)點(diǎn)感染病毒,就可以通過(guò)內(nèi)部共享和通信機(jī)制將病毒擴(kuò)散到附近的鄰居節(jié)點(diǎn)。在短時(shí)間內(nèi)可以造成網(wǎng)絡(luò)擁塞甚至癱瘓,甚至通過(guò)網(wǎng)絡(luò)病毒可以完全控制整個(gè)網(wǎng)絡(luò)。
隨著P2P技術(shù)的發(fā)展,將來(lái)會(huì)出現(xiàn)各種專門(mén)針對(duì)P2P系統(tǒng)的網(wǎng)絡(luò)病毒。利用系統(tǒng)漏洞,達(dá)到迅速破壞、控制系統(tǒng)的目的。因此,網(wǎng)絡(luò)病毒的潛在危機(jī)對(duì)P2P系統(tǒng)安全性和健壯性提出了更高的要求,迫切需要建立一套完整、高效、安全的防毒體系。
5、P2P網(wǎng)絡(luò)安全的防御體系建設(shè)
P2P的安全通信主要涉及到4個(gè)方面:P2P內(nèi)容安全、P2P網(wǎng)絡(luò)安全、P2P節(jié)點(diǎn)自身安全和P2P中對(duì)等節(jié)點(diǎn)之間的通信安全。目前采用的主要技術(shù)有:
。1)誠(chéng)信機(jī)制;
。2)數(shù)字版權(quán)保護(hù)機(jī)制;
(3)P2P網(wǎng)絡(luò)安全:P2P網(wǎng)絡(luò)屬于分布式的網(wǎng)絡(luò)體系結(jié)構(gòu),可以采用傳統(tǒng)的網(wǎng)絡(luò)安全技術(shù),如防火墻、VPN和RADIUS等;
。4)P2P節(jié)點(diǎn)自身安全:可以通過(guò)各種個(gè)人防火墻和防病毒軟件來(lái)解決;
。5)P2P對(duì)等節(jié)點(diǎn)之間的通信安全:P2P對(duì)等節(jié)點(diǎn)之間的通信安全問(wèn)題比較復(fù)雜,主要包括節(jié)點(diǎn)之間的雙向認(rèn)證、節(jié)點(diǎn)通過(guò)認(rèn)證之后的訪問(wèn)權(quán)限、認(rèn)證的節(jié)點(diǎn)之間建立安全隧道和信息的安全傳輸?shù)葐?wèn)題。目前比較可行的方案是采用安全遂道(網(wǎng)絡(luò)層、傳輸層和應(yīng)用層安全隧道),結(jié)合數(shù)據(jù)加密、身份認(rèn)證、數(shù)字簽名等技術(shù)來(lái)解決信息安全中的機(jī)密性、真實(shí)性、完整性、不可否認(rèn)性和存取控制安全等問(wèn)題。
5.1 對(duì)等誠(chéng)信[8]
P2P技術(shù)能否發(fā)揮更大的作用,取決于它能否在網(wǎng)絡(luò)節(jié)點(diǎn)之間建立起信任關(guān)系?紤]到集中式的節(jié)點(diǎn)信任管理既復(fù)雜又不一定可靠,P2P網(wǎng)絡(luò)中應(yīng)該考慮對(duì)等誠(chéng)信模型。實(shí)際上,對(duì)等誠(chéng)信由于具有靈活性、針對(duì)性并且不需要復(fù)雜的集中管理,可能是未來(lái)各種網(wǎng)絡(luò)加強(qiáng)信任管理的必然選擇,而不僅僅局限于對(duì)等網(wǎng)絡(luò)。
對(duì)等誠(chéng)信的一個(gè)關(guān)鍵是量化節(jié)點(diǎn)的信譽(yù)度,或者說(shuō)需要建立一個(gè)基于P2P的信譽(yù)度模型。信譽(yù)度模型通過(guò)預(yù)測(cè)網(wǎng)絡(luò)的狀態(tài)來(lái)提高分布式系統(tǒng)的可靠性。一個(gè)比較成功的信譽(yù)度應(yīng)用例子是在線拍賣(mài)系統(tǒng)eBay。在eBay的信譽(yù)度模型中,買(mǎi)賣(mài)雙方在每次交易以后可以相互提升信譽(yù)度,一名用戶總的信譽(yù)度為過(guò)去6個(gè)月中這些信譽(yù)度的總和,eBay依靠一個(gè)中心來(lái)管理和存儲(chǔ)信譽(yù)度。
5.2 數(shù)字版權(quán)保護(hù)管理DRM(Digital Rights Management)
數(shù)字版權(quán)管理是指采用包括信息安全技術(shù)手段在內(nèi)的系統(tǒng)解決方案,在保證合法的、具有權(quán)限的用戶對(duì)數(shù)字媒體內(nèi)容(如數(shù)字圖像、音頻、視頻等)正常使用的同時(shí),保護(hù)數(shù)字媒體創(chuàng)作者和擁有者的版權(quán),并根據(jù)版權(quán)信息獲得合法收益,而且在版權(quán)受到侵害時(shí)能夠鑒別數(shù)字信息的版權(quán)歸屬及版權(quán)信息的真?zhèn)。?shù)字版權(quán)保護(hù)不是密碼技術(shù)的簡(jiǎn)單應(yīng)用,也不是將受保護(hù)的內(nèi)容從服務(wù)器傳遞到客戶端并用某種方式限制其使用的簡(jiǎn)單機(jī)制。內(nèi)容提供者希望通過(guò)使用DRM,保護(hù)數(shù)字作品的版權(quán),促進(jìn)數(shù)字化市場(chǎng)的發(fā)展[9]。
5.3 網(wǎng)絡(luò)層安全隧道[10]
1995年8月,IETF公布了一系列網(wǎng)絡(luò)信息傳輸安全標(biāo)準(zhǔn)協(xié)議,即IPSec(Internet Security)。IPSec主要包括安全聯(lián)盟SA、鑒別首部AH、封裝安全載荷ESP、密鑰管理IKE及認(rèn)證和加密算法。IPSec提供了基于IP通信的網(wǎng)絡(luò)層安全,它對(duì)上層協(xié)議是完全透明的?衫肐PSec的端到端傳輸模式來(lái)架構(gòu)P2P的網(wǎng)絡(luò)層安全隧道。
安全聯(lián)盟(SA)決定了通信雙方所采用的IPSec安全協(xié)議、單向散列、加密算法和密鑰等安全參數(shù),SA總是成對(duì)出現(xiàn),是通信雙方協(xié)商的結(jié)果。
ESP可工作于傳輸模式和隧道模式。傳輸模式對(duì)傳輸層報(bào)文加密,用于主機(jī)與主機(jī)之間的安全通信;而隧道模式對(duì)整個(gè)IP數(shù)據(jù)報(bào)加密,用于網(wǎng)關(guān)與網(wǎng)關(guān)之間的安全通信。IPSec支持共享密鑰、數(shù)字簽名和公鑰加密三種身份認(rèn)證,均可用于P2P節(jié)點(diǎn)之間的雙向認(rèn)證。
5.4 傳輸層安全隧道[10]
美國(guó)網(wǎng)景(Netscape)公司制定的安全套接層(SSL,Secure Socket Layer)協(xié)議,采用RSA(遵守X.509標(biāo)準(zhǔn))、私有密鑰及加密技術(shù)在介于TCP層和應(yīng)用層之間的傳輸層建立一條安全隧道,用于瀏覽器和Web服務(wù)器之間的安全通信。SSL主要包括記錄協(xié)議和握手協(xié)議,記錄協(xié)議具體實(shí)現(xiàn)壓縮/解壓、加密/解密、計(jì)算MAC等;握手協(xié)議要求通信雙方首先協(xié)商密鑰加密算法、數(shù)據(jù)加密算法及摘要算法,然后進(jìn)行身份驗(yàn)證,最后使用協(xié)商好的密鑰交換算法產(chǎn)生一個(gè)只有雙方知道的密鑰。雖然SSL缺省只進(jìn)行服務(wù)器端認(rèn)證,但可以利用SSL對(duì)等安全連接中基于X.509標(biāo)準(zhǔn)的雙向認(rèn)證機(jī)制實(shí)現(xiàn)P2P的傳輸層安全隧道。
5.5 應(yīng)用層安全隧道[10]
可以利用S-HTTP(Secure Hyper Text Transfer Protocol)、PKI(Public Key Infrastructure)和GSS-API(General Secure Service Application Programming Interface)等技術(shù)實(shí)現(xiàn)P2P的應(yīng)用層安全隧道。但這些技術(shù)在接口技術(shù)、加密算法、身份認(rèn)證和密鑰交換等問(wèn)題存在較大差異,對(duì)每個(gè)P2P節(jié)點(diǎn)的應(yīng)用程序要進(jìn)行單獨(dú)的修改,缺乏互操作性。
6、P2P安全技術(shù)的研究重點(diǎn)
盡管P2P網(wǎng)絡(luò)的安全技術(shù)在近年來(lái)得到了迅速的發(fā)展,但仍然存在一些問(wèn)題。這些問(wèn)題對(duì)于P2P能否得到更廣泛的應(yīng)用至關(guān)重要,需要進(jìn)一步的深入研究。
6.1 網(wǎng)絡(luò)拓?fù)浞治鯷8]
隨著P2P網(wǎng)絡(luò)內(nèi)部節(jié)點(diǎn)數(shù)不斷增多,系統(tǒng)的運(yùn)行情況和組織方式逐漸成為影響網(wǎng)絡(luò)發(fā)展的主導(dǎo)因素。因此有必要對(duì)P2P網(wǎng)絡(luò)的整體拓?fù)浣Y(jié)構(gòu)和網(wǎng)絡(luò)行為進(jìn)行深入的了解、分析,并根據(jù)網(wǎng)絡(luò)的變化,分析發(fā)展趨勢(shì),對(duì)網(wǎng)絡(luò)效率和運(yùn)行情況做出評(píng)價(jià)。
目前通常采用的是基于TCP/IP(Transmission Control Protocol/Internet Protocol)協(xié)議的主動(dòng)測(cè)量方式,通過(guò)連續(xù)性、周期性地向目標(biāo)網(wǎng)絡(luò)發(fā)送ICMP數(shù)據(jù),觀察網(wǎng)絡(luò)的丟包率、RTT(Round Trip Time)值、路徑的平均跳數(shù)等性能參數(shù)來(lái)研究網(wǎng)絡(luò)的運(yùn)行情況。同時(shí)在分析大量測(cè)試數(shù)據(jù)的基礎(chǔ)上,生成P2P系統(tǒng)的拓?fù)溥B接圖。通過(guò)P2P方式建立有效的網(wǎng)絡(luò)拓?fù)鋱D具有如下價(jià)值。
(1)直觀的了解系統(tǒng)中各個(gè)節(jié)點(diǎn)的邏輯連接關(guān)系,負(fù)載情況,可以為對(duì)等節(jié)點(diǎn)間的負(fù)載平衡,擁塞避免等提供第一手資料;
(2)發(fā)現(xiàn)并抵御惡意攻擊,及時(shí)處理級(jí)連故障(Cascading Failure);
。3)為積極防御提供數(shù)據(jù)依據(jù);
。4)以此構(gòu)建仿真環(huán)境,提供網(wǎng)絡(luò)信息安全試驗(yàn)平臺(tái)。
值得注意是由于對(duì)P2P網(wǎng)絡(luò)進(jìn)行拓?fù)浒l(fā)現(xiàn)實(shí)時(shí)性要求較高,所以探測(cè)頻率往往很大,但必須保證不要對(duì)目標(biāo)網(wǎng)絡(luò)造成較大的額外負(fù)荷。
6.2 加入控制(Admission Control)[8]
當(dāng)某個(gè)節(jié)點(diǎn)試圖加入P2P傳輸時(shí),系統(tǒng)很難知道加入的節(jié)點(diǎn)是否是惡意節(jié)點(diǎn),是否被攻擊者控制等。這樣,攻擊者可以嘗試向系統(tǒng)中插入大量被其控制的節(jié)點(diǎn),以進(jìn)行通信流分析。而對(duì)加入系統(tǒng)的節(jié)點(diǎn)進(jìn)行身份認(rèn)證又與匿名性這一目標(biāo)相違背。其次是P2P系統(tǒng)的動(dòng)態(tài)性很強(qiáng),許多節(jié)點(diǎn)在網(wǎng)絡(luò)中的時(shí)間并不長(zhǎng),它們頻繁地加入和離開(kāi)系統(tǒng)。當(dāng)一個(gè)節(jié)點(diǎn)加入系統(tǒng)時(shí),它需要為系統(tǒng)中其他節(jié)點(diǎn)形成匿名路徑,這可能會(huì)帶來(lái)一些安全問(wèn)題。當(dāng)一個(gè)節(jié)點(diǎn)離開(kāi)系統(tǒng)時(shí),該節(jié)點(diǎn)所在匿名路徑上的那些用戶必須等待新的匿名路徑的形成。節(jié)點(diǎn)加入和離開(kāi)系統(tǒng)的另一個(gè)問(wèn)題是節(jié)點(diǎn)必須知道網(wǎng)絡(luò)中的其他一些節(jié)點(diǎn)。而P2P系統(tǒng)不斷變化的匿名集又給這一問(wèn)題增添了困難。最后,P2P系統(tǒng)中各個(gè)節(jié)點(diǎn)的性能有差異,尤其是在一個(gè)開(kāi)放的環(huán)境中。這導(dǎo)致了一些問(wèn)題,例如,一個(gè)性能差的節(jié)點(diǎn)會(huì)降低其所在匿名路徑的效率,即使匿名路徑上其他節(jié)點(diǎn)的性能很好。性能差異還可能有利于攻擊者進(jìn)行時(shí)間分析,因?yàn)楣粽呖梢詮囊粭l路徑上的不同的延遲獲得一些相關(guān)的信息等。
6.3 如何構(gòu)建健壯的網(wǎng)絡(luò)[8]
所謂健壯性,就是當(dāng)網(wǎng)絡(luò)中節(jié)點(diǎn)出現(xiàn)故障、流量發(fā)生阻塞以及拓?fù)浣Y(jié)構(gòu)發(fā)生變化時(shí),仍然能夠正常運(yùn)行,并提供承諾服務(wù)的能力。要建立健壯的P2P網(wǎng)絡(luò),需要解決以下問(wèn)題:
6.3.1 故障診斷
在一般的P2P網(wǎng)絡(luò)中,由于沒(méi)有集中控制節(jié)點(diǎn),主要的故障最終都?xì)w結(jié)為節(jié)點(diǎn)失效,失效的原因可能是該用戶退出網(wǎng)絡(luò)或是相關(guān)網(wǎng)路中的路由錯(cuò)誤等。發(fā)現(xiàn)節(jié)點(diǎn)失效的方法通常比較簡(jiǎn)單,可以在發(fā)起通信時(shí)檢測(cè),或采用定時(shí)握手的機(jī)制。
一些系統(tǒng)進(jìn)一步監(jiān)測(cè)網(wǎng)絡(luò)通信狀態(tài),如通信延遲、響應(yīng)時(shí)間等,以此來(lái)指導(dǎo)節(jié)點(diǎn)自適應(yīng)地調(diào)整鄰接關(guān)系和路由、提高系統(tǒng)性能。
在要求更高的場(chǎng)合,有時(shí)還需要發(fā)現(xiàn)網(wǎng)絡(luò)攻擊和惡意節(jié)點(diǎn)等安全威脅。由于P2P網(wǎng)絡(luò)中節(jié)點(diǎn)的加入往往具有很大的自由性,而且缺少全局性的權(quán)限管理中心或信任中心,對(duì)惡意節(jié)點(diǎn)的檢測(cè)一般通過(guò)信譽(yù)機(jī)制來(lái)實(shí)現(xiàn)。
6.3.2 容錯(cuò)
在節(jié)點(diǎn)失效、網(wǎng)絡(luò)擁塞等故障發(fā)生后,系統(tǒng)應(yīng)保證通信和服務(wù)的連續(xù)性。最簡(jiǎn)單的辦法是重試,這在發(fā)生暫時(shí)性的網(wǎng)絡(luò)擁塞時(shí)是有效的。對(duì)于經(jīng)常出現(xiàn)的節(jié)點(diǎn)失效問(wèn)題,則需要調(diào)整路由以繞開(kāi)故障節(jié)點(diǎn)和網(wǎng)絡(luò)。在Hybrid型的P2P網(wǎng)絡(luò)中,中心索引節(jié)點(diǎn)可以提供失效節(jié)點(diǎn)的替代節(jié)點(diǎn);在Gnutella等廣播型的P2P網(wǎng)絡(luò)中,部分節(jié)點(diǎn)的失效不會(huì)影響整個(gè)網(wǎng)絡(luò)的服務(wù);在Chord、Freenet等內(nèi)容路由型P2P網(wǎng)絡(luò)中,其路由中的每一步都有多個(gè)候選,通過(guò)選擇相近的路由可以很容易地繞過(guò)故障節(jié)點(diǎn),由于其以n維空間的方式進(jìn)行編址,中間路徑的選擇不會(huì)影響最終到達(dá)目標(biāo)節(jié)點(diǎn)。
除了通信外,一些P2P網(wǎng)絡(luò)還提供內(nèi)容存儲(chǔ)和傳輸?shù)确⻊?wù),這些服務(wù)的容錯(cuò)能力通過(guò)信息的冗余來(lái)保證。與廣播機(jī)制或內(nèi)容路由算法相結(jié)合,可以在目標(biāo)節(jié)點(diǎn)失效后很快定位到相近的、存儲(chǔ)有信息副本的節(jié)點(diǎn)。
6.3.3 自組織
自組織性指系統(tǒng)能夠自動(dòng)地適應(yīng)環(huán)境的變化、調(diào)整自身結(jié)構(gòu)。對(duì)于P2P網(wǎng)絡(luò)來(lái)說(shuō),環(huán)境的變化既包括節(jié)點(diǎn)的加入和退出、系統(tǒng)規(guī)模的大小,也包括網(wǎng)絡(luò)的流量、帶寬和故障,以及外界的攻擊等影響。
目前的P2P系統(tǒng)大都能適應(yīng)系統(tǒng)規(guī)模的變化。典型的方法是以一定的策略更新節(jié)點(diǎn)的鄰接表并將鄰接表限制在一定的規(guī)模內(nèi),使整個(gè)網(wǎng)絡(luò)的規(guī)模不受節(jié)點(diǎn)的限制。
在一些對(duì)鄰接關(guān)系有一定要求的網(wǎng)絡(luò)中,則需隨節(jié)點(diǎn)的變更動(dòng)態(tài)調(diào)整系統(tǒng)拓?fù)洹H鏑lique Net和Herbivote等基于DC-net的匿名網(wǎng)絡(luò),通過(guò)自動(dòng)分裂/合并機(jī)制將鄰接節(jié)點(diǎn)限制在一定數(shù)量范圍內(nèi)以保證系統(tǒng)的性能。
6.4 復(fù)制機(jī)制
P2P技術(shù)體系中的復(fù)制機(jī)制主要是為了增強(qiáng)P2P網(wǎng)絡(luò)的抗攻擊性,避免由于網(wǎng)絡(luò)攻擊造成的網(wǎng)絡(luò)重要數(shù)據(jù)丟失,同時(shí)增強(qiáng)網(wǎng)絡(luò)的可擴(kuò)展性,使網(wǎng)絡(luò)負(fù)載平衡。
6.5 P2P流量的分析和統(tǒng)計(jì)[11]
流量分析是一個(gè)不斷發(fā)展變化的過(guò)程。最初的P2P流可通過(guò)其固定服務(wù)器IP地址及端口號(hào)加以識(shí)別,很快便大量出現(xiàn)了采用可變端口及偽裝端口的分布式P2P應(yīng)用軟件。由于Internet上存在著眾多的P2P應(yīng)用軟件,使得P2P流量的識(shí)別與監(jiān)控必須采用一種或多種手段協(xié)作進(jìn)行。
(1)IP地址識(shí)別:IP地址識(shí)別可以分類(lèi)出集中式P2P中的目錄服務(wù)器以及混和式P2P中的Super-peer以及某些惡意的Peer用戶。
。2)TCP/UDP端口識(shí)別:可以分類(lèi)出采用固定端口的P2P應(yīng)用,以及提示未知端口的出現(xiàn)。
。3)數(shù)據(jù)報(bào)深層掃描(DPI):由于P2P軟件引入動(dòng)態(tài)端口,只能通過(guò)掃描高層協(xié)議來(lái)探知P2P數(shù)據(jù)報(bào)。如對(duì)于Kazaa系統(tǒng),我們只能深入HTTP內(nèi)部獲取Kazaa特征代碼。對(duì)于其它P2P應(yīng)用,有時(shí)甚至要通過(guò)幾個(gè)特征代碼才能判明其為P2P流。通過(guò)DPI掃描可識(shí)別Gnutellae-donkey Kazaa Bittorrent等5類(lèi)主流P2P軟件。實(shí)驗(yàn)證明該方法的識(shí)別準(zhǔn)確度可以達(dá)到95%,然而DPI掃描技術(shù)無(wú)法識(shí)別加密的P2P流。
。4)基于會(huì)話(Session)的分類(lèi):TCP/UDP端口可能存在任何一個(gè)數(shù)據(jù)包中,高層協(xié)議的特征代碼卻只能存在于一個(gè)會(huì)話包的頭幾個(gè)數(shù)據(jù)報(bào)中。因此,當(dāng)在一個(gè)會(huì)話包的第一個(gè)數(shù)據(jù)報(bào)中發(fā)現(xiàn)P2P特征代碼時(shí),該會(huì)話包的其余數(shù)據(jù)報(bào)也就可以判斷為P2P數(shù)據(jù)報(bào)。有時(shí)P2P軟件甚至使用多個(gè)會(huì)話包,這就需要系統(tǒng)軟件能關(guān)聯(lián)匹配這多個(gè)會(huì)話包進(jìn)行P2P判定。
(5)雙向識(shí)別:當(dāng)某個(gè)方向的流(五元組定義的流)被識(shí)別為P2P流,則其反方向流必然也是P2P流。
(6)流統(tǒng)計(jì)狀態(tài)的識(shí)別:在IP層通過(guò)統(tǒng)計(jì)流量特征的方式識(shí)別P2P流。研究表明,P2P流量具有長(zhǎng)時(shí)固定連接的特點(diǎn),因此理論上基于流狀態(tài)的統(tǒng)計(jì)識(shí)別方式可以識(shí)別一切大規(guī)模P2P流量。當(dāng)然該方法無(wú)法精確判斷出該IP流采用的P2P協(xié)議類(lèi)型。
對(duì)于采用可變端口及偽裝端口的分布式P2P應(yīng)用軟件產(chǎn)生的流量,當(dāng)前最為有效的識(shí)別手段是DPI掃描,通過(guò)掃描應(yīng)用層數(shù)據(jù)報(bào)的關(guān)鍵字加以識(shí)別。然而,DPI掃描方式的缺點(diǎn)是無(wú)法識(shí)別加密的P2P流,可預(yù)見(jiàn)P2P軟件的下一發(fā)展趨勢(shì)是加密化。對(duì)此,國(guó)外一些研究人員進(jìn)行了有益的嘗試,試圖通過(guò)在傳輸層考察固定時(shí)長(zhǎng)內(nèi)IP地址數(shù)目與端口號(hào)數(shù)目的對(duì)應(yīng)關(guān)系區(qū)分出P2P流,依據(jù)是Web服務(wù)通常針對(duì)同一IP地址同時(shí)使用多個(gè)端口號(hào)進(jìn)行下載,而P2P流則對(duì)一個(gè)IP地址僅使用一個(gè)端口號(hào)連接。然而,該方案在區(qū)分P2P流與游戲、視頻流等其它數(shù)據(jù)流時(shí),僅能采取簡(jiǎn)單的排除法。所以,文獻(xiàn)[11]認(rèn)為,研究P2P流的統(tǒng)計(jì)特性(連接時(shí)長(zhǎng)、連接速率、連接突發(fā)度等),利用流統(tǒng)計(jì)狀態(tài)信息準(zhǔn)確區(qū)分P2P流將是下一步P2P流量控制研究的主要方向。
6.6 P2P“蠕蟲(chóng)”建模
對(duì)“蠕蟲(chóng)”的研究常借用傳染病傳播模型。在傳染病傳播模型中,把傳播分為SI(易感-感染)、SIS(易感-感染-易感)、SIR(易感-感染-免疫)3種類(lèi)型[12]?紤]“蠕蟲(chóng)”傳播的一般情況,SIR比較符合主機(jī)在受到“蠕蟲(chóng)”攻擊時(shí)經(jīng)歷的3個(gè)狀態(tài),所以SIR模型在“蠕蟲(chóng)”傳播模型的研究中應(yīng)用比較廣泛[13]。
雖然傳統(tǒng)的SIR蠕蟲(chóng)傳播模型在研究蠕蟲(chóng)的傳播趨勢(shì)上取得了比較理想的結(jié)果,但由于SIR模型未能考慮實(shí)際網(wǎng)絡(luò)中的拓?fù)浣Y(jié)構(gòu)和“蠕蟲(chóng)”傳播對(duì)網(wǎng)絡(luò)設(shè)備影響等因素,不能很好地模擬具體網(wǎng)絡(luò)環(huán)境下蠕蟲(chóng)的傳播情況。
在P2P網(wǎng)絡(luò)環(huán)境下,“蠕蟲(chóng)”能用P2P的方式互相聯(lián)系、互傳信息、自動(dòng)更新。例如,利用QQ或者M(jìn)SN Messenger這類(lèi)即時(shí)通信(IM)工具進(jìn)行傳播的病毒,已經(jīng)逐漸成為“蠕蟲(chóng)”病毒的流行趨勢(shì)。這類(lèi)病毒的共性是:一旦在機(jī)器上獲得控制權(quán),會(huì)首先查看用戶是否安裝了QQ或MSN Messenger,一旦發(fā)現(xiàn)用戶安裝了此類(lèi)程序,該蠕蟲(chóng)就會(huì)通過(guò)對(duì)話窗口向在線好友發(fā)送欺騙性的信息,信息包含一個(gè)超級(jí)鏈接。如果對(duì)方在接收窗口中點(diǎn)擊鏈接,就能啟動(dòng)IE并和這個(gè)服務(wù)器建立連接,下載html頁(yè)面。這個(gè)頁(yè)面中含有惡意代碼,把“蠕蟲(chóng)”下載到本機(jī)并運(yùn)行,完成了一次傳播。然后再以這臺(tái)機(jī)器為基點(diǎn),向本機(jī)所能發(fā)現(xiàn)的好友發(fā)送同樣的欺騙性消息,傳播迅速。
所以,研究P2P網(wǎng)絡(luò)環(huán)境下的“蠕蟲(chóng)”病毒建模時(shí),需要對(duì)SIR模型進(jìn)行了擴(kuò)展,考慮網(wǎng)絡(luò)延遲和拓?fù)浣Y(jié)構(gòu)對(duì)蠕蟲(chóng)傳播的影響。
7、結(jié)束語(yǔ)
P2P作為一種嶄新的傳輸模式,不僅能提供隱私保護(hù)與匿名通信,還能提高網(wǎng)絡(luò)的健壯性和抗毀性。然而,P2P技術(shù)也由于其自身存在的一些缺陷,如缺乏相互信任機(jī)制和內(nèi)容鑒別、查詢泛洪等,面臨著相當(dāng)嚴(yán)重的安全威脅,P2P技術(shù)仍然存在一系列安全問(wèn)題需要進(jìn)一步的研究。
參考文獻(xiàn)
[1] Lua E K.Crowcroft J. et al.A Survey and Comparison of Peer-to-Peer Overlay Network Schemes.IEEE Communications Survey and Tutorial,March 2004.1~22
[2] 羅杰文.Peer to Peer(P2P)綜述.http://WWW.huihoo.com/p2p/1/或者h(yuǎn)ttp://WWW.intscl.a(chǎn)c.cn/users/luojw/papers/p2p_review.pdf
[3] 鄒福泰.P2P技術(shù)與信息安全.http://WWW.blog.edu.cn/userl/3483/archives/2006/1158713.shtml
[4] 張京楣.網(wǎng)絡(luò)安全中信任模型的研究.山東大學(xué)碩士論文,2002.5
[5] 李樂(lè),候整風(fēng).Peer to Peer網(wǎng)絡(luò)安全分析.福建電腦,2006.1
[6] 楊成,楊義先.信息安全與數(shù)字版權(quán)保護(hù)(上).計(jì)算機(jī)安全,2004,(1):32~36。
[7] 董芳,戴丹,錢(qián)敏.對(duì)等網(wǎng)絡(luò)P2P系統(tǒng)安全問(wèn)題的研究.黔男民族師范學(xué)院學(xué)報(bào),2004,(6):1~4
[8] 程學(xué)旗,余智華,et al.P2P技術(shù)與信息安全.http://p2p.tmn.cn/html/3/21/20050513/110208.htm
[9] 俞銀燕,湯幟.?dāng)?shù)字版權(quán)保護(hù)技術(shù)研究綜述.計(jì)算機(jī)學(xué)報(bào),2005.12
[10] 張強(qiáng).互聯(lián)網(wǎng)的內(nèi)容安全及其保護(hù)措施的探討.網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2005,(8):30~32
[11] 李江濤,姜永玲.P2P流量識(shí)別與管理技術(shù).電信科學(xué),2005,(3):57~61
[12] Daley D J.Gani J.Epidemic Modeling:An Introduction.uK Cambridge:Cambridge University Press,1999
[13] 魯豐,董亞波,等.基于SIR,模型的蠕蟲(chóng)傳播流量模型.江南大學(xué)學(xué)報(bào)(自然科學(xué)版),2006,(1):26~29