1.引言
近年來,隨著P2P(Peer-to-Peer)技術的日趨成熟,基于P2P網絡的各種應用系統不斷涌現和壯大。根據最新統計,目前同時在線用戶數超過一百萬的P2P文件共享網絡有60余個,例如BitTorrent、eMule等;P2P流媒體服務是近幾年成熟并迅速壯大的一項新技術,目前的大型網絡如PPS、PPLive等的同時在線用戶數也達到了數百萬。另外,P2P技術在數據存儲、數據庫管理、Web搜索、網絡緩存、網絡電話等諸多領域都有重要應用。這些P2P網絡系統在人們的網絡體驗中扮演了越來越重要的角色,甚至對人們的生活習慣乃至思維模式都具有不可忽視的作用。
P2P技術在自身發(fā)展與完善的同時,對全球的經濟、政治、軍事與文化都產生了重要影響,同時面臨著來自多個方面的安全威脅。首先,P2P應用已經形成了一個完善的產業(yè),許多IT服務公司利用P2P網絡技術開發(fā)新產品,并實現了盈利;但是,P2P技術對傳統版權管理機制的重大沖擊使得傳統經濟實體的利益受損,而使其不斷投入資金研發(fā)反P2P技術。其次,P2P應用對網絡流量的大量占用,使其成為網絡服務提供商(ISP,Intemet Service Provider)的眾矢之的,ISP也不斷研發(fā)各種技術來過濾P2P流量。再次,由于P2P技術的無服務器特征,其共享信息可能涉及違法內容(如色情、暴力音像、軍事、政治機密等),但卻極易被無限制地傳播,政府部門需要對其進行有效監(jiān)管。另一方面,P2P技術的支持者一直在致力于研究各種有效手段,在保證其提供分布式服務的同時,提高其可靠性和安全性。
基于上述原因,近年來,P2P網絡安全成為了一個新的研究熱點。P2P技術存在的安全缺陷為網絡攻擊者提供了各種各樣的機會。P2P網絡面臨的一些主要安全威脅有:由信息共享導致的知識產權糾紛、路由攻擊、存取攻擊、行為不一致攻擊、目標節(jié)點過載攻擊、穿越防火墻以及新型網絡病毒的傳播。研究者提出了若干的安全通信、信任管理等機制來防御上述攻擊。但是由于P2P網絡自身特性所限,P2P攻擊和防御技術仍然是一個很有挑戰(zhàn)的研究領域,同時也具有非常廣泛的應用前景。充分研究P2P網絡中各種可能的攻擊和防御措施,對于實現有效的P2P網絡監(jiān)管尤為重要。
2.P2P網絡概述
P2P網絡是一種分布式網絡,在這種網絡中所有的節(jié)點是對等的,各節(jié)點具有相同的責任與能力以協同完成任務,每一個節(jié)點既能充當網絡服務的請求者,又能對其他節(jié)點的請求做出響應。對等節(jié)點之間通過直接互聯共享信息資源、處理器資源、存儲資源甚至高速緩存資源等,無須依賴集中式服務器。
P2P網絡一般具有如下特點:
a)非中心化。網絡中的資源和服務分散在所有節(jié)點上,信息的傳輸和服務的實現都直接在節(jié)點之間進行。
b)可擴展性。在P2P網絡中,隨著用戶的加入,不僅服務的需求增加了,系統整體的資源和服務能力也在同步地擴展,理論上其擴展性幾乎可以認為是無限的。
c)健壯性。由于服務是分散在各個節(jié)點之間進行的,部分節(jié)點在遭到破壞時對其它部分的影響很小。
d)隱私保護。在P2P網絡中,由于信息的傳輸分散在各節(jié)點之間進行,而無需經過某個特定的中間環(huán)節(jié),大大降低了用戶的隱私信息被竊聽和泄漏的可能性。
e)負載均衡。在P2P網絡環(huán)境下,由于每個節(jié)點既是服務器又是客戶機,減少了對傳統C/S結構服務器計算能力、存儲能力的要求,資源分布在多個節(jié)點,更好地實現了整個網絡的負載均衡。
與傳統C/S模式相比,P2P網絡弱化了服務器的功能,甚至取消了服務器。所有P2P節(jié)點在邏輯上是對等的,每個節(jié)點既充當服務器,為其他節(jié)點提供服務,也充當客戶端,享用其他節(jié)點提供的服務。網絡節(jié)點越多,P2P網絡的性能就越好、穩(wěn)定性就越高。圖1分別給出了P2P系統和C/S系統的結構示意圖。
圖1 P2P系統與C/S系統的結構示意圖
3.P2P網絡攻擊研究
P2P網絡是一種開放的、不受限制的網絡,各P2P節(jié)點對整個網絡的了解是十分有限的,每個P2P節(jié)點只需維護鄰居節(jié)點的信息,并進行實時更新,就可以保證P2P網絡的正常運行。所以,P2P網絡的安全問題也特別突出:惡意節(jié)點通過偽裝自己,可自由加入或離開P2P網絡,并可利用P2P節(jié)點的局限性來發(fā)動攻擊或破壞網絡的完整性。
目前,針對P2P網絡的Sybil攻擊、Eclipse攻擊、DDoS(Distributed Denial of Service,分布式拒絕服務)攻擊等的相關研究在國際國內獲得了廣泛關注。
Sybil攻擊通過向P2P網絡中引人多個惡意構造的節(jié)點來達到控制整個層疊網絡的目的,它可以被用于監(jiān)控發(fā)布和搜索流量、隔離特定共享內容等。Eclipse攻擊的目的是將若干個目標節(jié)點從P2P網絡中隔離出去,劫持其通信信息,控制其網絡行為。DDoS攻擊的目標是單個P2P網絡節(jié)點,占用甚至耗盡其資源(如CPU、帶寬等),使其不能正常提供服務。
3.1 基于P2P的SybU攻擊
sybil攻擊最初是由Douceu在點對點網絡環(huán)境中提出的,他指出這種攻擊破壞了分布式存儲系統中的冗余機制,并提出直接身份驗證和間接身份驗證兩種驗證方式。后來Chris Karlof等人指出Sybil攻擊對傳感器網絡中的路由機制同樣存在著威脅。
Sybil攻擊,也稱為女巫攻擊,是指一個惡意結點非法地對外呈現出多個身份,通常把該結點的這些身份稱為Sybil結點。sybil攻擊方式主要有以下幾種類型:直接通信、間接通信、偽造身份、盜用身份、同時攻擊、非同時攻擊。
在P2P網絡中,用戶創(chuàng)建新身份或者新節(jié)點是不需要代價的,攻擊者可以利用這一漏洞發(fā)動Sybil攻擊,偽造自己的身份加入P2P網絡,在掌握了若干節(jié)點或節(jié)點身份之后,隨意做出一些惡意的行為,例如誤導正常節(jié)點的路由表,降低P2P網絡節(jié)點的查找效率;或者在網絡中傳輸非授權文件,破壞P2P網絡中文件共享安全,消耗節(jié)點間的連接資源等,而且不用擔心自己會受到影響。圖2示出了在P2P網絡中攻擊者進行Sybil攻擊的原理。
圖2 基于P2P網絡的Sybil攻擊原理
Sybil攻擊對P2P網絡的攻擊影響主要體現在以下幾個方面:
a)虛假節(jié)點加入。在遵循P2P網絡協議的基礎上,任何網絡節(jié)點都可以向P2P網絡發(fā)送節(jié)點加入請求消息;收到請求消息的P2P節(jié)點會立即作出響應,回復其鄰居節(jié)點信息。利用這個過程,Sybil攻擊者就可以獲取大量的P2P網絡節(jié)點信息來分析P2P網絡拓撲,以便更高效地對P2P網絡進行攻擊或破壞。
b)誤導P2P網絡節(jié)點的路由選擇。節(jié)點問路由信息的實時交互是保證P2P網絡正常運行的關鍵因素之一。節(jié)點只需定時地向其鄰居節(jié)點宣告自己的在線情況,就能保證自己被鄰居節(jié)點加入到其路由表中。惡意的Sybil入侵者通過這個過程,可以入侵正常P2P節(jié)點的路由表,誤導其路由選擇,大大降低P2P節(jié)點的路由更新和節(jié)點查找效率,極端情況下,會導致Eclipse攻擊。
c)虛假資源發(fā)布。Sybil攻擊者一旦入侵P2P網絡節(jié)點的路由表,就可以隨意發(fā)布自己的虛假資源。P2P網絡的目的是實現P2P用戶間資源的分布式共享,如果P2P網絡中充斥著大量的虛假資源,那么在P2P用戶看來,這將是無法接受的。
3.2 基于P2P的Eclipse攻擊
Moritz Steiner等人在Kad網絡(最成功也是最流行的P2P應用之一)中提出了Eclipse攻擊,并且給出了該攻擊的原理。Eclipse攻擊是指攻擊者通過侵占節(jié)點的路由表,將足夠多的虛假節(jié)點添加到某些節(jié)點的鄰居節(jié)點集合中,從而將這些節(jié)點“隔離”于正常P2P絡之外。當節(jié)點受到Eclipse攻擊時,節(jié)點的大部分對外聯系都會被惡意節(jié)點所控制,由此惡意節(jié)點得以進一步實施路由欺騙、存儲污染、拒絕服務以及D劫持等攻擊行為。因此,Eclipse攻擊對P2P網絡的威脅非常嚴重。
P2P網絡的正常運行依賴于P2P節(jié)點問路由信息的共享。Eclipse攻擊者通過不斷地向P2P節(jié)點發(fā)送路由表更新消息來影響P2P節(jié)點的路由表,試圖使普通節(jié)點的路由表充滿虛假節(jié)點。當P2P節(jié)點的路由表中虛假節(jié)點占據了較高的比例時,它對P2P網絡的正常行為,包括路由查找或者資源搜索,都將被惡意節(jié)點所隔絕開,這也是這種攻擊被稱為月食攻擊的原因。圖3示出了在P2P網絡中攻擊者進行Eclipse攻擊的原理。
圖3 基于P2P網絡的Eclipse攻擊原理
Eclipse攻擊和Syb訂攻擊密切相關,它需要較多的Sybil攻擊節(jié)點相配合。為了實現對特定P2P節(jié)點群的Eclipse攻擊,攻擊者必須首先設置足夠多的sybil攻擊節(jié)點,并且向P2P網絡宣稱它們是“正常”的節(jié)點,然后使用這些Sybil節(jié)點與正常的P2P節(jié)點通信,入侵其路由表,最終把它們從P2P網絡中隔離出去。
Eclipse攻擊對P2P網絡的影響十分重大。對于P2P網絡來說,Eclipse攻擊破壞了網絡的拓撲結構,減少了節(jié)點數目,使得P2P網絡資源共享的效率大大降低,在極端情況下,它能完全控制整個P2P網絡,把它分隔成若干個P2P網絡區(qū)域。對于受害的P2P節(jié)點來說,它們在未知的情況下脫離了P2P網絡,所有P2P網絡請求消息都會被攻擊者劫持,所以它們得到的回復信息大部分都是虛假的,無法進行正常的P2P資源共享或下載。
3.3 基于P2P的DDoS攻擊
DDoS攻擊是一種對P2P網絡安全威脅最大的攻擊技術之一,它指借助于C/S技術,將多個計算機聯合起來作為攻擊平臺,對一個或多個目標發(fā)動攻擊,從而成倍地提高拒絕服務攻擊的威力。
傳統的DDoS攻擊分為兩步:1)利用病毒、木馬、緩沖區(qū)溢出等攻擊手段入侵大量主機,形成僵尸網絡;2)通過僵尸網絡發(fā)起DoS攻擊。常用的攻擊工具包括:Trinoo、TFN、TFN2K、Stacheldraht等。由于各種條件限制,攻擊的第一步成為制約DDoS攻擊規(guī)模和效果的關鍵。
近年來,研究人員通過潛心研發(fā)P2P技術和DDoS技術并將兩者融合起來,成功研究出不需要建立僵尸網絡即可發(fā)動大規(guī)模DDoS攻擊的技術。該技術不僅成本低、威力巨大,而且還能確保攻擊者的隱秘性。圖4示出了在P2P網絡中攻擊者進行DDoS攻擊的原理。
圖4 基于P2P網絡的DDoS攻擊原理
P2P網絡中具有數以百萬計的同時在線用戶數,這些節(jié)點提供了大量的可用資源,例如分布式存儲和網絡帶寬。我們可以嘗試利用這些資源作為一個發(fā)起大型DDoS攻擊的放大平臺。這種方式不必入侵P2P網絡節(jié)點所運行的主機,只需要在層疊網絡(應用層)中將其控制即可。理論上說,將P2P網絡作為DI)oS攻擊引擎,如果該網絡中有一百萬個在線用戶,則可以將攻擊放大一百萬倍甚至更多。
根據攻擊方式的不同,基于P2P的DDoS攻擊可分為主動攻擊和被動攻擊兩種。基于P2P的主動DDoS攻擊是通過主動地向網絡節(jié)點發(fā)送大量的虛假信息,使得針對這些信息的后續(xù)訪問都指向受害者來達到攻擊效果的,具有可控性較強、放大倍數高等特點。這種攻擊利用P2P協議中基于“推(push)”的機制,反射節(jié)點在短時間內會接收到大量的通知信息,不易于分析和記錄,并且可以通過假冒源地址避過P檢查,使得追蹤定位攻擊源更加困難。此外,主動攻擊在P2P網絡中引入額外流量,會降低P2P網絡的查找和路由性能;虛假的索引信息,會影響文件下載速度。
基于P2P的被動DDoS攻擊通過修改P2P客戶端或者服務器軟件,被動地等待來自其它節(jié)點的查詢請求,再通過返回虛假響應來達到攻擊效果。通常情況下,會采取一些放大措施來增強攻擊效果。如:部署多個攻擊節(jié)點、在一個響應消息中多次包含目標主機、結合其它協議或者實現漏洞等。這種攻擊利用了P2P協議中基于“取(pull)”的機制。被動攻擊屬于非侵擾式,對P2P網絡流量影響不大,通常只能利用到局部的P2P節(jié)點。
3.4 小結
Sybil攻擊是Eclipse攻擊成功實施的基礎。Sybil攻擊的目標是單個物理節(jié)點在P2P網絡上產生大量不同的身份,成功的Sybil攻擊可以使發(fā)動Eclipse攻擊變得更為容易。對單個節(jié)點進行DDoS攻擊的前提是向P2P網絡發(fā)布大量的虛假消息或被動地作出虛假響應,Eclipse攻擊可以幫助攻擊者劫持網絡節(jié)點間傳遞的信息,增大成功實施DDoS攻擊的可能性。
Sybil攻擊只是冒充單個P2P網絡節(jié)點,對P2P網絡的影響是比較小的。Eclipse攻擊使得部分P2P節(jié)點脫離P2P網絡,這對受攻擊的節(jié)點來說是無法接受的。DDoS攻擊的目的是大量占用受害節(jié)點的資源,使其無法正常提供服務,因此DDoS攻擊對P2P網絡的影響是致命的。
4.P2P網絡安全防御研究
近年來,針對上述P2P網絡的攻擊方式,研究者提出了安全通信、信任管理等若干防御機制。
4.1 基于P2P的Sybil攻擊防御研究
自從Sybil攻擊出現以來,針對它的防御工作的研究一直都沒有中斷過。對Sybil攻擊的防御措施,大致可以歸為以下幾類:
a)信任認證。目前它被認為是防御Syb訂攻擊最通用的方法。通過一個授權中心,只有經過信任認證的節(jié)點才能加入P2P網絡,共享和下載資源。Sepandar D.Kamvar等人最早提出了EigenTrust算法,其根據節(jié)點之間的信譽值,從網絡中隔離信譽值較小的惡意節(jié)點,從而減小Sybil攻擊的影響。Douceur提出只有經過信任驗證,才能完全消除Sybil攻擊的影響,而且這是僅有的方法。Jean-Marc Seigneur等人根據信任度模型,提出了信任轉移方法,即每個節(jié)點主動創(chuàng)建其鄰居節(jié)點的信任度信息,節(jié)點在進行共享信息交換時,也交換節(jié)點的信任度信息,去除信任度低的節(jié)點。
b)資源測試。資源測試通過檢測節(jié)點擁有資源(計算資源、存儲資源、網絡帶寬等)的多少來驗證節(jié)點的有效性,減弱Sybil攻擊。George Danezis等人提出在使用DHT進行查詢的過程中,盡量使用不同的節(jié)點集合,以確保至少有一部分查詢結果是可用的,進而減緩sybil攻擊對網絡性能的影響。Joehen Dinger等人E123基于穩(wěn)定性和m差異性等特點,對節(jié)點D進行檢測與分類,然后充分利用P2P網絡的分布式特性,提出了一種名為Self-Registation的方法,以減緩sybil攻擊的可能性。
c)提高節(jié)點加入網絡代價。通過限制節(jié)點的加入過程,例如只有具有一定計算能力的節(jié)點才能加入P2P網絡,來減小Sybil攻擊的可能性。王鵬等人針對節(jié)點身份的認證方案,提出通過增加節(jié)點獲取身份代價的方法,來盡可能地減少Sybil攻擊。胡玲玲等人基于小世界模型,提出了一種Sybil攻擊防御機制,亦即將sybil攻擊團體的發(fā)現歸結為最大流/最小割問題,引入虛擬節(jié)點并利用爬行器找到Sybil攻擊團體,進而將其與P2P系統分開,從而減少Sybil攻擊節(jié)點的數量,弱化sybil攻擊的影響。
4.2 基于P2P的Eclipse攻擊防御研究
目前,大多數針對Eclipse攻擊的防御措施主要體現在攻擊檢測、攻擊容忍和攻擊限制3種方法上。
a)惡意節(jié)點檢測。Singh等人認為當擁有有限資源的惡意用戶發(fā)動大范圍的Eclipse攻擊時,惡意節(jié)點的入度一般要高于網絡中正常節(jié)點入度的平均值。基于這一事實,可以要求正常節(jié)點僅僅選擇那些入度低于某一閾值的節(jié)點作為鄰居節(jié)點,盡可能地限制惡意節(jié)點對正常節(jié)點的攻擊。
b)攻擊容忍,主要包括路由冗余與路由重置。Hildrum和Kubiatowiczc211提出了一種通過在Pastry和Tapestry路由表中添加冗余表項的方法,來增加惡意節(jié)點占據路由表的難度,以減緩Eclipse攻擊的危害。Castro等人提出了一種使用2個路由表進行路由的方法,一個路由表是優(yōu)化路由表,另一個是驗證路由表。通常情況下,節(jié)點優(yōu)先使用路由效率相對較高的優(yōu)化路由表進行路由,在路由檢測失敗的時候則依靠驗證路由表通過安全冗余路由來重新進行路由。使用雙路由表的方法由于優(yōu)化路由表的毒化程度會不斷加劇而具有一定的脆弱性,因此Condie等人提出了一種通過誘發(fā)網絡抖動來防御Eclipse攻擊的方法,即周期性地將優(yōu)化路由表重置為驗證路由表,而在大部分情況下使用優(yōu)化路由表進行路由更新。
c)攻擊限制。Maecari等人提出一種通過外部驗證服務來解決Eclipse攻擊問題的方法,即通過使用驗證服務來對節(jié)點D進行簽名,防止攻擊者隨意選擇生成自己的節(jié)點D并生成大量的節(jié)點,這樣攻擊者無法控制自己的節(jié)點在D空間中的位置,亦無法侵占目標節(jié)點路由表的特定位置,也就無法成功實施Eclipse攻擊。Awerbuch和Scheidelerd提出不僅要對節(jié)點加入進行限制,還要對路由協議作出改進,要求網絡中的所有消息都沿著特定的區(qū)域進行轉發(fā),以避免惡意節(jié)點產生的假消息在網絡中傳輸。
4.3 基于P2P的DDoS攻擊防御研究
基于P2P的DDoS攻擊是一種應用層攻擊,相對于網絡層攻擊而言,其更難于檢測和防御。當前,針對基于P2P的DDoS攻擊的防御技術主要包括基于驗證的方法、基于成員管理的方法、基于信譽的方法和受害者端的方法。
a)基于驗證的防御方法是指P2P節(jié)點收到任何消息后,首先通過一定措施驗證消息中包含的地址是否有效,驗證成功后再使用該信息。E.Athanasopoulos等人在直接驗證的基礎上,提出了安全列表機制,并通過SEALING算法計算安全列表。其核心是將直接驗證失敗的IP地址加入安全列表,之后針對該地址的訪問都被忽略。X Sun等人提出了直接驗證和多點驗證方法。直接驗證是指節(jié)點獲得節(jié)點C的信息后,直接發(fā)送消息到C,以驗證C的存在以及其是否能夠對請求作出響應;多點驗證中節(jié)點并不直接發(fā)送消息到C,而是等到從其它m個節(jié)點中獲得C的信息后再使用之。
b)基于成員管理的防御方法是指改進P2P系統的通信架構,改變成員間的合作關系,從而防御其被用來進行DDoS攻擊。Yunhao Liu等人分析了無結構P2P網絡內部的泛洪DDoS攻擊,并提出針對“壞”節(jié)點的檢測和防御機制DDPOLICE,其基本思想是P2P網絡的所有節(jié)點通過與其它r跳內鄰居的協作來管理其直接鄰居的查詢行為,進而識別出可能的惡意節(jié)點。Daswani等人提出通過在極端節(jié)點層平衡查詢流量來限制Gnutella的查詢泛洪攻擊。
c)基于信譽的防御方法是指在P2P節(jié)點之間建立信譽機制,根據交互歷史和預期,確定節(jié)點消息的可信度。JianLiang等人根據觀察發(fā)現,攻擊者會針對同一標題廣播大量版本消息,并且每個攻擊者容易使用相鄰網段進行攻擊,每個P2P節(jié)點自身維護本地信譽列表,忽略信譽值低的節(jié)點。另外,Yu Jie等人還提出可以將黑名單機制引入到信譽管理中。
d)受害者端的防御方法是指通過在受害者端采取和部署特定的防御措施,過濾攻擊報文,來減輕其被攻擊的影響。Jie Yu等人將應用層上的DDoS攻擊進行抽象建模,并提出了在受害者端建立攻防結合的防御機制DOW,其結合異常檢測方法與代價方法,來降低攻擊會話速率、攻擊請求速率。Walfish等人提出了一種加速方法,該方法針對應用層DDoS攻擊,以網絡帶寬作為代價,采用了以攻代守的策略,鼓勵客戶端發(fā)送更多請求。K Cheung Sia等人認為網絡管理員清楚下游主機具體提供了哪些服務,提出了在受害者端的上游路由器進行包過濾的方法。S.Ranjan等人提出了由懷疑指派機制和DDoS彈回調度器組成的一種防御機制。
結束語
本文首先概述了P2P網絡的基本概念與特點;然后重點介紹了目前對P2P網絡安全威脅最大的3種攻擊方法:Sybil攻擊、Eclipse攻擊和DDoS攻擊;最后詳細分析了針對這3種攻擊的防御研究現狀。
從上述分析來看,P2P網絡安全及其防御等各方面的技術尚未成熟,還存在許多問題亟待解決。同時,P2P應用作為Internet上最流行和成功的網絡應用之一,正處于不斷的完善和發(fā)展之中,新的P2P網絡安全及防御問題將無法避免。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業(yè)務領域、行業(yè)應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業(yè)務領域的管理,全面涵蓋了企業(yè)關注ERP管理系統的核心領域,是眾多中小企業(yè)信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:P2P網絡安全及防御技術研究綜述
本文網址:http://www.guhuozai8.cn/html/consultation/10839412934.html