王剛,馮云,馬潤年
(空軍工程大學信息與導航學院,710077,西安)
操作系統病毒能利用操作系統漏洞攻擊網絡并在網絡中傳播,對網絡及其用戶造成重大損失。徹底查殺病毒需要消耗大量的時間和精力,難以在操作系統病毒入侵初期快速構建有效防御[1-3]。動態目標防御等新型防御手段[4-7]提供了主動防御的新思路,但考慮部署代價、對網絡業務的負面影響等因素,在全網部署并持續運行成本過高。合理高效地部署防御并抑制操作系統病毒傳播,已經成為網絡安全領域亟待解決的問題。
計算機病毒傳播研究借鑒了生物學病毒傳播理論,經典病毒傳播模型包括SI、SIR和SIRS等[8-11]。這些模型將網絡抽象成圖,以用戶為節點,用戶之間的聯系為邊,根據感染行為及用戶對病毒的防御能力將節點劃分為不同狀態,研究不同狀態之間的節點轉化關系,通過動力學建模和穩定性分析推演網絡中病毒可能的擴散規模。隨著網絡攻防對抗的升級,網絡結構、病毒攻擊機理、傳播方式有新的特點,病毒傳播模型和相關研究也出現了一些針對性改進[12-15]。一類是適應病毒傳播特點,添加新的節點狀態,修改狀態轉化關系,使模型更加契合病毒的傳播模式,如SEIR、SEIQR等病毒傳播模型;另一類則是考慮病毒傳播過程中感染、免疫的耗時問題,在模型中添加時滯,研究帶時滯的病毒傳播模型[16-20]。通常而言,無時滯時病毒傳播較為穩定,而時滯則可能造成網絡中感染節點數的振蕩,時滯病毒傳播情況更復雜。
操作系統病毒利用的是特定操作系統的漏洞,通常只能在特定操作系統平臺上運行,操作系統病毒傳播主要受網絡中多種類型操作系統和感染時滯等因素的影響。考慮操作系統病毒傳播特性,本文主要研究操作系統病毒時滯傳播模型及抑制策略,包括:①考慮網絡中操作系統切換和感染過程耗時對操作系統病毒傳播的影響,在SIRS病毒傳播模型的基礎上,引入新的狀態和感染時滯,構建操作系統病毒的時滯傳播模型;②研究網絡在不同平衡點處的穩定性,分析網絡消除病毒和出現分岔的條件,以及影響網絡中感染節點規模和分岔的關鍵參數;③針對感染時滯造成的分岔問題,設計有感染時滯的操作系統病毒抑制策略;④仿真分析關鍵參數對操作系統病毒傳播的影響和病毒抑制策略的有效性。
按照計算機病毒傳播機理,操作系統病毒擴散通常經歷了偵察、傳播和感染等階段。偵察階段,探查當前網段內有相應操作系統漏洞且未被感染的主機;傳播階段,病毒將用于傳播的模塊鏈接附著在正常程序中,隨著正常程序的啟動被加載入內存并執行,實現病毒的傳播;感染階段,操作系統病毒傳播至用戶計算機后,在造成危害之前需要完成偵查、復制和傳播等工作,而后才會利用相應漏洞對用戶造成危害。病毒感染由一系列行為組成,感染過程需要耗費一定時間,而這一過程中如果操作系統發生變化,則會導致目標和漏洞丟失,導致感染失敗。為便于分析,做出如下假設:①網絡中僅存在一種操作系統病毒,能感染主流操作系統OS-A;②感染過程耗時為τ,一旦被打斷則感染失敗。
在經典SIRS計算機病毒傳播模型基礎上,構建操作系統病毒傳播的時滯SIRO模型,相應的節點狀態轉化關系如圖1所示。

圖1 節點狀態轉化關系
圖1中:S表示易感狀態,該狀態下的節點可以被感染節點感染;I表示感染狀態,該狀態下的節點已經被病毒危害,且具備感染其他節點的能力;R表示免疫狀態,該狀態下的節點無法被感染;O表示節點安裝了其他操作系統的狀態,該狀態下的節點同樣無法被感染節點感染;Sτ(t)=S(t-τ),Iτ(t)=I(t-τ)狀態的節點數,S(t)、I(t)分別表示t時刻易感、感染狀態的節點數;k表示網絡的平均度;φ表示易感節點獲得免疫能力的概率;δ表示免疫節點喪失免疫能力的概率;dA表示OS-A切換到其他操作系統的概率;dO表示從其他操作系統切換到OS-A的概率;N表示網絡中節點總數,在一段時間內保持穩定。易感節點在同感染節點通信過程中,可能被植入操作系統病毒,并在時間τ內被感染,β表示易感節點單位時間內被其相鄰的一個感染節點植入病毒的概率,一個節點被注入病毒的概率與其周圍的感染節點數有關,當感染率較低時,可近似認為該節點被植入病毒的概率與其周圍的感染節點數是線性相關的,易感節點周圍感染節點數不完全相同,在動力學方程構建過程中,可采用平均場理論[8],用βkI(t)/N代替易感節點被植入病毒的概率。操作系統切換會打斷操作系統病毒的感染和持續,在時間τ內,被植入操作系統病毒的易感節點未發生操作系統切換的概率為(1-dA)τ,易感節點的平均感染概率為βkIτ(t)(1-dA)τ/N。運用微分動力學方法,構建操作系統病毒傳播的時滯微分方程為
(1)
式中R(t)、O(t)分別為t時刻免疫、安裝了其他操作系統狀態的節點數。
令dS(t)/dt=0,dI(t)/dt=0,dR(t)/dt=0,dR(t)/dt=0,求解可得平衡點P0(S0,I0,R0,O0)和P1(S1,I1,R1,O1)
(2)
式中
I1={[dO(dA+δ)βk(1-dA)τ-(dA+dO)·
(dA+ω)(dA+δ+φ)]/[(dA+δ+ω)·
(dA+dO)βk(1-dA)τ]}N
(3)

設A(t)=S(t)+I(t)+R(t),式(1)可進一步表示為
(4)


(5)
相應的特征方程為
λ(λ+dA+dO)=0
(6)
由式(6)可得式(5)的兩個特征根為λ1=0和λ2=-dA-dO,均為非正根。由勞斯穩定判據,式(6)在唯一平衡點處局部穩定。證畢。
引理2當t→∞時,S(t)≤S0。
證明由引理1可知,當t→∞時,有S(t)+I(t)+R(t)=dON/(dA+dO),進而可得R(t)=dON/(dA+dO)-S(t)-I(t),代入式(1)中dS(t)/dt可得
(7)
由微分方程比較定理可得
(8)

由于βkSτIτ(1-dA)τN-1+δI(t)≥0,所以S(t)≤S0。顯然,當且僅當I(t)=I(t-τ)=0時,S(t)≤S0中的等號成立。證畢。
定理1當R0≤1時,式(1)表示的網絡系統在無病毒平衡點P0(S0,I0,R0,O0)處全局漸進穩定。
證明定義Lyapunov函數
(9)
對式(9)求導可得
(10)
由引理2和式(2)可知
f′(t)≤I(t)(ω+dA)(R0-1)
(11)
當R0≤1時,f′(t)≤0,當且僅當I(t)=0時等號成立。根據LaSalle不變原理,式(1)表示的網絡系統在無病毒平衡點P0(S0,I0,R0,O0)處全局漸進穩定。證畢。
定理2當R0>1時,存在τ0,使得當τ<τ0時,式(1)表示的網絡系統在有病毒平衡點處局部漸進穩定,當τ≥τ0時,式(1)表示的網絡系統在有病毒平衡點處振蕩,出現Hopf分岔現象。
證明根據引理1,式(1)可簡化為
(12)
對應的特征方程為
λ2+(n1+n3)λ+n1n3+
[(m1-m2)λ+m1n3-m2n1+m1n2]e-λτ
(13)
式中
(14)
令λ=iμ,利用歐拉公式,式(13)可化為
h(λ)=-μ2+c2+c3μsin(μτ)+c4cos(μτ)+
[c1μ+c3μcos(μτ)-c4sin(μτ)]i
(15)
式中
(16)
分離式(15)的實部和虛部,可得
(17)
進而可得
(18)
當R0>1時,式(18)有正根μ0,式(13)存在一對共軛復根±μ0i,結合式(17)可得
(19)
根據Hopf分岔理論可知:當τ<τ0時,式(1)表示的網絡系統在有病毒平衡點處局部漸進穩定;當τ≥τ0時,式(1)表示的網絡系統在有病毒平衡點處振蕩,出現Hopf分岔現象。證畢。
由本節穩定性分析可知:①基本再生數是操作系統病毒持續存在的閾值,當R0≤1時,網絡能夠靠自身免疫能力和操作系統切換消除操作系統病毒;當R0>1時,無論是否出現分岔現象,操作系統病毒總能持續存在;②操作系統病毒在傳播過程中的攻擊過程耗時對其傳播有兩方面影響,一方面,攻擊過程耗時越長,被操作系統切換打斷的概率就越大,感染成功率越低,另一方面,攻擊過程耗時導致感染節點數出現振蕩,不利于用戶或網絡管理員對當前網絡安全環境做出正確判斷。
對于存在感染時滯的操作系統病毒,操作系統切換對操作系統病毒傳播的影響體現在3個方面:①操作系統切換使部分感染節點中的操作系統病毒失去運行環境,從而無法運行;②操作系統的切換會打斷感染過程,降低易感節點被感染的概率;③操作系統切換頻率決定著網絡中兩類操作系統的比例,OS-A的數量越少,感染節點數也越少。
抑制網絡中操作系統病毒的傳播,需要重點解決2個問題:①調整的度,現有平臺動態目標防御技術雖然能實現異構平臺之間的數據、應用遷移,但是非自發的操作系統切換會同步導致用戶業務的損失,相關技術的部署和實施需要付出額外的成本,因此需要把握操作系統切換的度,盡量避免過高頻率的切換;②當R0>1且τ>τ0時,網絡系統在有病毒平衡點處振蕩,出現Hopf分岔現象,網絡環境安全狀態難以判決,也無法根據網絡安全狀態實施針對性防御。本節結合基本再生數和穩定性分析,設計基于操作系統切換頻率調整的病毒抑制策略。
操作系統切換頻率參數dA和dO都能影響操作系統病毒的規模。其中,調整dO僅改變了網絡中不同操作系統所占的比例,而調整dA則能加速感染節點平臺的切換,使感染過程更大概率被打斷以及改變不同操作系統的比例,本文通過調整dA抑制操作系統病毒傳播。根據定理1,當R0<1時,網絡能消除操作系統病毒,則參數dA需要滿足
dO(dA+δ)βk(1-dA)τ-
(dA+dO)(dA+ω)(dA+δ+φ)<1
(20)
當R0>1且τ>τ0時,感染節點數存在振蕩,難以估計網絡中的感染節點數,因此首先需要設法消除這種振蕩,對網絡安全環境進行估計,然后再根據式(20)計算抑制操作系統病毒傳播所需的參數配置。由定理2的證明過程可知,τ0與操作系統切換頻率相關,在抑制操作系統病毒傳播過程中,可先對參數dA進行小幅度調整并實時監測網絡中病毒傳播情況,一旦感染節點數相對穩定,則根據當前病毒傳播情況進一步調整相關參數。基于此分析,設計抑制操作系統病毒傳播的流程如下。
輸入:微調值m,振蕩判定閾值ΔI,反饋時間ΔT。
步驟1 獲取一段時間(ΔT)內網絡中感染節點數。
步驟2 如果該時段內感染節點數的極差大于ΔI,則認定存在振蕩,采取步驟3,否則采取步驟4。
步驟3 若ΔT內網絡中感染節點數的極差大于ΔIN,則認為仍存在振蕩行為,dA=dA+m,返回步驟1。
步驟4 若ΔT內網絡中感染節點數的極差不大于ΔIN,則認為感染節點數基本穩定,根據當前感染節點數,估計參數,根據式(20)計算消除病毒所需閾值。
步驟5 選取恰當的dA,對網絡進行調整,直至網絡恢復至安全狀態。
通過仿真測試時滯τ和切換頻率dA對病毒傳播的影響,驗證所提病毒抑制策略的有效性。設基本參數如下:N=2 000,k=16,ω=0.08,dA=0.01,dO=0.09,δ=0.1,φ=0.2。設單位時間為h,根據式(1)所示動力學方程模擬病毒傳播過程的節點數變化時,會出現節點數為小數的情況,考慮實際病毒傳播過程中,網絡任意狀態節點數均為整數,仿真結果中對節點數均做整數化處理。
令β=0.015,對任意的感染時滯τ,均有R0<1,根據定理1,網絡在無病毒平衡點處全局漸進穩定。β=0.015時,不同感染時滯下感染節點數的變化曲線如圖2所示。可以看出,當R0<1時,感染時滯僅造成感染節點數變化上的延遲,盡管不同時滯下的感染節點數變化趨勢不同,但網絡最終能夠在無病毒平衡點處達到穩定。

圖2 β=0.015時不同感染時滯下感染節點數的變化曲線

圖3 τ0隨τ的變化曲線

圖4 β=0.08時低感染時滯下感染節點數的變化曲線


表1 不同感染時滯下的平均感染節點數

