孟慶微 仇銘陽 王 剛 馬潤年
(空軍工程大學(xué)信息與導(dǎo)航學(xué)院 西安 710077)
零日漏洞是指被發(fā)現(xiàn)后立即被惡意利用的安全漏洞,又稱為零時差攻擊,主要存在于軟件和操作系統(tǒng)中。黑客和非法組織通常利用目標(biāo)用戶存在的零日漏洞,編寫惡意代碼并實施針對性攻擊,這類基于零日漏洞的惡意代碼稱為零日病毒。與傳統(tǒng)病毒相比,零日病毒傳播機理相對復(fù)雜,具有隱蔽突發(fā)性強、破壞性大和防御難度大等特點。從零日病毒的攻防兩端分析,防御方的被動弱勢地位更明顯。攻擊者具有零日漏洞信息的優(yōu)先權(quán)和掌握優(yōu)勢,防御者對這種漏洞一無所知,或者即使知道暫時也無能為力;開發(fā)零日漏洞的補丁較已知漏洞而言,工作量明顯更大,開發(fā)時間也明顯更長。2010年伊朗“震網(wǎng)”病毒事件[1],讓人們對零日漏洞有了深刻的認識。研究表明,該病毒是先通過木馬和蠕蟲等惡意程序與rootkit相結(jié)合,將rootkit這一惡意軟件及惡意代碼注入并隱藏在目標(biāo)主機上[1],并利用惡意代碼中具有提升權(quán)限功能的零日病毒,獲得目標(biāo)主機的內(nèi)核級權(quán)限。接著,該惡意代碼在分析核設(shè)施的相關(guān)數(shù)據(jù)后,利用其余的零日漏洞以及已知漏洞,在核心部件中分別進行了自我復(fù)制、傳播、破壞等非法活動,最終導(dǎo)致伊朗核物理設(shè)施全面癱瘓。據(jù)報道與Windows10系統(tǒng)有關(guān)的零日攻擊事件對用戶造成了嚴(yán)重影響[2]。此外,WannaCry勒索病毒也是典型的零日攻擊事件,該事件造成全世界大約99個國家金融、能源、醫(yī)療等行業(yè)出現(xiàn)危機管理問題[3]。
零日病毒的攻防博弈特點使得防御方始終處于被動地位,客觀上加大了防御難度和復(fù)雜度,零日病毒防御已經(jīng)成為目前網(wǎng)絡(luò)安全領(lǐng)域亟待解決的現(xiàn)實問題。當(dāng)前比較成熟的病毒防御手段都致力于微觀上研究病毒自身作用機理,重在查漏補缺。而“零日”是一相對概念,防御方對零日漏洞的掌握必然晚于攻擊方,難以及時修復(fù)。因此,當(dāng)前對零日病毒防御方面的研究重點在于攻擊行為的發(fā)現(xiàn)和病毒樣本的捕捉[4–10]。如Sun等人[4]考慮到利用先驗知識庫中信息會造成信息爆炸的情況,提出一種基于計算機系統(tǒng)調(diào)用生成數(shù)據(jù)圖的方法并利用貝葉斯網(wǎng)絡(luò)對可能的零日攻擊路徑進行概率認證。通過該方法,提高了零日攻擊認證正確率同時減少了數(shù)據(jù)分析量;考慮到傳統(tǒng)的機器學(xué)習(xí)技術(shù)很難檢測出零日攻擊而深度學(xué)習(xí)技術(shù)具有極強的特征提取能力這一情況,Diro等人[6]針對社會物聯(lián)網(wǎng)中的零日攻擊提出利用深度學(xué)習(xí)方法來進行檢測并比較了傳統(tǒng)機器學(xué)習(xí)與深度學(xué)習(xí)在發(fā)掘零日攻擊行為方面的性能差異。這些防御技術(shù)理論上能檢測到利用零日病毒發(fā)起的攻擊并采集樣本,對零日病毒的防御有著積極的意義。但是,零日病毒的徹底清除依然依賴于相應(yīng)補丁和查殺手段,而病毒入侵前期往往缺乏這些手段,需要投入時間和精力進行開發(fā)工作。為了避免零日病毒在入侵初期大范圍傳播,造成負面影響甚至癱瘓網(wǎng)絡(luò),可考慮病毒在感染與傳播過程中存在的共性因素,從相對宏觀的角度研究零日病毒在網(wǎng)絡(luò)中的傳播問題,進而采取針對性措施對病毒傳播的速度與規(guī)模加以控制。當(dāng)前病毒傳播研究主要通過動力學(xué)建模方法,研究病毒的傳播機理并提出相應(yīng)的控制手段。相關(guān)研究最初借鑒了生物學(xué)病毒傳播理論,將易感-感染-移除(Susceptible-Infected-Removed, SIR)模型[11]和易感-感染-移除-易感(Susceptible–Infected–Removed–Susceptible,SIRS)模型[12]等經(jīng)典病毒傳播模型應(yīng)用于計算機病毒傳播領(lǐng)域。近年來,相關(guān)研究主要是結(jié)合具體應(yīng)用背景,有針對性地引入新的節(jié)點狀態(tài)或調(diào)整節(jié)點狀態(tài)轉(zhuǎn)化機制對病毒傳播機理進行研究[13-17]。如針對高級持續(xù)性威脅(Advanced Persistent Threat,APT)攻擊和病毒潛伏特性,王剛等人[13]引入了潛伏狀態(tài),提出了易感-潛伏-感染-隔離-移除-易感(Susceptible–Escape-Infected–Quarantine-Removed–Susceptible, SEIQRS)模型,研究了基于潛伏隔離機制下的病毒傳播規(guī)律。文獻[11]通過研究一類新型混合攻擊病毒,將該類病毒命名為“去二存一”病毒并在SEIQRS模型的基礎(chǔ)上根據(jù)該類病毒的擴散機理,構(gòu)建了相應(yīng)的病毒傳播模型。Wang等人[14]考慮到現(xiàn)有的病毒傳播模型由于簡化近似,對大型網(wǎng)絡(luò)中病毒傳播分析造成準(zhǔn)確性損失這一情況,構(gòu)造了離散時間吸收馬爾可夫過程來精確地描述病毒的傳播,并通過仿真分析論證了該方法的準(zhǔn)確性。為了更加精準(zhǔn)地刻畫病毒在智能校園網(wǎng)上的傳播過程,Wang等人[15]考慮感染病毒個體間的差異性,將病毒感染個體的進化過程擴展到整個網(wǎng)絡(luò)中,建立了智能校園網(wǎng)的病毒傳播差分模型從而大大提高了智能校園網(wǎng)的安全性與魯棒性。文獻[16]在考慮級聯(lián)故障普遍存在于復(fù)雜網(wǎng)絡(luò)中的這一情況,提出了基于局部負荷重分配原則的新型級聯(lián)失效模型,建立了SIR病毒傳播與級聯(lián)失效的交互模型:SIR- c模型,為網(wǎng)絡(luò)拓撲和路由策略的管理和優(yōu)化提供了理論參考。文獻[17]考慮實際網(wǎng)絡(luò)中節(jié)點可以隨機移動的情況,基于平均場理論提出了一個移動環(huán)境下網(wǎng)絡(luò)病毒傳播的數(shù)學(xué)模型,并驗證了這一模型的合理性。這些研究揭示了病毒傳播的一般規(guī)律,為病毒的有效防控提供了理論基礎(chǔ)。然而不同病毒傳播模型有其適用范圍,零日病毒傳播機理相對復(fù)雜、隱蔽性強、防御難度大且破壞性大,需要具體問題具體分析,在現(xiàn)有研究成果的基礎(chǔ)上,結(jié)合零日病毒特點研究零日病毒的傳播規(guī)律及防控手段。
本文基于對零日病毒傳播機理的認知,建立與零日病毒傳播過程相適應(yīng)的易感-初始感染-零日-毀損-移除(Susceptible - Initial-state-of infection-Zero-day - Damaged - Removed, SIZDR)網(wǎng)絡(luò)病毒傳播模型,本模型在傳統(tǒng)SIRS病毒擴散模型基礎(chǔ)上定義了初始感染狀態(tài)、零日病毒執(zhí)行狀態(tài)以及毀損狀態(tài),并以模型為基礎(chǔ)研究零日病毒傳播過程的機理和穩(wěn)定性,給出了不同病毒傳播影響因素對網(wǎng)絡(luò)系統(tǒng)存活率的影響結(jié)果。通過研究掌握零日病毒傳播的規(guī)律,為零日病毒防御策略和技術(shù)實現(xiàn)提供理論參考。
按照網(wǎng)絡(luò)病毒作用機理,零日病毒傳播過程可劃分為初始感染、病毒傳播、病毒發(fā)作和毀損等4個階段。(1)在初始感染階段,攻擊者利用木馬或者蠕蟲等常見的已知病毒將以隱藏非法活動為目的的惡意代碼植入目標(biāo)主機當(dāng)中。同時,被已知病毒攻擊的目標(biāo)主機與已經(jīng)感染零日病毒的目標(biāo)主機接觸后以一定的概率被植入零日病毒。在這一階段,防御方可以通過反病毒軟件將木馬或者蠕蟲等已知病毒攔截。如果攔截成功,節(jié)點將處于免疫狀態(tài)。處于免疫狀態(tài)的目標(biāo)主機有可能因為系統(tǒng)重裝等使得其再次處于易感狀態(tài)。(2)在病毒傳播階段,已經(jīng)感染零日病毒的目標(biāo)主機中,零日病毒利用零日漏洞將自己復(fù)制并傳播至其他目標(biāo)主機當(dāng)中。在這一過程中,針對零日漏洞的惡意代碼隨著大量復(fù)制的惡意文件流入其他目標(biāo)主機而在整個網(wǎng)絡(luò)中傳播。(3)病毒發(fā)作階段,當(dāng)已經(jīng)感染零日病毒的目標(biāo)主機滿足一定條件時將會激活零日病毒(例如:在震網(wǎng)病毒摧毀核設(shè)施的過程中,當(dāng)惡意代碼分析出其所感染的物理設(shè)施是核心部件時,零日病毒才會進行攻擊),零日病毒對相應(yīng)的目標(biāo)實施攻擊。本文將病毒傳播和病毒發(fā)作兩個階段統(tǒng)稱為零日病毒執(zhí)行階段,簡稱零日階段。(4)在毀損階段。由于零日漏洞的未知性,防御方難以及時地發(fā)現(xiàn)并阻止零日病毒實施非法活動,最終目標(biāo)主機被零日病毒所摧毀。防御方為了確保網(wǎng)絡(luò)的正常運轉(zhuǎn),會將被毀損的目標(biāo)主機進行修復(fù)或者更新。
經(jīng)典SIRS模型是分析流行病傳播的常用模型。該模型相對成熟且更適用于現(xiàn)階段計算機病毒傳播,因此,在對零日病毒傳播過程的分析基礎(chǔ)上,對傳統(tǒng)的病毒傳播SIRS模型進行了改進。本文重新定義了一個節(jié)點狀態(tài)并引入了兩個新的節(jié)點狀態(tài),分別是:初始感染狀態(tài)I(Initial-state-ofinfection)、零日病毒執(zhí)行狀態(tài)(簡稱零日狀態(tài))Z(Zero-day)和毀損狀態(tài)D(Damaged)。提出了SIZDR模型,其狀態(tài)轉(zhuǎn)移關(guān)系如圖1所示。

圖1 SIZDR病毒傳播模型
(1) 易感狀態(tài)S→初始感染狀態(tài)I。易感狀態(tài)S節(jié)點與零日狀態(tài)Z節(jié)點接觸,節(jié)點由易感狀態(tài)轉(zhuǎn)化為初始感染狀態(tài)。其中,η=βK·Z(t)/N,β代表節(jié)點接觸概率,K代表節(jié)點度值,Z(t)表示在t時刻零日狀態(tài)節(jié)點數(shù)量。
(2) 初始感染狀態(tài)I→免疫狀態(tài)R。目標(biāo)主機中的反病毒軟件等安全系統(tǒng)對已知漏洞病毒的捕獲,使得感染已知漏洞病毒的節(jié)點及時被查殺,并利用補丁修復(fù)了相關(guān)漏洞從而使得感染已知漏洞病毒狀態(tài)的節(jié)點向免疫狀態(tài)轉(zhuǎn)化。α代表了感染已知漏洞病毒的免疫率。
(3) 免疫狀態(tài)R→易感狀態(tài)S。病毒在擴散過程中可能會存在變異等行為,使得免疫節(jié)點對變異后病毒失去免疫能力,或者由于用戶更新系統(tǒng)等使具有免疫功能的節(jié)點重新轉(zhuǎn)化為易感節(jié)點。υ代表了免疫狀態(tài)轉(zhuǎn)化為易感狀態(tài)的轉(zhuǎn)化率。
(4) 初始感染狀態(tài)I→零日狀態(tài)Z。防御系統(tǒng)的失誤使得初始感染狀態(tài)的目標(biāo)并沒有被查殺,從而使得惡意代碼有機會執(zhí)行針對零日漏洞的惡意代碼。當(dāng)滿足一定條件時,零日病毒實施非法活動,造成初始感染狀態(tài)向零日狀態(tài)轉(zhuǎn)化。γ代表零日病毒發(fā)起攻擊的概率。
(5) 零日狀態(tài)Z→毀損狀態(tài)D。零日病毒的隱蔽性使得該病毒無法被防御系統(tǒng)識別并阻止其非法活動,從而導(dǎo)致感染零日病毒的目標(biāo)主機被毀損。σ代表感染零日病毒后的毀損率。
(6) 毀損狀態(tài)D→易感狀態(tài)S。部分計算機核心系統(tǒng)被控制或部分由計算機操控的工控系統(tǒng)被破壞導(dǎo)致整個網(wǎng)絡(luò)的性能下降,因此目標(biāo)主機在被毀損后,相關(guān)操作人員將對已損壞的設(shè)備進行翻新或者使用新的設(shè)備。ω代表由毀損狀態(tài)恢復(fù)為易感狀態(tài)的恢復(fù)率。
設(shè)網(wǎng)絡(luò)相對穩(wěn)定且節(jié)點總數(shù)N為各狀態(tài)節(jié)點數(shù)量和,S(t),I(t),Z(t),D(t)分別表示t時刻易感狀態(tài)節(jié)點,初始感染狀態(tài)節(jié)點,零日狀態(tài)節(jié)點以及毀損狀態(tài)節(jié)點的數(shù)量,則對應(yīng)免疫節(jié)點數(shù)量可表示為R(t)=N-S(t)-I(t)-Z(t)-D(t)。根據(jù)微分動力學(xué)原理,可得模型對應(yīng)的動力學(xué)方程


