陳 迪,賴際穎,高淑京
(贛南師范大學(xué) 數(shù)學(xué)與計算機科學(xué)學(xué)院,江西 贛州 341000)
隨著計算機網(wǎng)絡(luò)的廣泛應(yīng)用,非法訪問、惡意蠕蟲攻擊和計算機病毒等網(wǎng)絡(luò)安全問題,變得越來越突出.網(wǎng)絡(luò)蠕蟲是一種惡意代碼,它不需要人類的干預(yù),即可自動運行并通過網(wǎng)絡(luò)進行自我復(fù)制并傳播.如KoobFace蠕蟲[1],它針對的是Facebook、Gmail等社交網(wǎng)站的用戶,用戶的設(shè)備被感染后,會泄露用戶的個人數(shù)據(jù)、密碼以及金融服務(wù)信息.網(wǎng)絡(luò)蠕蟲造成的危害比其他網(wǎng)絡(luò)安全威脅更大,因此,如何抑制網(wǎng)絡(luò)蠕蟲在網(wǎng)絡(luò)中大規(guī)模的傳播是一個迫切需要解決的問題.
Castaneda等人[2]最早提出了一種“以毒攻毒”思想即將惡意蠕蟲轉(zhuǎn)化為良性蠕蟲,利用良性蠕蟲抑制惡意蠕蟲的傳播.良性蠕蟲融合了密碼學(xué)、網(wǎng)絡(luò)攻擊和計算機病毒等技術(shù),網(wǎng)絡(luò)蠕蟲一樣可以進行自我復(fù)制,不需要用戶干預(yù)即可自動運行,是一種智能的、自動化的攻擊程序或代碼.良性蠕蟲已被證實可以有效的檢測并清除惡意蠕蟲,已成為一種新的網(wǎng)絡(luò)安全應(yīng)對措施[3].隨著主動良性蠕蟲和被動良性蠕蟲的發(fā)展,文獻(xiàn)[4]將良性蠕蟲分成主動良性蠕蟲、被動良性蠕蟲,以及混合良性蠕蟲,并建立了簡單混合良性蠕蟲模型,該混合良性蠕蟲在主動探測漏洞主機的同時也在被動監(jiān)聽惡意蠕蟲的攻擊.作者通過數(shù)值模擬,將混合良性蠕蟲與主動、被動良性蠕蟲進行了對比,驗證了混合良性蠕蟲的有效性.許多學(xué)者還提出“分而治之”的混合良性蠕蟲[5-6],將主動良性蠕蟲和被動良性蠕蟲的優(yōu)點結(jié)合,在惡意蠕蟲達(dá)到一定數(shù)量時進行切換,使其在初級階段主動攻擊惡意蠕蟲和惡意感染主機,中后期被動監(jiān)聽惡意蠕蟲的攻擊,使混合良性蠕蟲能有效控制惡意蠕蟲的同時,減少在對抗后期產(chǎn)生的額外網(wǎng)絡(luò)流量,不占用網(wǎng)絡(luò)其他資源.考慮到混合良性蠕蟲的有效性,并且以上模型都沒有進行動力學(xué)分析,本文提出了惡意蠕蟲和混合良性蠕蟲的交互傳播模型,并進行動力學(xué)分析.
我們把計算機看成節(jié)點,所有的節(jié)點分為四類:易感類節(jié)點,感染惡意蠕蟲的節(jié)點,感染良性蠕蟲的節(jié)點,免疫類節(jié)點.令S(t),I(t),B(t),R(t)分別表示易感節(jié)點,惡意蠕蟲節(jié)點,良性蠕蟲感染節(jié)點,免疫節(jié)點的比率.記N(t)=S(t)+I(t)+B(t)+R(t),不失一般性N(t)≡1.
為了建立該模型,我們提出以下假設(shè):
(H1)網(wǎng)絡(luò)中只存在兩類蠕蟲:惡意的網(wǎng)絡(luò)蠕蟲和混合良性蠕蟲;
(H2)所有蠕蟲采取隨機掃描策略;
(H3)良性蠕蟲本身對惡意蠕蟲具有免疫性;
(H4)混合良性蠕蟲具有主動修補易感節(jié)點,清除感染節(jié)點的蠕蟲,被動監(jiān)聽節(jié)點,等待惡意蠕蟲攻擊等功能[4].
令μ表示新入網(wǎng)的計算機的比率和計算機報廢的比率;β1表示被惡意蠕蟲成功掃描而導(dǎo)致的易感節(jié)點的感染率;β2表示混合良性蠕蟲的感染率.模型的流程圖如圖1所示.
圖1 惡意蠕蟲和混合良性蠕蟲交互傳播的流程示意圖(實線表示種類之間的轉(zhuǎn)化,虛線表示良性蠕蟲主動攻擊染病主機獲得傳播)
我們建立如下模型:
(1)
由于模型(1)的前三個方程與免疫類“R”無關(guān),故只需要研究系統(tǒng)(1)的子系統(tǒng):
(2)
首先,我們先討論系統(tǒng)(2)的平衡點.記
系統(tǒng)(2)有4個可能存在的非負(fù)平衡點,它們的存在條件如下:
接下來,我們研究系統(tǒng)(2)的4個平衡點的局部漸近穩(wěn)定性.
對任意平衡點PΔ=(SΔ,IΔ,BΔ)得系統(tǒng)(2)的Jacobian矩陣J(PΔ)如下:
(3)
首先,我們先討論系統(tǒng)(2)無蠕蟲平衡點P0的局部漸近穩(wěn)定性.
將P0代入(3)得到J(P0),通過計算我們可以得到矩陣J(P0)特征方程為:(λ+γ+μ)(λ+γ+μ-β1S0)(λ+μ-β2S0)=0.因此,矩陣J(P0)對應(yīng)的特征根為:
λ1=-(γ+μ),λ2=(γ+μ)(R1-1),λ3=μ(R2-1).
顯然,當(dāng)R1<1且R2<1時,系統(tǒng)(2)的無蠕蟲平衡點P0是局部漸近穩(wěn)定的.
同理,我們可以得到矩陣J(PΔ)在P1處的特征方程為:(λ-a2)(λ2+b2λ+c2)=0,其中a2=β1S1-β1B1-β2B1-(γ+μ),b1=β2B1+μ+γ,c1=μβ2B1.容易得到,當(dāng)R3<1時,矩陣J(P1)的其中一個特征值為λ1=β1S1-β1B1-β2B1-(γ+μ)<0,其它2個特征根滿足以下方程:λ2+b1λ+c1=0.當(dāng)P1存在時,我們可以得到b1>0和c1>0.根據(jù)Routh-Hurwitz判據(jù),可得λ2和λ3具有有負(fù)實部.因此,當(dāng)R2>1且R3<1時,系統(tǒng)(2)的惡意蠕蟲消失,無惡意蠕蟲平衡點P1是局部漸近穩(wěn)定的.
顯然,當(dāng)R4<1時,矩陣J(P2)的其中一個特征根為λ1=β2S2+β2I2+β1I2-μ<0,其它2個特征根滿足以下方程:λ2+b2λ+c2=0.當(dāng)P2存在時,我們可以得到b2>0和c2>0.根據(jù)Routh-Hurwitz判據(jù),可得λ2和λ3具有負(fù)實部.因此,當(dāng)R1>1且R4<1時,系統(tǒng)(2)的良性蠕蟲滅絕,無良性蠕蟲平衡點P2是局部漸近穩(wěn)定的.
最后,將P*代入(3)得到J(P*),通過計算我們可以得到矩陣J(PΔ)在P*處的特征方程為:
λ3+a3λ2+b3λ+c3=0,
(4)
定理1當(dāng)R0<1時,系統(tǒng)(2)的無蠕蟲平衡點P0在可行域Ω內(nèi)是全局漸近穩(wěn)定的.
(5)
將(5)式代入系統(tǒng)(2)的第二式,可以得到
[(γ+μ)(R1-1)+β1ε]I(t).
通過計算我們可以得到I(t)的解
I(t)=I(t0)exp[(γ+μ)(R1-1)+β1ε].
(6)
將(5)和I(t)<ε代入系統(tǒng)(2)中的第三式
由此我們可以得到,當(dāng)R0<1時,系統(tǒng)(2)的無蠕蟲平衡點P0在可行域Ω內(nèi)是全局漸近穩(wěn)定的.
定理2當(dāng)R2>1且R3≤1時,無惡意蠕蟲平衡點P1在可行域Ω{P0}內(nèi)是全局漸近穩(wěn)定的.
證明當(dāng)R2>1時,可以看出系統(tǒng)(2)有無惡意蠕蟲平衡點P1,構(gòu)造以下Lyapunov函數(shù):
(7)
則V1沿著模型(2)的解曲線的全導(dǎo)數(shù)為
根據(jù)LaSalle不變集原理,系統(tǒng)(2)從Ω{P0}內(nèi)出發(fā)的解都趨于P1=(S1,0,B1).所以當(dāng)R2>1且R3≤1時,無惡意蠕蟲平衡點P1在可行域Ω{P0}內(nèi)是全局漸近穩(wěn)定的.
定理3當(dāng)R1>1且R4≤1時,無惡意蠕蟲平衡點P1在可行域Ω{P0}內(nèi)是全局穩(wěn)定的.
證明當(dāng)R1>1時,可以看出系統(tǒng)(2)有無良性蠕蟲平衡點P2,構(gòu)造以下Lyapunov函數(shù):
(8)
則V2沿著模型(2)的解曲線的全導(dǎo)數(shù)為
根據(jù)LaSalle不變集原理,系統(tǒng)(2)從Ω{P0}內(nèi)出發(fā)的解都趨于P2=(S2,I2,0).所以當(dāng)R1>1且R4≤1時,無惡意蠕蟲平衡點P2在可行域Ω{P0}內(nèi)是全局漸近穩(wěn)定的.
定理4當(dāng)R3>1且R4>1時,正平衡點P*在可行域Ω{P0}內(nèi)是全局漸近穩(wěn)定的.
證明當(dāng)R3>1且R4>1時,可以看出系統(tǒng)(2)有正平衡點P*,構(gòu)造以下Lyapunov函數(shù):
則V3沿著模型(2)的解曲線的全導(dǎo)數(shù)為
根據(jù)LaSalle不變集原理,系統(tǒng)(2)從Ω{P0}內(nèi)出發(fā)的解都趨于P*=(S*,I*,B*).所以當(dāng)R3>1且R4>1時,正平衡點P*在可行域Ω{P0}內(nèi)是全局漸近穩(wěn)定的.
我們將通過數(shù)值模擬驗證理論結(jié)果.
(a)首先,我們選取參數(shù)μ=0.005,β1=0.006,β2=0.004,γ=0.005,初值條件分別為(0.4,0.1,0.5),(0.2,0.5,0.3),(0.8,0.1,0.1),(0.6,0.1,0.3).計算可得P0=(0.3,0,0),基本再生數(shù)R1=0.3<1,R2=0.4<1.圖2所示,經(jīng)過不同初值的解曲線,最終趨近于無蠕蟲平衡點.
圖2 當(dāng)R1=0.3<1,R2=0.4<1時,系統(tǒng)(2)的無蠕蟲平衡點的穩(wěn)定性.
(b)我們選定參數(shù)μ=0.000 4,β1=0.000 5,β2=0.000 8,γ=0.000 2,初值條件分別為(0.6,0.15,0.25),(0.1,0.2,0.7),(0.3,0.5,0.2),(0.4,0.3,0.3).計算可得P1=(0.8,0,0.25),基本再生數(shù)R2=1.333>1,R3=0.480 4<1.圖3所示,經(jīng)過不同初值的解曲線,最終趨近無惡意蠕蟲平衡點.
圖3 當(dāng)R2=1.333>1,R3=0.480 4<1時,系統(tǒng)(2)無惡意蠕蟲平衡點的全局穩(wěn)定性. 圖4 當(dāng)R1=1.375>1,R4=0.95<1,系統(tǒng)(2)無良性蠕蟲平衡點的全局穩(wěn)定性.
(c)我們選定參數(shù)μ=0.01,β1=0.055,β2=0.002,γ=0.01,初值條件分別為(0.1,0.2,0.7),(0.3,0.5,0.2),(0.4,0.3,0.3),(0.4,0.3,0.3).計算可得P2=(0.363 6,0.136 4,0),基本再生數(shù)R1=1.375>1,R4=0.95<1.圖4所示,經(jīng)過不同初值的解曲線,最終趨近無良性蠕蟲邊界平衡點.
(d)我們選定參數(shù)μ=0.001 8,β1=0.004 6,β2=0.002,γ=0.000 1,初值條件分別為(0.1,0.1,0.8),(0.3,0.2,0.5),(0.1,0.7,0.2),(0.6,0.3,0.1).計算可得P*=(0.698,0.061 2,0.198 6),基本再生數(shù)R3=1.289 4>1,R4=1.689 9>1.圖5所示,經(jīng)過不同初值的解曲線,最終趨近正平衡點.
圖5 當(dāng)R3=1.289 4>1,R4=1.689 9>1,系統(tǒng)(2)的正平衡點的全局穩(wěn)定性. 圖6 不同的參數(shù)μ對惡意主機I(t)的數(shù)量的影響.
接下來,我們研究參數(shù)對蠕蟲傳播的影響.
(e)我們選定參數(shù)β1=0.006,β2=0.004,γ=0.000 5,比較不同的參數(shù)μ=0.002,0.005,0.007,對惡意主機數(shù)量的影響.從圖6可看出,適當(dāng)增大μ的大小可以控制惡意蠕蟲的傳播.
(f)我們選定參數(shù)μ=0.01,β1=0.05,γ=0.01,比較不同的參數(shù)β2=0.002,0.004,0.006,對惡意主機和良心感染主機的數(shù)量的影響.從圖7可看出,增大β2的大小,可以減少惡意蠕蟲的數(shù)量,并使良性感染主機數(shù)量增加.
圖7 不同的感染率β2,對系統(tǒng)(2)中I(t)和B(t)的數(shù)量.
根據(jù)數(shù)值模擬結(jié)果,我們提出以下建議: