宋明秋,李艷博
(大連理工大學(xué) 經(jīng)濟管理學(xué)院,遼寧 大連 116024)
蠕蟲一直是計算機網(wǎng)絡(luò)安全的最大威脅之一。2017年5月,“永恒之藍wanna cry”勒索蠕蟲病毒肆虐全球,多國的政府機構(gòu)和要害部門都遭到嚴(yán)重破壞。之后又接連發(fā)生了Petya、Locky、Bad Rabbit等蠕蟲攻擊事件,給社會經(jīng)濟帶來了巨大的損失。蠕蟲攻擊之所以會產(chǎn)生如此大的影響,最根本的原因是蠕蟲具有自我復(fù)制和傳播的特性[1]。它可以借助被攻擊節(jié)點發(fā)起對其他節(jié)點的新攻擊,從而造成大規(guī)模網(wǎng)絡(luò)癱瘓[2,3]。
對蠕蟲在網(wǎng)絡(luò)中傳播行為的研究一直是學(xué)術(shù)界關(guān)注的焦點。目前蠕蟲傳播研究大多是基于傳染病模型,包括SI、SIS、SIR、SEIR模型等[4~8]。經(jīng)典的傳染病模型是利用微分方程法描述一個完全連通網(wǎng)絡(luò)上的傳播行為。隨著研究的不斷深入,復(fù)雜網(wǎng)絡(luò)理論指出Internet網(wǎng)絡(luò)符合無標(biāo)度網(wǎng)絡(luò)特性,節(jié)點間的連接狀況極不均勻,節(jié)點度服從冪律分布[9]?;诖?,研究人員對傳統(tǒng)微分方程法進行了改進,按照節(jié)點度對網(wǎng)絡(luò)中的節(jié)點進行劃分并分別建立微分方程[10,11]。改進后的方法雖然對度不同節(jié)點進行了區(qū)分,但是未考慮度相同節(jié)點間的差異性[12]以及傳播過程中的概率事件[13],會導(dǎo)致不同程度的精確度問題。顧??〉萚14]利用狀態(tài)轉(zhuǎn)移概率法研究了病毒傳播模型,發(fā)現(xiàn)概率方程法所求得的傳播閾值更加接近仿真結(jié)果。狀態(tài)轉(zhuǎn)移概率法建立了離散時間下節(jié)點狀態(tài)變化的概率,考慮了節(jié)點間的差異性問題,較微分方程法更具優(yōu)勢[15~17]。此方法對本文傳播過程的描述具有一定的借鑒意義。
蠕蟲在網(wǎng)絡(luò)中的傳播速度和傳播規(guī)模與節(jié)點的感染概率相關(guān)。感染概率越大,蠕蟲越容易擴散到整個網(wǎng)絡(luò)。宋玉蓉等[18]認(rèn)為節(jié)點度分布的不均勻性使節(jié)點擁有不同的安防強度,因此定義了與節(jié)點度相關(guān)的脆弱性函數(shù)來表征節(jié)點被感染的概率。李翔等[19]假定病毒的感染概率與個體脆弱程度和感染強度的乘積成正比例關(guān)系,研究了個體脆弱程度和感染強度服從冪率分布和高斯分布下的病毒傳播臨界行為。葉云等[20]考慮了CVSS標(biāo)準(zhǔn)中“Access Complexity”字段的屬性值,并用其來表征攻擊者滲透節(jié)點的難易程度。以上文獻都對節(jié)點感染概率的研究做出了重大貢獻,但是忽略了蠕蟲攻擊的相關(guān)性。羅寧等[21]指出入侵行為不再是單一行動,而表現(xiàn)為彼此協(xié)作入侵。經(jīng)小川等[22]研究發(fā)現(xiàn)多個攻擊行為同時發(fā)生時存在信息傳遞作用。文獻[21,22]表明攻擊具有相關(guān)性。當(dāng)節(jié)點面臨多個攻擊行為時,這些攻擊行為間的相互作用可能會對節(jié)點的脆弱性產(chǎn)生影響,從而促使蠕蟲更容易完成對該節(jié)點的滲透過程,節(jié)點的感染概率增加。
根據(jù)上面的分析,本文研究了考慮攻擊相關(guān)性的蠕蟲傳播模型,主要貢獻為:在攻擊具有相關(guān)性條件下對感染概率進行定量刻畫;利用狀態(tài)轉(zhuǎn)移概率法對蠕蟲傳播過程進行數(shù)學(xué)建模,并推導(dǎo)對應(yīng)的傳播臨界值表達式;在無標(biāo)度網(wǎng)絡(luò)中對蠕蟲傳播模型進行仿真實驗,研究感染概率初始值、感染變化率以及傳播概率對蠕蟲傳播過程和最終規(guī)模的影響,為蠕蟲傳播的控制提供借鑒和參考。
蠕蟲攻擊是指蠕蟲程序利用節(jié)點的脆弱性對其完成入侵滲透的過程。根據(jù)攻擊滲透理論模型,攻擊滲透的結(jié)果是節(jié)點脆弱性的增加以及用戶權(quán)限的提升等[23]。由此發(fā)現(xiàn),當(dāng)節(jié)點同時受到多個鄰居已感染節(jié)點發(fā)起的攻擊時,一部分鄰居節(jié)點入侵滲透帶來的節(jié)點脆弱性增加以及用戶權(quán)限的提升等結(jié)果可能會成為該節(jié)點被其他鄰居節(jié)點攻擊的前提,從而使后一部分鄰居節(jié)點的入侵滲透更容易完成;同時根據(jù)協(xié)作入侵理論,多攻擊行為可以構(gòu)成一個攻擊序列,它們之間存在的信息傳遞作用會不斷地對節(jié)點的脆弱性產(chǎn)生影響[22]。根據(jù)上述理論分析可以發(fā)現(xiàn),多攻擊行為在入侵滲透過程中具有相關(guān)性,并且攻擊相關(guān)性會導(dǎo)致節(jié)點的脆弱性增加,節(jié)點的感染概率增大。為了更加準(zhǔn)確地描述多攻擊行為下節(jié)點感染概率的動態(tài)性,在蠕蟲傳播模型的構(gòu)建中應(yīng)將攻擊相關(guān)性納入考慮范圍。
對蠕蟲在網(wǎng)絡(luò)中的傳播做如下假設(shè):
(1)網(wǎng)絡(luò)中節(jié)點的所有連邊都具有均勻的傳輸能力,即節(jié)點的傳播概率是一個常量;
(2)節(jié)點不論度大小都具有相同的安防強度,即節(jié)點的初始感染概率相同;
(3)節(jié)點被成功感染的概率和該節(jié)點的鄰居感染狀態(tài)節(jié)點數(shù)目相關(guān)。
假設(shè)(1)和(2)是無標(biāo)度網(wǎng)絡(luò)傳播模型研究中的兩個重要基本假設(shè)[10]。本文模型在這兩個基本假設(shè)的基礎(chǔ)上考慮了攻擊相關(guān)性:網(wǎng)絡(luò)中節(jié)點度越大,該節(jié)點可能受到的攻擊越多,這些攻擊間的相關(guān)性會導(dǎo)致節(jié)點的脆弱性增加,被感染的概率增大。
將計算機網(wǎng)絡(luò)抽象為一個無向網(wǎng)絡(luò),記作G=(V,E)。V表示網(wǎng)絡(luò)中的節(jié)點,E表示節(jié)點間的連邊。該網(wǎng)絡(luò)的鄰接矩陣為A=[wij]N×N。當(dāng)節(jié)點i和節(jié)點j之間存在通信連接時,wij=1;否則,wij=0。
1.3.1 節(jié)點描述
蠕蟲攻擊包括傳播和感染兩個過程。傳播是指蠕蟲借助宿主節(jié)點向鄰居節(jié)點發(fā)起攻擊的過程。感染是指蠕蟲程序利用被攻擊節(jié)點的漏洞對其入侵滲透的過程。在傳染病基本模型SIR中,節(jié)點由S狀態(tài)到I狀態(tài)的轉(zhuǎn)變是一步完成的,沒有根據(jù)蠕蟲攻擊的兩個過程對節(jié)點狀態(tài)進行細分。為了從微觀層面更貼合實際傳播過程,本文在SIR模型的基礎(chǔ)上引入威脅狀態(tài)T,將S→I的狀態(tài)轉(zhuǎn)變更新為S→T→I,分別對應(yīng)蠕蟲攻擊的傳播和感染兩階段過程,相應(yīng)的傳播模型稱為STIR模型。
節(jié)點狀態(tài)的具體描述如下:
定義1節(jié)點狀態(tài)
易感狀態(tài)S(Susceptible):該類節(jié)點存在漏洞,可能會受到蠕蟲的攻擊;
威脅狀態(tài)T(Threatened):該類節(jié)點已經(jīng)受到蠕蟲的攻擊掃描,還未被入侵滲透,不具備傳播能力;
感染狀態(tài)I(Infectious):該類節(jié)點已經(jīng)被蠕蟲成功侵入,具備傳播能力;
免疫狀態(tài)R(Recovered):該類節(jié)點通過安裝殺毒軟件、系統(tǒng)升級等操作獲得了免疫能力,不會被蠕蟲感染,也不具備傳播能力。
1.3.2 蠕蟲傳播規(guī)則
蠕蟲在STIR模型中的傳播過程如圖1所示,具體傳播規(guī)則如下:
圖1 STIR模型的狀態(tài)轉(zhuǎn)換圖
(2)威脅狀態(tài)節(jié)點i將以概率βi被成功入侵滲透而成為感染狀態(tài),其中βi表示節(jié)點i的感染概率;
(3)處于易感狀態(tài)和感染狀態(tài)的節(jié)點分別以概率δ1和δ2轉(zhuǎn)變?yōu)槊庖郀顟B(tài),其中δ1和δ2表示節(jié)點的免疫概率。
1.3.3 感染概率
(1)
其中,β0和Δβ為感染概率參數(shù),體現(xiàn)了感染概率曲線的特征。β0表示感染概率初始值,體現(xiàn)了初始狀態(tài)下網(wǎng)絡(luò)節(jié)點的脆弱性,其值越大,節(jié)點的脆弱性越大,被感染的概率越大。Δβ為感染變化率,表示感染概率對攻擊數(shù)目變化的敏感程度,其值越大,感染概率對攻擊數(shù)目的變化越敏感,節(jié)點被感染的概率越大。若感染概率β(t)>1,取β(t)=1。
根據(jù)上面描述的蠕蟲傳播過程,利用狀態(tài)轉(zhuǎn)移概率法可建立如下的蠕蟲傳播動力學(xué)方程:
(2)
(3)
Si(t+1)=MulitiRealize[Pi(t+1)]
(4)
其中,MultiRealize[Pi(t+1)]是根據(jù)給定Pi(t+1)的概率分布隨機實現(xiàn)的節(jié)點i在t時刻的狀態(tài)。
參照文獻[14]中的方法,將上述方程轉(zhuǎn)化為下式:
(5)
此時節(jié)點i受到攻擊的概率為:
(6)
(7)
(8)
上式是一個非線性動力學(xué)系統(tǒng)F:[0,1]3N→[0,1]3N,系統(tǒng)初始節(jié)點(xi,yi,zi)=(0,0,0),?i∈{1,…,N}為固定點,通過雅克比矩陣來分析方程在初始點的局部穩(wěn)定性。
方程的雅可比矩陣為:
(9)
矩陣(9)的特征根為:
(10)
當(dāng)滿足max{d1,d2,d3}<1時,初始節(jié)點局部穩(wěn)定。因0<δ1<1,故d1<1,d3<1恒成立。
由d2<1可以得到:
(11)
因此,本文模型的有效傳播率
本文將建立的考慮攻擊相關(guān)性的蠕蟲傳播模型在無標(biāo)度網(wǎng)絡(luò)中進行仿真實驗。實驗?zāi)康氖怯懻摽紤]攻擊相關(guān)性的感染概率對蠕蟲傳播過程的影響,具體分析了感染概率初始值、感染變化率以及傳播概率三個參數(shù)的作用。
仿真實驗是依托Matlab實驗平臺,構(gòu)建的無標(biāo)度網(wǎng)絡(luò)中節(jié)點總數(shù)N=1000,節(jié)點平均度
上文通過數(shù)學(xué)推導(dǎo)得出了有效傳播率λ*和傳播臨界值λc的計算公式,現(xiàn)利用仿真實驗來研究它們之間的關(guān)系。設(shè)定免疫概率δ1=0、δ2=1,感染變化率Δβ=0.1,通過改變傳播概率α、感染概率初始值β0來調(diào)節(jié)有效傳播率。實驗參數(shù)設(shè)置見表1,仿真實驗結(jié)果如圖2所示。
表1 有效傳播率和傳播臨界值的對比
圖2 參數(shù)值對傳播過程的影響
圖2(a)和(b)分別代表感染狀態(tài)節(jié)點數(shù)目I(t)和免疫狀態(tài)節(jié)點數(shù)目R(t)隨時間的變化情況。由表1可知,前兩組實驗的有效傳播率均小于傳播臨界值。圖2中這兩組的I(t)隨時間不斷減小,R(t)由0逐漸增加并最終穩(wěn)定在初始感染狀態(tài)節(jié)點數(shù)目附近;表1中后三組實驗的有效傳播率均大于傳播臨界值,表明蠕蟲會在網(wǎng)絡(luò)中大范圍爆發(fā)。圖2中后三組實驗的I(t)出現(xiàn)了大幅度增加,到達峰值后又逐漸減少為0。R(t)隨t逐漸增加,后穩(wěn)定于某值。通過以上分析,發(fā)現(xiàn)圖2的仿真結(jié)果和表1中的數(shù)值結(jié)果是一致的。因此,仿真實驗驗證了模型數(shù)值推導(dǎo)的正確性。
為研究考慮攻擊相關(guān)性前后感染概率對蠕蟲傳播過程的影響,將本文模型的實驗結(jié)果與文獻[14]的實驗結(jié)果進行比較分析。為保證兩個實驗的可比性,表2中對概率參數(shù)進行了相關(guān)設(shè)定。仿真實驗結(jié)果如圖3所示。
表2 模型參數(shù)設(shè)置
從圖3可以發(fā)現(xiàn),本文STIR模型在考慮攻擊相關(guān)性情況下得出的蠕蟲感染規(guī)模整體上要高于文獻[14]的結(jié)果。在起初較短的時間內(nèi),兩組各狀態(tài)節(jié)點數(shù)目的變化情況幾乎相同。這表明蠕蟲傳播初期,感染概率的大小對傳播的影響很小。經(jīng)過一定時間后,兩組的差異性開始顯現(xiàn)。相比于文獻[14],本文模型中蠕蟲傳播速度更快、傳播范圍更廣。這是因為在本文模型中節(jié)點的感染概率會隨其受到攻擊數(shù)目的增加而增大。感染概率的增大加快了感染狀態(tài)節(jié)點數(shù)目I(t)的增長速度。同時,網(wǎng)絡(luò)中I(t)的增多也會使節(jié)點受到蠕蟲攻擊的概率變大,威脅狀態(tài)節(jié)點數(shù)目T(t)變多。以上仿真結(jié)果與實際情況相一致。在網(wǎng)絡(luò)環(huán)境中,當(dāng)單個節(jié)點受到多個攻擊行為時,該節(jié)點被感染的可能性更大。因此,在計算節(jié)點的感染概率時應(yīng)該考慮攻擊相關(guān)性,否則將會低估蠕蟲在網(wǎng)絡(luò)中的傳播能力。
圖3 感染概率對蠕蟲傳播的影響
從圖3還可以看出,I(t)在到達峰值之后會呈現(xiàn)下降趨勢。這是因為此時節(jié)點由I狀態(tài)轉(zhuǎn)變?yōu)镽狀態(tài)的數(shù)目大于由T狀態(tài)轉(zhuǎn)變?yōu)镮狀態(tài)的數(shù)目。I(t)的下降速度是先增大后減小。在I(t)下降的初始階段,T(t)減小的速度比較快,這使得I(t)的下降速度加快;當(dāng)T(t)下降到某一值時,T(t)對I(t)的影響會變得很小,此時I(t)的下降主要取決于I狀態(tài)轉(zhuǎn)變?yōu)镽狀態(tài)的節(jié)點數(shù)目。免疫概率δ2=0.3固定不變,隨著I(t)逐漸減小,I(t)的下降速度變緩。
為研究感染概率初始值β0在不同取值情況下對蠕蟲傳播過程的影響,設(shè)計了三組對比實驗。其中,β0分別為0.4、0.6、0.8。傳播概率α=0.8,感染變化率Δβ=0.05,仿真實驗結(jié)果如圖4所示。
圖4 感染概率初始值對蠕蟲傳播的影響
從圖4可以看出,感染概率初始值β0越大,感染狀態(tài)節(jié)點數(shù)目I(t)在達到峰值前的增長速度越快,峰值越高。參數(shù)β0代表節(jié)點的初始脆弱性,它的值越大,表明初始狀態(tài)時節(jié)點的自身抵抗力越弱,漏洞匹配越高,因此節(jié)點被感染的概率越大,網(wǎng)絡(luò)中蠕蟲的傳播速度越快、傳播范圍越廣。根據(jù)上面的分析,在計算機網(wǎng)絡(luò)中可以通過提升節(jié)點主機的安全性來降低蠕蟲的傳播規(guī)模。因此,需要定期對主機進行漏洞修補和病毒查殺,提高其抵抗攻擊的能力。
為研究感染變化率對蠕蟲傳播過程的影響,將感染變化率β0設(shè)定為三個水平:0.01、0.05、0.1。實驗中傳播概率α=0.8,感染概率初始值β0=0.6。仿真結(jié)果如圖5所示。
由圖5可知,隨著Δβ的增加,網(wǎng)絡(luò)中感染狀態(tài)節(jié)點數(shù)目I(t)的增長速度變快,峰值變高。感染變化率Δβ的含義是節(jié)點的感染概率對蠕蟲攻擊數(shù)目變化的敏感性。當(dāng)節(jié)點面臨多個攻擊行為時,感染變化率越大,表明該節(jié)點的感染概率對攻擊數(shù)目變化越敏感,因此節(jié)點被感染的可能性越大,網(wǎng)絡(luò)中感染節(jié)點的規(guī)模也就越大。根據(jù)實驗結(jié)果,網(wǎng)絡(luò)節(jié)點在得知存在蠕蟲病毒傳播后,需要及時斷開與感染狀態(tài)節(jié)點的連接,防范多威脅主體的聯(lián)合攻擊。
圖5 感染變化率對蠕蟲傳播的影響
設(shè)定感染概率初始值β0=0.6,感染變化率Δβ=0.05,研究傳播概率α對蠕蟲傳播過程的影響。其中,α分別取0.4、0.6、0.8,實驗結(jié)果見圖6。
從圖6可以看出,傳播概率α越大,網(wǎng)絡(luò)中威脅狀態(tài)節(jié)點數(shù)目T(t)的增長速度越快,峰值越高。感染狀態(tài)節(jié)點數(shù)目I(t)的變化規(guī)律和T(t)一致。傳播概率α可以理解為節(jié)點成功受到鄰居感染狀態(tài)節(jié)點攻擊的概率,其值越大,表明該節(jié)點受到攻擊威脅的可能性越大,從而導(dǎo)致節(jié)點被感染的概率增加。根據(jù)上述分析,網(wǎng)絡(luò)中的計算機需要加強對訪問控制和自我防護的管理。主機在交互前需要進行必要的入侵檢測。假若遭遇異常交互,應(yīng)該及時采取措施進行阻攔。
圖6 傳播概率對蠕蟲傳播的影響
本文提出了一種考慮攻擊相關(guān)性的蠕蟲傳播模型-STIR。根據(jù)鄰居節(jié)點中處于感染狀態(tài)的節(jié)點數(shù)目,動態(tài)調(diào)整被攻擊節(jié)點的感染概率,并利用狀態(tài)轉(zhuǎn)移概率法描述蠕蟲的傳播過程,最后在無標(biāo)度網(wǎng)絡(luò)中進行了仿真實驗。
結(jié)果表明:STIR蠕蟲傳播模型提高了感染概率計算的準(zhǔn)確性,能夠更好地描述蠕蟲的傳播能力;模型中重要參數(shù)——蠕蟲的有效傳播率λ*由傳播概率α、感染概率初始值β0、感染變化率Δβ、免疫概率δ1、δ2以及網(wǎng)絡(luò)中節(jié)點的平均度