矩陣J(P0)對應(yīng)的特征多項式為

其中


在實際防控過程中,病毒實施非法活動的概率γ不易被調(diào)節(jié),但可通過斷開網(wǎng)絡(luò)連接、提高操作人員安全意識、人為移除感染節(jié)點等方法人為調(diào)整β,K,σ來抑制病毒擴散規(guī)模。因此,本文重點圍繞節(jié)點感染系數(shù)、節(jié)點度值和毀損率等3個影響因素開展仿真驗證。參照文獻[13]中的仿真實驗,設(shè)β=0.5, K=4, α=0.2,υ=0.8。設(shè)初始感染狀態(tài)節(jié)點若不能被防御系統(tǒng)免疫,則轉(zhuǎn)化為零日狀態(tài)節(jié)點,即α+γ=1, γ=0.8。鑒于零日漏洞的隱蔽性,設(shè)毀損率σ=0.9;被毀損主機恢復(fù)為正常主機的概率為ω=0.6。設(shè)置節(jié)點總數(shù)N=1000,初始狀態(tài)下,不同狀態(tài)節(jié)點數(shù)為(S(0),I(0),Z(0),D(0),R(0))=(970,20,10,0,0)。在達到穩(wěn)定狀態(tài)的網(wǎng)絡(luò)系統(tǒng)中,毀損節(jié)點的數(shù)量不能直觀反映零日病毒對目標(biāo)主機的毀損程度,而毀損節(jié)點的數(shù)量與網(wǎng)絡(luò)系統(tǒng)中全部節(jié)點數(shù)量的比值可直觀反映零日病毒對整個網(wǎng)絡(luò)系統(tǒng)造成的影響。因此,定義毀損節(jié)點數(shù)量與網(wǎng)絡(luò)系統(tǒng)中全部節(jié)點數(shù)量的比值為網(wǎng)絡(luò)破壞率。


