摘要:P2P蠕蟲(chóng)是利用P2P 機(jī)制進(jìn)行傳播的惡意代碼。通過(guò)P2P節(jié)點(diǎn)的共享列表,蠕蟲(chóng)很容易獲得攻擊目標(biāo)的信息,所以其爆發(fā)時(shí)傳播速度很快,這種大量的快速傳播導(dǎo)致的直接后果是網(wǎng)絡(luò)阻塞。該文分析蠕蟲(chóng)在P2P 網(wǎng)絡(luò)中的傳播原理,在此基礎(chǔ)上分析了蠕蟲(chóng)的防御措施。
關(guān)鍵詞:蠕蟲(chóng);P2P系統(tǒng)
中圖分類(lèi)號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):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
近年來(lái),隨著P2P 系統(tǒng)的流行,其用戶也越來(lái)越多。在P2P 系統(tǒng)環(huán)境下,方便的共享和快速的選路機(jī)制,為某些網(wǎng)絡(luò)病毒提供了更多的入侵機(jī)會(huì)。P2P 是一種網(wǎng)絡(luò)模型,又稱(chēng)對(duì)等網(wǎng)。在這種模型中,所有節(jié)點(diǎn)都是對(duì)等的( 稱(chēng)為對(duì)等點(diǎn)) ,各節(jié)點(diǎn)具有相同的責(zé)任和能力,并協(xié)同完成任務(wù)。對(duì)等點(diǎn)之間直接互連,共享信息資源、處理器資源、存儲(chǔ)資源甚至高速緩存資源,且無(wú)須依賴集中式服務(wù)器或資源就可完成。這種模式與當(dāng)今廣泛使用的C/S 模式形成鮮明的對(duì)比:在C/S 模式中,服務(wù)器是網(wǎng)絡(luò)的控制核心,而P2P 模式的節(jié)點(diǎn)則具有很高的自治性和隨意性。隨著Napster、Genutella等信息共享應(yīng)用程序越來(lái)越流行,P2P 技術(shù)更受人們的廣泛關(guān)注。
1 網(wǎng)絡(luò)蠕蟲(chóng)
1.1 網(wǎng)絡(luò)蠕蟲(chóng)的定義
網(wǎng)絡(luò)蠕蟲(chóng)是一種智能化、自動(dòng)化,綜合網(wǎng)絡(luò)攻擊、密碼學(xué)和計(jì)算機(jī)病毒技術(shù),無(wú)須計(jì)算機(jī)使用者干預(yù)即可運(yùn)行的攻擊程序或代碼,它會(huì)掃描和攻擊網(wǎng)絡(luò)上存在系統(tǒng)漏洞的節(jié)點(diǎn)主機(jī),通過(guò)局域網(wǎng)或者國(guó)際互聯(lián)網(wǎng)從一個(gè)節(jié)點(diǎn)傳播到另外一個(gè)節(jié)點(diǎn)。
蠕蟲(chóng)病毒和一般的計(jì)算機(jī)病毒有著很大的區(qū)別,對(duì)于它,現(xiàn)在還沒(méi)有一個(gè)成套的理論體系,但是一般認(rèn)為:蠕蟲(chóng)病毒是一種通過(guò)網(wǎng)絡(luò)傳播的惡性病毒,它除具有病毒的一些共性外,同時(shí)具有自己的一些特征,如不利用文件寄生(有的只存在于內(nèi)存中),對(duì)網(wǎng)絡(luò)造成拒絕服務(wù),以及與黑客技術(shù)相結(jié)合等等。蠕蟲(chóng)病毒主要的破壞方式是大量的復(fù)制自身,然后在網(wǎng)絡(luò)中傳播,嚴(yán)重的占用有限的網(wǎng)絡(luò)資源,最終引起整個(gè)網(wǎng)絡(luò)的癱瘓,使用戶不能通過(guò)網(wǎng)絡(luò)進(jìn)行正常的工作。每一次蠕蟲(chóng)病毒的爆發(fā)都會(huì)給全球經(jīng)濟(jì)造成巨大損失,因此它的危害性是十分巨大的;有一些蠕蟲(chóng)病毒還具有更改用戶文件、將用戶文件自動(dòng)當(dāng)附件轉(zhuǎn)發(fā)的功能,更是嚴(yán)重的危害到用戶的系統(tǒng)安全。
1.2 傳播方式
網(wǎng)絡(luò)蠕蟲(chóng)通過(guò)局域網(wǎng)、國(guó)際互聯(lián)網(wǎng)或者電子郵件從一個(gè)節(jié)點(diǎn)傳播到另外一個(gè)節(jié)點(diǎn)。以下是通用蠕蟲(chóng)算法的描述:
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) 利用系統(tǒng)漏洞傳播——蠕蟲(chóng)病毒利用計(jì)算機(jī)系統(tǒng)的設(shè)計(jì)缺陷,通過(guò)網(wǎng)絡(luò)主動(dòng)的將自己擴(kuò)散出去。 2) 利用電子郵件傳播——蠕蟲(chóng)病毒將自己隱藏在電子郵件中,隨電子郵件擴(kuò)散到整個(gè)網(wǎng)絡(luò)中,這也是是個(gè)人計(jì)算機(jī)被感染的主要途徑。
2 P2P 原理與蠕蟲(chóng)傳播關(guān)系
目前流行于Internet中的蠕蟲(chóng)主要傳播方式是隨機(jī)掃描,這類(lèi)蠕蟲(chóng)沒(méi)有特定區(qū)域的易攻擊目標(biāo)信息,而是隨機(jī)地來(lái)尋找攻擊目標(biāo),并且它傳播的條件必須是在整個(gè)IP 地址范圍內(nèi)存在一定密度的易攻擊結(jié)點(diǎn),同時(shí)要求用很高的速度探測(cè)不同的主機(jī)。而所謂的P2P 蠕蟲(chóng)就是能夠優(yōu)先利用P2P 通信機(jī)制傳播的蠕蟲(chóng),目前蠕蟲(chóng)呈現(xiàn)出隨機(jī)掃描與利用P2P 機(jī)制混合傳播的趨勢(shì)。P2P 網(wǎng)絡(luò)的一個(gè)主要特點(diǎn)是資源共享,每個(gè)節(jié)點(diǎn)都保存著大量的鄰居節(jié)點(diǎn)信息。利用P2P 的共享機(jī)制,蠕蟲(chóng)只需要感染其中的一個(gè)節(jié)點(diǎn),就可以通過(guò)結(jié)點(diǎn)中鄰居結(jié)點(diǎn)的信息列表迅速探測(cè)新的易攻擊結(jié)點(diǎn),整個(gè)過(guò)程重復(fù)迭代,蠕蟲(chóng)迅速蔓延整個(gè)網(wǎng)絡(luò)??偨Y(jié)起來(lái)這類(lèi)蠕蟲(chóng)有3 個(gè)主要的特點(diǎn):1) 傳播速度極快;2) 傳播成功率很高;3) 攻擊不易被察覺(jué)。由于P2P 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的特點(diǎn),為P2P 蠕蟲(chóng)準(zhǔn)確地尋找易攻擊節(jié)點(diǎn)提供了捷徑,因此其攻擊不具有網(wǎng)絡(luò)異常性。
由于P2P 網(wǎng)絡(luò)中邏輯相鄰的節(jié)點(diǎn),地理位置可能相隔很遠(yuǎn),且參與P2P 網(wǎng)絡(luò)的節(jié)點(diǎn)數(shù)量又非常之大,所以通過(guò)P2P 系統(tǒng)來(lái)傳播的蠕蟲(chó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ò)擁塞甚至癱瘓,共享信息丟失,機(jī)密信息失竊,甚至通過(guò)網(wǎng)絡(luò)病毒可以完全控制整個(gè)網(wǎng)絡(luò)。
3 P2P 蠕蟲(chóng)的防治策略
防御者的總的目標(biāo)是包括最小化蠕蟲(chóng)的檢測(cè)時(shí)間,蠕蟲(chóng)區(qū)域隔離,軟件補(bǔ)丁和蠕蟲(chóng)掃除。主要考慮以下兩個(gè)目標(biāo):
1) 蠕蟲(chóng)攻擊檢測(cè):假如我們能從P2P 主機(jī)P1部分收集數(shù)據(jù)作為聯(lián)合檢測(cè)來(lái)估計(jì)蠕蟲(chóng)攻擊的傳播。檢測(cè)列表中的所有主機(jī)能自己組織一個(gè)覆蓋網(wǎng)絡(luò)來(lái)有效的共享防御信息。當(dāng)傳染主機(jī)攻擊P2P 系統(tǒng)進(jìn)行掃描時(shí),它將攻擊具有P1部分的可能性的檢測(cè)裝置。如果蠕蟲(chóng)產(chǎn)生S 個(gè)掃描,傳染主機(jī)試圖去掃描它的鄰居。當(dāng)檢測(cè)列表中的一臺(tái)主機(jī)檢測(cè)到蠕蟲(chóng)時(shí),它將通報(bào)檢測(cè)列表中的其他節(jié)點(diǎn)并引發(fā)蠕蟲(chóng)檢測(cè)。
2) 提高防御效率。模擬主動(dòng)蠕蟲(chóng)傳播的目標(biāo)之一是為了檢測(cè)它。因此介紹一個(gè)簡(jiǎn)單而且實(shí)用的傳感檢測(cè)系統(tǒng),并將模型應(yīng)用于性能的評(píng)估。執(zhí)行以下兩個(gè)步驟:(i) 當(dāng)系統(tǒng)檢測(cè)到蠕蟲(chóng)攻擊時(shí),隔離區(qū)將被構(gòu)造。這樣,兩種類(lèi)型的區(qū)域就產(chǎn)生了:一個(gè)是傳染區(qū)域,在這個(gè)區(qū)域里,蠕蟲(chóng)不斷的繁殖傳播;另一個(gè)是無(wú)傳染區(qū)域,即這個(gè)區(qū)域里無(wú)蠕蟲(chóng)傳播。這時(shí)這兩類(lèi)區(qū)域間的所有連接將被關(guān)閉,并且無(wú)傳染區(qū)的主機(jī)開(kāi)始安裝蠕蟲(chóng)補(bǔ)丁。( ii)當(dāng)無(wú)傳染區(qū)的所有主機(jī)都安裝好蠕蟲(chóng)補(bǔ)丁后,并采用了有效的P2P 布局,我們就能提高防御性能。這樣,檢測(cè)列表中所有主機(jī)組織一個(gè)有效的P2P布局并將軟件補(bǔ)丁分布到傳染區(qū)域并且修復(fù)系統(tǒng)。
參考文獻(xiàn):
[1] 卿斯?jié)h,流文清,流海峰.操作系統(tǒng)安全導(dǎo)論[M].北京:科學(xué)出版社,2003。
[2] 郝向東,王開(kāi)云,張春瑞,等.大規(guī)模P2P網(wǎng)絡(luò)下蠕蟲(chóng)攻擊的研究[J].微計(jì)算機(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.