摘要:計算機病毒和蠕蟲在網絡中的擴散取決于網絡的結構。網絡結構會影響計算機病毒感染傳播的速度和范圍。針對現實世界網絡傳播的特性,對不同網絡結構的計算機病毒的傳播和控制策略進行了探討。
關鍵詞:復雜網絡;計算機病毒和蠕蟲;目標免疫;病毒遏制;無標度網絡
中圖法分類號:TP309.5;N94;O414.2文獻標識碼:A
文章編號:1001-3695(2006)09-0054-03
計算機安全包括硬件安全、軟件安全、數據安全和運行安全等。在威脅計算機安全的眾多技術之中,計算機病毒對計算機系統的潛在危害十分大。公安部公共信息網絡安全監察局發布的2003年全國計算機病毒疫情調查報告顯示,中國計算機用戶感染計算機病毒的比例達到85.57%,較去年增加了1.59%。計算機病毒的泛濫危害信息系統的安全,妨礙計算機系統的正常運行,使自動柜員機陷于混亂、延誤航班,甚至影響緊急呼叫中心的運行。例如Sobig病毒已經造成超過三百億元美金的損失[1]。計算機用戶直接面臨97000多種病毒、蠕蟲和特洛伊木馬的威脅。SQLSlammer病毒還導致了為西雅圖附近兩個警察部門和14個火警部門服務的911應急響應中心系統的癱瘓[2]。
通過統計和概率的方法,從一個新的視角來審視復雜系統的整體動態特性,對網絡的復雜性特點和計算機病毒的傳播提出新的見解[1,3,4]。本文從網絡的整體動態特性來分析計算機病毒的傳播并對控制策略進行了一些探討。
1復雜網絡的結構和特點
復雜網絡是指由一個點集V(G)和一個邊集E(G)組成的一個圖G(V,E)。網絡形式在現實生活中隨處可見,例如因特網、社會網絡、公司間商務關系網絡、食物網、論文之間相互引用而形成的網絡等。
對網絡最早進行研究的是數學家。他們使用經典的圖論理論,用某種規則的拓撲結構模擬真實網絡。Rapoportd第一次嘗試構造大型復雜網絡的隨機圖模型,后被Erds和Rényi重新獨立發現并加以認真研究,將其命名為隨機圖[5]。Erds和Rényi提出了一個非常簡單的網絡模型(ER模型):假定網絡有n個頂點,每個頂點的連接(或非連接)的可能性為p(或1-p),這樣的網絡具有m條邊,并且m條邊出現的概率為pm(1-p)M-m,這里M=1/2n(n-1)是最大可能邊數。隨機圖的許多性質在大圖規模有限的約束下是可解的,特別是大n的約束使平均度數z=p(n-1)保持在常數的情況下,由于邊的存在與否是獨立的,所以頂點的度數k的概率符合Poisson分布:
小世界模型(WS模型)由Watts和Strogatz提出[6]。該模型是一個具有高傳遞性并易于處理的網絡模型。小世界模型首先建立一個低維的網絡結構,然后增加或移動一些邊,以生成較低密度的“捷徑”,將實現與網絡中相距較遠的部分連接。在模型中,N個節點構成一個一維的網絡,每個節點連接到其近鄰接點和次近鄰接點的兩個節點上,每條邊以概率P重新連接到任意一個節點上。由該過程產生長距離的連接減少兩節點的距離,導致小世界現象的產生,就是常說的六度分離。當p=0時就是規則網絡,p=1則為隨機網絡,對于0
大量的實證研究表明,真實網絡幾乎都具有小世界效應。但ER模型與WS模型的一個共同特性是:一個高連通度(即有大k)的節點的概率隨k呈指數下降。然而自然界中許多系統具有一個共同的特性——網絡的度分布符合冪律分布。在網絡中任意檢測某個節點x的度,并用p(k)表示其度恰為k的概率,如果p(k)與k之間的關系可以用一個冪函數p(k)~k-r表示,我們就說該網絡的節點度服從冪律分布。冪函數曲線是一條下降相對緩慢的曲線,這使得度數很大的節點可以在網絡中存在。我們將節點度服從冪律分布的網絡稱為無標度網絡,并稱這種節點度的冪律分布為網絡的無標度特性。1999年,Barabási和Albert給出了構造無標度網絡的演化模型[7],將真實系統通過自組織生成無標度的網絡歸因于兩個主要因素,即生長和優先連接。其網絡模型(BA網絡)正是模擬這兩個關鍵機制而設計的。
2計算機病毒的傳播特性
計算機病毒是某些人利用計算機軟、硬件固有的脆弱性來編制具有特殊功能的程序。計算機病毒的數量每年都在以指數級增長,而且由于近幾年傳輸媒質的改變和Internet的廣泛應用,導致病毒感染的對象開始由工作站(終端)向網絡部件(代理、防護和服務設置等)轉變,病毒類型也由文件型向網絡蠕蟲型改變。
由于互聯網的觸角已經遍及世界每一個角落,接入互聯網的任何兩臺計算機都可以進行通信,因此,也為計算機病毒的傳播打開了方便之門。依賴于互聯網的便利,現在的計算機病毒的傳播速度今非昔比,尤其是一些蠕蟲病毒,它們借助于電子郵件系統,幾乎以不可思議的速度傳播,以ILoveYou(情書病毒)為例,2000年5月4日凌晨計算機病毒從地球一端的菲律賓開始發作,到傍晚已經感染了另一端的美國數十萬臺計算機,也許連計算機病毒編制者都未曾想到其傳播迅速之快、波及面之廣。
根據公安部2004年全國信息網絡安全狀況提供的信息表明,2004年計算機病毒通過光盤、磁盤等存儲介質傳播的比例繼續下降,通過網絡下載、瀏覽以及即時通信工具進行傳播和破壞的數量明顯上升[8]。現在計算機病毒已經可以通過包括大容量移動磁盤(ZIP,JAZ)、光盤、網絡、Internet、電子郵件等多種方式傳播,而且僅Internet的傳播方式又包括WWW瀏覽、IRC聊天、FTP下載、BBS論壇等。
計算機病毒的傳播模型一直是人們感興趣的課題,在該領域已經建立了一些相關的模型,其中最為著名的是從生物學領域借鑒了病毒傳播規律的SIS模型[9]。病毒傳播都有一個閾值,在傳播速率高于閾值時病毒可以存活,反之就會消亡。在SIS模型的網絡結構中每個節點代表網絡中的主機,節點間的連線代表病毒可能傳播的途徑。節點在任何時刻只能處于健康狀態或受感染狀態兩種之一。在此模型演變的過程中可以得到一個非零的病毒傳播閾值,當實際傳播速率高于此閾值時病毒能夠得到廣泛傳播,反之就會逐漸消亡;在此模型的預測結果下病毒傳播的速率呈指數分布衰減,這與實際的病毒傳播數據十分不吻合。現實中的病毒傳播數據表明大量的病毒均只能影響極小范圍內的主機,但極少數的病毒卻能夠傳播到非常廣的范圍。
復雜網絡有許多統計特性,其中無標度特性是一個重要的特性。在此類網絡上重新對SIS模型進行修正,發現在網絡規模足夠大時得到的病毒域值為0[10]。這意味著在規模足夠大的標度無關性網絡,如Internet中病毒可以通過連通度很高的節點(重要的服務器)迅速擴散到Internet上的各處,而且除非所有的主機同時使用殺毒軟件,否則病毒將會迅速擴散。但是在大多數情況下對于連通度小的節點而言,病毒僅僅會在小范圍內傳播而且會較快得到抑制。
3計算機病毒控制策略
計算機病毒在計算機網絡上的蔓延如同傳染病在人群中的流行、謠言在社會中的擴散等,均可以被看作是服從某種規律的網絡傳播行為。傳統的網絡傳播模型大都是基于規則網絡的,因此,復雜網絡不同統計特征的發現使我們有了描述這種傳播行為并揭示其特性的方法。
計算機病毒和蠕蟲在網絡中的擴散取決于網絡結構。網絡結構會影響計算機感染傳播的速度和范圍。WWW網度分布的無標度特性[11]表明,聚現象在網絡的發展中發揮了巨大作用。WWW網基本上是由少數高連通性的頁面串聯起來的,80%以上的頁面的連接數不到四個,而占節點總數不到萬分之一的極少數節點,卻與1000個以上的節點連接[12]。盡管無標度網絡相對均勻分布的網絡而言,其對隨機錯誤具有很強的免疫力,但在遭受惡意攻擊時性能卻急劇下降。在這樣的網絡中去掉1%高連通度的節點,系統性能將下降一半;如果去掉4%的節點,系統將不能保證任意節點的連通性。也就是說在這樣的網絡中如果有人惡意攻擊網絡中連通度很高的那些節點(重要的服務器或網關等),則整個網絡很快就會陷入崩潰狀態,即系統容錯性提高的同時伴隨著安全性的下降。WWW網的冪律分布成了它的致命弱點[13]。
3.1目標免疫
一種有明顯意義的問題是能否通過對部分節點接種疫苗而有效地控制計算機病毒的傳播。PastorSatorras和Vespignani認為Callway等人的隨機免疫策略對于無標度網絡是無效的,而選擇節點度較大的頂點優先免疫的方法是有效的。關于SIS模型免疫問題的主要工作由PastorSatorras和Vespignani完成[14],他們首先提出了所謂的“目標免疫”方法,即對度大的節點優先免疫。利用平均場近似的方法,PastorSatorras和Vespignani證明了若想使用隨機免疫的方法有效地控制疾病在無標度網絡中的傳播,需要對占總人數比例為gc→1的人群接種疫苗,即必須做到每人都接種疫苗。而如果使用目標免疫方法,這個臨界值可以下降到gc=e-2/mλ。其中m是BA網絡中每個新加入頂點需要與原頂點集建立聯系的數目[7],λ代表傳播率。
中國教育科技網(CERNET)是我國第二大互聯網。在該網絡中,將所有網頁均抽象為節點,而網頁上由該網頁指向其他網頁的所有超鏈接均抽象為網絡的有向邊。用這種方法,我們構造了一個由366422個節點和540755條邊構成的復雜有向網絡。通過對數據的分析,中國教育網節點度分布圖尾部呈冪律分布,pout(k)~k-rout,其中rout=2.48,而入度分布圖基本呈冪律分布,尾部不是很平緩,pin(k)~k-rin,其中rin=2.40。節點的出度、入度分布圖如圖1和圖2所示。
對中國教育科技網節點度數累積頻數及所占百分比統計的分析可知,中國教育科技網中大量網頁連接邊數少,少量網頁具有中等數量的連接邊,極少數也是值得注意的幾個網頁具有大量連接邊,這一結果與Barabási等人研究萬維網的結果相似[11]。
以一個5000節點頂點,7493條邊的子網為例。從數據中我們可知10%和20%的頂點的邊數分別為4990和6725,占總邊數的66.6%和90.0%;而有3743個頂點只有單向接入,占總頂點數的74.9%。對于此類有明顯無標度特性的網絡,其具有對節點隨機錯誤的魯棒性和受到針對性節點攻擊的脆弱性。因而對這種網絡結構防范的有效措施是有目的地接種疫苗,給度數較大的節點賦予免疫性,以便提供整個WWW網的魯棒性。
3.2病毒遏制
在現實世界中,計算機病毒和蠕蟲還在一些不具有無標度特性的網絡上傳播,而且這些網絡的結構是不斷發生變化的。例如基于IP協議的網絡,每臺計算機以32位IP地址標志,并且以路由框架支持任意兩個IP地址的通信。在這樣的網絡中,假定以IP地址為網絡的頂點,它們之間的通信為邊,則所有的節點將具有相同的度,許多病毒(類似Nimda和SQLSlammer蠕蟲)利用IP連接在網絡中傳播。局域網是另一種不具有無標度特性的網絡,它根據用戶類型和管理策略的不同將形成若干不同的節點組(組內所有節點的度數是相同的),Nimda和Bugbear蠕蟲通過網絡中硬盤與硬盤的自我復制完成病毒在局域網中的傳播。此外病毒和蠕蟲的傳播可能引起網絡結構的變化,使一些具有無標度特性的網絡失去無標度的特性,使原有的控制策略失效。因而制定的控制策略要不受網絡拓撲結構改變的影響,也不必知道爆發之前的感染機制[1]。
控制策略“VirusThrottling”(病毒遏制)是建立在與正常代碼之間存在差異的惡意代碼行為基礎之上的,它以如下觀察結果為基礎:在正常活動的情況下,計算機很少會連接新的計算機,而是比較可能有規律地連接同樣一組計算機。這與快速擴散的蠕蟲的基本行為正好相反,蠕蟲總是試圖連接新的計算機。例如,通常計算機每秒鐘大約進行一次連接,而SQLSlammer病毒每秒鐘則要設法感染800多臺計算機。
病毒遏制通過截取IP路由連接請求,也就是跨越不同邊界的連接來工作。這種方法適用于最常見的第四至第七層會話和應用協議,包括TCP連接、UDP包、SMTP、IMAP、Web代理、HTTP、SSL和DNS。病毒遏制跟蹤最近建立的連接數量。如果截取的新請求是面向最近建立的一個連接目標,則正常處理該請求;如果請求是面向最近沒有連接的目標,則只在最近連接的數量低于預先設定的閾值時才處理該請求。這個閾值限定在一定時間內允許多少個連接,以此實施連接速度為限制。如果超過閾值,而請求以不同尋常的高速度進入,那么它將被視為是病毒。這時,病毒遏制將停止處理請求,從而另行通知系統管理員。
在英國BristolHP實驗室進行的病毒遏制技術測試顯示[2],病毒遏制能夠非常迅速地檢測和阻止蠕蟲從感染的計算機上擴散。例如,遏制技術能夠在1s內阻止W32/NimdaD蠕蟲的擴散。由于遏制技術阻止了隨后的感染,因此對病毒全球性擴散的影響取決于在多大范圍內布署病毒遏制技術。HP實驗室的測試結果表明,只需在50%的計算機上采用病毒遏制技術就可大大減少蠕蟲及其變種在全球的擴散。即使被感染,被遏制的機器也不會產生任何網絡流量,從而可大幅度地減少由病毒產生的網絡流量。
病毒遏制技術的精髓就是對連接的新計算機施加一個速度限制,以便正常的流量保持不被感染,而試圖以超過允許的速度擴散的可疑流量則被遏制。這樣就會產生大量極容易被檢測到的積壓的連接請求。病毒一經遏制并被檢測到之后,技術人員和系統管理員就有了進行干預所需的時間,從而將病毒從系統上清除、隔離,以便能根除計算機受到的威脅。
4小結
計算機病毒的泛濫日趨嚴重,持續不斷地威脅著網絡安全。對于不同的網絡結構,不同的控制策略產生不同的有效性,但最佳的策略是不受網絡拓撲結構的改變而發生變化的。在實際工作中我們可結合使用目標免疫和病毒遏制技術,使病毒難以擴散,從而提高整個網絡系統的可靠性。
參考文獻:
[1]JustinBalthrop,StephanieForrest,etal.TechnologicalNetworksandtheSpreadofComputerViruses[J].Science,2004,304(5670):527529.
[2]基于病毒遏制技術(VirusThrottling)的連接速度過濾[EB/OL].http://www.hp.com.cn/network/pdfs.
[3]ALLloyd,RMMay.HowVirusesSpreadamongComputersandPeople[J].Science,2001,292(5520):13161317.
[4]MEJNewman,SForrest,JBalthrop.EmailNetworksandtheSpreadofComputerViruses[J].Phys.Rev.E,2002,66(035101):14.
[5]MEJNewman.TheStructureandFunctionofComplexNetworks[J].SIAMReview,2003,45(2):167256.
[6]DJWatts,SHStrogatz.CollectiveDynamicsof\"Smallworld\"Networks[J].Nature,1998,393(4):440442.
[7]ALBarabási,RAlbert.EmergenceofScalinginRandomNetwork[J].Science,1999,286(5439):509512.
[8]2004年全國計算機病毒疫情調查分析報告[EB/OL].http://www.people.com.cn.
[9]KephartJO,ChessDM,WhiteSR.ComputersandEpidemiology[J].IEEESpectrum,1993,30(5):2026.
[10]RPastorSatorras,AVespignani.EpidemicSpreadinginScalefreeNetworks[J].Phys.Rev.Lett.,2001,86(14):32003203.
[11]RAlbert,HJeong,ALBarabási.DiameteroftheWorldWideWeb[J].Nature,1999,401(6749):130131.
[12]車宏安,顧基發.無標度網絡及其系統科學意義[J].系統工程理論與實踐,2004,24(4):1116.
[13]RAlbert,HJeong,ALBarabási.ErrorandAttackToleranceinComplexNetworks[J].Nature,2000,406(6794):378382.
[14]RPastorSatorras,AVespignani.ImmunizationofComplexNetworks[J].Phys.Rev.E,2002,65(3):36104.
作者簡介:
朱剛(1963),副教授,博士研究生,主要研究方向為計算機網絡、系統工程;
張寧(1956),副教授,主要研究方向為計算機網絡與應用、系統分析與集成;
馬良(1964),教授,博導,主要研究方向為系統工程、智能優化。