圖2 不同β 對應(yīng)的系統(tǒng)狀態(tài)
通過對不同β下節(jié)點毀損個數(shù)的統(tǒng)計可知,當(dāng)節(jié)點感染率β=0.2時,網(wǎng)絡(luò)破壞率為0;當(dāng)節(jié)點感染率β=0.5時,網(wǎng)絡(luò)破壞率為16.8%;當(dāng)節(jié)點感染率β=0.7時,網(wǎng)絡(luò)破壞率為24.9%。由統(tǒng)計數(shù)據(jù)可知,隨著感染系數(shù)的提高,網(wǎng)絡(luò)破壞率也越高。在實際情況中,防御方可通過調(diào)整感染率降低網(wǎng)絡(luò)破壞率。
通過調(diào)整節(jié)點度值來驗證其對病毒傳播的影響。通過理論分析可得節(jié)點度值的閾值Klim=2.2,即當(dāng)K <Klim時,系統(tǒng)將在P0處局部漸近穩(wěn)定;反之,當(dāng)K >Klim時,系統(tǒng)將會在P1處局部漸近穩(wěn)定。分別取K=2,4,6進行研究分析。圖3分別表示不同K時對應(yīng)的系統(tǒng)狀態(tài)。
圖3(a)–圖3(c)分別對應(yīng)K=2,4,6時的系統(tǒng)狀態(tài)。仿真結(jié)果表明,當(dāng)K=2(K <Klim)時,系統(tǒng)在平衡點P0(1000,0,0,0,0)處局部漸近穩(wěn)定;當(dāng)K=4(K >Klim)時,系統(tǒng)在P1(562,126,112,168,32)處局部漸近穩(wěn)定;當(dāng)K=6(K >Klim)時,系統(tǒng)在P1(375,180,160,240,45)處局部漸近穩(wěn)定。當(dāng)系統(tǒng)在局部漸近穩(wěn)定平衡點P1處時,初始感染狀態(tài)I的節(jié)點數(shù)隨著K的增大而增大,零日狀態(tài)節(jié)點數(shù)隨著K的增大而增大。可見,節(jié)點度越大,零日病毒傳播過程中的病毒成功入侵目標(biāo)主機的概率也越大。通過調(diào)節(jié)節(jié)點度值K,可以有效地控制零日病毒實施非法活動。

