摘要:P2P蠕蟲是利用P2P 機制進行傳播的惡意代碼。通過P2P節點的共享列表,蠕蟲很容易獲得攻擊目標的信息,所以其爆發時傳播速度很快,這種大量的快速傳播導致的直接后果是網絡阻塞。該文分析蠕蟲在P2P 網絡中的傳播原理,在此基礎上分析了蠕蟲的防御措施。
關鍵詞:蠕蟲;P2P系統
中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2009)05-1066-02
Research on Propagation of Worms in P2P Networks
QUAN Feng-shu
(Chenzhou City, Hunan Province Supply and Marketing School,Chenzhou 423000,China)
Abstract: The P2P-based worm is a kind of malicious code that takes advantage of P2P system to propagate. Because hosts in P2P system maintain a lot of neighbors list, infected hosts in P2P systems can easily propagate the worms to its neighbors. It can spread with high speed, which would lead to network congestion. This paper addresses the issue by analyzing the theory of P2P worm’s propagationit studies the measure of defense based on the propagating model.
Key words:worms; Peer-to-Peer (P2P) system
近年來,隨著P2P 系統的流行,其用戶也越來越多。在P2P 系統環境下,方便的共享和快速的選路機制,為某些網絡病毒提供了更多的入侵機會。P2P 是一種網絡模型,又稱對等網。在這種模型中,所有節點都是對等的( 稱為對等點) ,各節點具有相同的責任和能力,并協同完成任務。對等點之間直接互連,共享信息資源、處理器資源、存儲資源甚至高速緩存資源,且無須依賴集中式服務器或資源就可完成。這種模式與當今廣泛使用的C/S 模式形成鮮明的對比:在C/S 模式中,服務器是網絡的控制核心,而P2P 模式的節點則具有很高的自治性和隨意性。隨著Napster、Genutella等信息共享應用程序越來越流行,P2P 技術更受人們的廣泛關注。
1 網絡蠕蟲
1.1 網絡蠕蟲的定義
網絡蠕蟲是一種智能化、自動化,綜合網絡攻擊、密碼學和計算機病毒技術,無須計算機使用者干預即可運行的攻擊程序或代碼,它會掃描和攻擊網絡上存在系統漏洞的節點主機,通過局域網或者國際互聯網從一個節點傳播到另外一個節點。
蠕蟲病毒和一般的計算機病毒有著很大的區別,對于它,現在還沒有一個成套的理論體系,但是一般認為:蠕蟲病毒是一種通過網絡傳播的惡性病毒,它除具有病毒的一些共性外,同時具有自己的一些特征,如不利用文件寄生(有的只存在于內存中),對網絡造成拒絕服務,以及與黑客技術相結合等等。蠕蟲病毒主要的破壞方式是大量的復制自身,然后在網絡中傳播,嚴重的占用有限的網絡資源,最終引起整個網絡的癱瘓,使用戶不能通過網絡進行正常的工作。每一次蠕蟲病毒的爆發都會給全球經濟造成巨大損失,因此它的危害性是十分巨大的;有一些蠕蟲病毒還具有更改用戶文件、將用戶文件自動當附件轉發的功能,更是嚴重的危害到用戶的系統安全。
1.2 傳播方式
網絡蠕蟲通過局域網、國際互聯網或者電子郵件從一個節點傳播到另外一個節點。以下是通用蠕蟲算法的描述:
While ()
{h=GetTarget();
checkConnect(h);
if h can’t connectthencontinue;
Exploit e= checkVULN(h);
If h have not vulnerable thencontinue;
AcquirePrivs(h,e);
If can’t acquire privilege then continue;
Infect(h);
If can't infect then continue;
}
其主要傳播方式有兩種:1) 利用系統漏洞傳播——蠕蟲病毒利用計算機系統的設計缺陷,通過網絡主動的將自己擴散出去。 2) 利用電子郵件傳播——蠕蟲病毒將自己隱藏在電子郵件中,隨電子郵件擴散到整個網絡中,這也是是個人計算機被感染的主要途徑。
2 P2P 原理與蠕蟲傳播關系
目前流行于Internet中的蠕蟲主要傳播方式是隨機掃描,這類蠕蟲沒有特定區域的易攻擊目標信息,而是隨機地來尋找攻擊目標,并且它傳播的條件必須是在整個IP 地址范圍內存在一定密度的易攻擊結點,同時要求用很高的速度探測不同的主機。而所謂的P2P 蠕蟲就是能夠優先利用P2P 通信機制傳播的蠕蟲,目前蠕蟲呈現出隨機掃描與利用P2P 機制混合傳播的趨勢。P2P 網絡的一個主要特點是資源共享,每個節點都保存著大量的鄰居節點信息。利用P2P 的共享機制,蠕蟲只需要感染其中的一個節點,就可以通過結點中鄰居結點的信息列表迅速探測新的易攻擊結點,整個過程重復迭代,蠕蟲迅速蔓延整個網絡。總結起來這類蠕蟲有3 個主要的特點:1) 傳播速度極快;2) 傳播成功率很高;3) 攻擊不易被察覺。由于P2P 網絡拓撲結構的特點,為P2P 蠕蟲準確地尋找易攻擊節點提供了捷徑,因此其攻擊不具有網絡異常性。
由于P2P 網絡中邏輯相鄰的節點,地理位置可能相隔很遠,且參與P2P 網絡的節點數量又非常之大,所以通過P2P 系統來傳播的蠕蟲,波及范圍更大,覆蓋面更廣,因此造成的損失會很大。在P2P 網絡中,每個節點防御病毒的能力是不同的。只要有一個節點感染病毒,就可能通過內部共享和通信機制將病毒擴散到附近的鄰居節點。在短時間內可以造成網絡擁塞甚至癱瘓,共享信息丟失,機密信息失竊,甚至通過網絡病毒可以完全控制整個網絡。
3 P2P 蠕蟲的防治策略
防御者的總的目標是包括最小化蠕蟲的檢測時間,蠕蟲區域隔離,軟件補丁和蠕蟲掃除。主要考慮以下兩個目標:
1) 蠕蟲攻擊檢測:假如我們能從P2P 主機P1部分收集數據作為聯合檢測來估計蠕蟲攻擊的傳播。檢測列表中的所有主機能自己組織一個覆蓋網絡來有效的共享防御信息。當傳染主機攻擊P2P 系統進行掃描時,它將攻擊具有P1部分的可能性的檢測裝置。如果蠕蟲產生S 個掃描,傳染主機試圖去掃描它的鄰居。當檢測列表中的一臺主機檢測到蠕蟲時,它將通報檢測列表中的其他節點并引發蠕蟲檢測。
2) 提高防御效率。模擬主動蠕蟲傳播的目標之一是為了檢測它。因此介紹一個簡單而且實用的傳感檢測系統,并將模型應用于性能的評估。執行以下兩個步驟:(i) 當系統檢測到蠕蟲攻擊時,隔離區將被構造。這樣,兩種類型的區域就產生了:一個是傳染區域,在這個區域里,蠕蟲不斷的繁殖傳播;另一個是無傳染區域,即這個區域里無蠕蟲傳播。這時這兩類區域間的所有連接將被關閉,并且無傳染區的主機開始安裝蠕蟲補丁。( ii)當無傳染區的所有主機都安裝好蠕蟲補丁后,并采用了有效的P2P 布局,我們就能提高防御性能。這樣,檢測列表中所有主機組織一個有效的P2P布局并將軟件補丁分布到傳染區域并且修復系統。
參考文獻:
[1] 卿斯漢,流文清,流海峰.操作系統安全導論[M].北京:科學出版社,2003。
[2] 郝向東,王開云,張春瑞,等.大規模P2P網絡下蠕蟲攻擊的研究[J].微計算機信息,2006,22(8),245-247.
[3] Hethcote H W. The Mathematics of Infectious Diseases[J]. SIAM Review, 2000, 42(4):599-653.
[4] Yu W,Boyer C,Xuan D.Analyzing Impacts of Peer-to-Peer Systems on Propagation of Active Worm attacks[R]. Computer Science Dept.,Texas AM University, 2004.