圖5 β=0.08時高感染時滯下感染節點數的變化曲線
本小節仿真結果表明,R0和τ0是網絡中病毒傳播的閾值,感染時滯對網絡中病毒傳播的影響有2個方面:①感染時滯會影響網絡中感染節點的數量,感染時滯表示感染過程耗時,這一過程耗時越長,則被操作系統切換打斷的概率越大,相應地感染成功率越低,感染節點數越低;②感染時滯較高時,即使感染率完全相同,平均感染節點數也相差不大,但由于存在振蕩現象,無法根據某一時刻的感染節點數判定網絡的安全環境,為抑制病毒傳播帶來困難。
令β=0.08,τ=10。結合定理1、定理2、式(19)(20)計算可得:當dA≤0.012時,感染節點數出現振蕩;當0.012 (a)低切換頻率 (b)高切換頻率圖6 τ0<11時感染節點數的變化曲線 由圖6a可知,當dA≤0.012時,網絡中感染節點數表現出周期性振蕩,無法穩定在特定位置。由圖6b可知:當0.012 圖7 R0<1.1時感染節點數的變化曲線 本小節仿真結果表明:①調整操作系統切換頻率能夠改變感染時滯的閾值τ0,當節點數存在振蕩時,可調節操作系統切換頻率增大τ0,使網絡達到穩定狀態,有利于對網絡安全環境的判定;②調整操作系統切換頻率能改變平衡點的位置,當病毒持續存在時,可增大操作系統切換頻率,使網絡平衡點從有病毒平衡點移動至無病毒平衡點,直至消除病毒。 根據感染節點在網絡中的規模,可粗略估計相關參數,進而對網絡進行相對精準的調整。對于存在感染時滯的操作系統病毒,根據理論分析和數值仿真可知,當τ>τ0時,感染節點數會發生振蕩,不利于抑制操作系統病毒傳播。取β=0.08,τ=10,此時R0=4.107 6>1,τ0=8.459 8<τ,仿真驗證所提策略對病毒的抑制效果。未采取任何措施時,網絡中病毒傳播情況如圖8所示,可以看出,操作系統病毒在網絡中能夠持續存在,且存在振蕩現象。 圖8 實施抑制策略前病毒傳播情況 考慮振蕩對網絡安全環境評估的負面影響,首先嘗試消除網絡中的振蕩現象。按照所提策略,在當R0>1,τ>τ0時,可首先對參數dA進行微調,當振蕩消除后再根據式(20)進一步調整。設ΔT=200,m=0.001,ΔI=1%,按照本文策略對參數dA進行調整。dA的變化如圖9所示,τ0隨dA的變化如圖10所示,抑制策略執行過程中病毒傳播情況如圖11所示。 圖9 本文策略下dA的變化曲線 圖10 本文策略下τ0隨dA的變化曲線 (a)網絡節點數變化 (b)[100,1100] h時間段內其他操作系統節點數變化圖11 本文策略下網絡節點數的變化曲線 由圖10可知,初始狀態下,時滯閾值低于當前時滯,網絡中節點數出現如圖11a所示的周期性振蕩,且振蕩幅度大于設定的閾值。為消除振蕩,進行了圖9中[200,1 200] h時間段所示的操作系統遷移頻率的小幅度提升,使相應時間段內振蕩幅度逐漸減小,如圖11a所示,并且使其他操作系統節點呈階梯變化,如圖11b所示。3次微調后,操作系統切換頻率為0.013,已經滿足條件τ<τ0,能夠消除網絡中感染節點數的振蕩。但是,振蕩消除的表現為振蕩幅度逐漸減小直至消失。因此,在振蕩未完全消失且幅度仍大于所設定閾值時,網絡依舊判定振蕩存在,所以再次進行了兩次操作系統切換頻率的微調。振蕩消除后,由式(20)計算可得,dA≤0.704時網絡理論上能夠消除病毒。仿真中取dA=0.075。抑制病毒傳播過程中,感染節點數變化超過設定的閾值,這一過程中dA存在小幅調整,但隨著感染節點的消除再次恢復。 本小節結果表明,感染時滯和節點操作系統的切換影響著網絡中病毒傳播的穩定性。一方面,感染時滯和操作系統的切換頻率影響網絡平衡點的取值;另一方面,當網絡存在有病毒平衡點時,感染時滯和操作系統切換頻率共同影響著時滯閾值,當感染時滯高于這一閾值時會導致網絡中S、I和R狀態節點數的振蕩,影響對當前網絡安全態勢的感知。因此,在網絡中針對性部署平臺動態目標防御技術,動態調整網絡中不同操作系統之間的切換頻率,有利于有效評估網絡安全態勢,抑制操作系統病毒的傳播。 (1)基本再生數是病毒感染能力和網絡免疫能力的綜合體現,其閾值為1,小于該閾值時,網絡能消除病毒,否則病毒持續存在。基本再生數與感染時滯負相關,與操作系統切換頻率正相關。 (2)感染時滯的閾值隨操作系統切換頻率和感染時滯動態變化,且正相關。在基本再生數大于1的情況下,當感染時滯小于該閾值時,網絡穩定在特定平衡點附近,當大于該閾值時,網絡在平衡點附近周期性振蕩。 (3)操作系統病毒防御過程中,感染時滯無法人為調節,可調整操作系統遷移頻率消除振蕩,抑制操作系統病毒傳播。


4.3 病毒抑制策略有效性驗證





5 結 論