圖3 不同 K對應(yīng)的系統(tǒng)狀態(tài)
通過對不同K時節(jié)點毀損個數(shù)的統(tǒng)計可知,當(dāng)節(jié)點度K=2時,網(wǎng)絡(luò)破壞率為0;當(dāng)節(jié)點度K=4時,網(wǎng)絡(luò)破壞率為16.8%;當(dāng)節(jié)點度K=6時,網(wǎng)絡(luò)破壞率為24.0%。由統(tǒng)計數(shù)據(jù)可知,隨著節(jié)點度值的提高,網(wǎng)絡(luò)破壞率也相應(yīng)提高。在實際情況中,防御方應(yīng)當(dāng)調(diào)整網(wǎng)絡(luò)拓撲結(jié)構(gòu)降低節(jié)點度值從而使得網(wǎng)絡(luò)破壞率盡可能低,但是降低網(wǎng)絡(luò)破壞率勢必通過降低節(jié)點度值來實現(xiàn),一味降低節(jié)點度值將會影響到網(wǎng)絡(luò)的性能。因此,防御方應(yīng)當(dāng)綜合考慮網(wǎng)絡(luò)性能與網(wǎng)絡(luò)破壞率的關(guān)系從而對零日病毒進行布防。
通過調(diào)整毀損率來驗證其對病毒傳播的影響。根據(jù)實際情況,毀損率閾值應(yīng)滿足σlim<1,可分別設(shè)σ=0.5,0.7,0.9。圖4分別表示不同σ對應(yīng)的系統(tǒng)狀態(tài)。
圖4(a)–圖4(c)分別對應(yīng)σ=0.5,0.7,0.9時的系統(tǒng)狀態(tài)。仿真結(jié)果表明,當(dāng)σ=0.5時,系統(tǒng)在P1(310,165,263,220,42)處局部漸近穩(wěn)定,當(dāng)σ=0.7時,系統(tǒng)在P1(436,151,173,202,38)處局部漸近穩(wěn)定;當(dāng)σ=0.9時,系統(tǒng)在P1(562,126,112,168,32)處局部漸近穩(wěn)定。當(dāng)系統(tǒng)在局部漸近穩(wěn)定平衡點P1處時,初始感染狀態(tài)的節(jié)點數(shù)隨著σ的增大而減小,零日狀態(tài)節(jié)點數(shù)隨著σ的增大而減小。可見,毀損率越大,網(wǎng)絡(luò)系統(tǒng)中零日病毒的傳播性能將會受到限制從而導(dǎo)致系統(tǒng)中未感染病毒節(jié)點的數(shù)量增加。

圖4 不同σ 對應(yīng)的系統(tǒng)狀態(tài)
通過調(diào)節(jié)毀損率σ,可有效控制零日病毒傳播。基于σ的統(tǒng)計表明,毀損率σ=0.5時,網(wǎng)絡(luò)破壞率為21.9%;毀損率σ=0.7時,網(wǎng)絡(luò)破壞率為20.0%;毀損率σ=0.9時,網(wǎng)絡(luò)破壞率為16.8%。隨著毀損率的升高,網(wǎng)絡(luò)破壞率則越低,防御方恢復(fù)網(wǎng)絡(luò)性能的代價也就越大。出現(xiàn)這種情況的原因是:當(dāng)毀損率提高后,恢復(fù)率不變的情況下,網(wǎng)絡(luò)中易感節(jié)點數(shù)量上升,初始感染節(jié)點和零日節(jié)點的數(shù)量都會下降,從而導(dǎo)致毀損節(jié)點的數(shù)量也相應(yīng)下降。在實際情況中,防御方可適度調(diào)整毀損率與網(wǎng)絡(luò)破壞率,使得恢復(fù)性能代價與網(wǎng)絡(luò)破壞率在可接受范圍內(nèi)。
根據(jù)仿真分析結(jié)果,針對零日病毒的實際防控過程中,防御方可通過提高操作人員安全意識,減少操作人員具有安全風(fēng)險的操作,從而降低節(jié)點感染系數(shù);同時,根據(jù)網(wǎng)絡(luò)拓撲結(jié)構(gòu)以及網(wǎng)絡(luò)功能,斷開部分網(wǎng)絡(luò)連接,從而在不嚴(yán)重影響網(wǎng)絡(luò)業(yè)務(wù)承載能力的情況下,降低網(wǎng)絡(luò)節(jié)點度K。防御方針對零日病毒進行的防御手段并不僅僅局限于以上兩種方法,這些方法的核心思想就是通過調(diào)控基本再生數(shù)達到控制病毒傳播的規(guī)模。
本文在SIRS模型基礎(chǔ)上,結(jié)合零日病毒特點提出了SIZDR傳播模型,通過穩(wěn)定性分析,討論了相關(guān)因素對病毒傳播的影響,就節(jié)點度、感染率和毀損率3個參數(shù)開展了仿真實驗。理論分析和仿真結(jié)果表明,改變網(wǎng)絡(luò)度、節(jié)點感染系數(shù)等參數(shù),可以使得網(wǎng)絡(luò)系統(tǒng)穩(wěn)定在無病毒狀態(tài)。在網(wǎng)絡(luò)受到零日病毒的威脅時,通過對已知漏洞的合理防控和網(wǎng)絡(luò)結(jié)構(gòu)的調(diào)整,能一定程度上抑制零日病毒的傳播甚至徹底消除病毒。論文中還存在一定的不足之處,后期的工作將進一步完善零日病毒傳播模型并在零日病毒傳播機理的基礎(chǔ)上提出相應(yīng)的免疫措施。