劉少鋒 張 紅 和青青 沈士根 曹奇英*
1(東華大學計算機科學與技術學院 上海 201620) 2(紹興文理學院計算機科學與工程系 浙江 紹興 312000)
異質傳感網絡是為了實現不同環境下數據的采集,同時根據部署環境來選擇不同類型的傳感器,以便網絡能夠更加高效地工作。相比較于同質傳感網絡,異質傳感網絡除了節點類型異質之外,節點的功能和網絡結構均有異質性。由于異質傳感網絡在無線傳感網絡中的生存期和穩定性等方面有更好的性能[1],所以它被廣泛地應用于物聯網當中,使得人們可以與物聯網中的設備進行交互,促進信息共享。
但另一方面,限制于異質傳感器節點的設計和使用環境與目的,其計算能力和運行功率都受到了極大的限制。大多數傳感器節點體積小、易于與周邊的傳感器節點進行無線通信,存儲能力和計算能力較弱,因此,傳感器節點的防御措施非常薄弱。尤其當傳感網絡部署在惡劣環境中時,因為這些網絡容易受到不同類型的惡意程序攻擊[2-3],保證其安全性變得更加重要。例如,攻擊者可以輕松截獲流量,模擬其中的一個網絡節點,或故意向其他節點提供誤導性信息。除此之外,因為傳感器節點成本低廉,便于大規模的部署,也使其無法承擔昂貴的硬件上的防范措施來阻止惡意程序的侵入與擴散。
當前,國內外學者面對傳感網絡惡意程序傳播的問題,引入傳染病理論、馬爾可夫鏈、平均場理論、元胞自動機理論[4-5]來研究其傳播過程。傳染病理論主要是用來模擬惡意程序在異質傳感網絡中的傳播,并通過算出其基本再生數來探究傳感網絡的穩定性[6-8]。趙金皓等[9]通過構建SEIRD(Susceptible-Exposed-Infected-Recovered-Dead)模型,提出一種節點狀態的時空動力學分析方法。沈士根等[10]通過擴展經典的SIR(Susceptible-Infected-Recovery)傳染病模型,對異質傳感網絡的穩定性進行了分析,并提出HSIORD(Heterogeneous Susceptible-Infected-isOlated-Removed-Deceased)模型。還有一部分學者將時滯因素引入傳播模型,張曉潘等[11]引入時滯和擴散因素,建立了時滯偏微分方程,研究了無線傳感網絡惡意程序傳播模型的震蕩動力學行為。張琳等[12]建立了基于時滯的無線傳感網絡惡意程序傳播模型,探討了時滯存在的情況下惡意程序的傳播行為。張子振等[13]考慮隔離不穩定節點的時間開銷,引入時滯因素,研究了惡意程序具有不同發生率的無線傳感網絡蠕蟲傳播模型的延遲動力學行為。
無線傳感網絡中惡意程序在傳播的時候,傳感器節點可以利用預安裝的入侵檢測系統對惡意程序進行一定程度的防御,這種防御行為實質上屬于一種博弈[14-16],因此無線傳感網絡中的惡意程序傳播問題可以使用博弈論的相關知識來進行研究[17]。周海平等[18]通過建立無線傳感網絡的攻防博弈模型及惡意程序傳播模型,并將博弈均衡策略與傳播模型耦合起來,從而得到博弈參數與傳播模型的穩定狀態感染比例之間的關系。沈士根等[19]基于完全信息靜態博弈預測了在無線傳感網絡中惡意程序的傳播行為。金娟等[20]通過利用流行病理論和馬爾可夫鏈,研究節點分布和脆弱性差異對節點感染率和可用度的影響。Shen等[21]通過貝葉斯博弈來最大化惡意程序檢測概率。但是不同的惡意程序具有不一樣的潛伏期,對于傳染病模型的影響也不一樣。而上述所研究的模型并不能用于具有不同潛伏期的惡意程序感染下的異質傳感網絡穩定性研究,以及具有不同潛伏期的惡意程序在傳播過程當中的感染時滯進行全面的表示。
為了解決上述問題,本文在Shen等[22]的HSIRD模型基礎上,提出一種傳感器節點具有自由移出性質的異質傳感網絡惡意程序傳播模型,實現了不同惡意程序具有不同潛伏期的HSEIRD(Heterogeneous Susceptible-Exposed-Infected-Removed-Deceased)模型的建模與分析。首先,對HSEIRD模型中的異質傳感器節點間的狀態轉換進行分析。其次,引入惡意程序不同潛伏期因素,構建異質傳感器節點的狀態轉換微分方程,得到一種可以反映具有不同潛伏期且異質傳感器節點具有自由移出率的異質傳感網絡惡意程序的HSEIRD模型。然后計算HSEIRD模型的穩定點,并進一步得到該模型的基本再生數。最后證明模型的穩定點的穩定性,為不同惡意程序具有不同潛伏期的異質傳感網絡惡意程序傳播的控制提供理論指導。
對于一個傳感節點而言,在感染惡意程序前后,其具有不同的狀態。自Kermack等[23]提出倉室模型以來,傳播模型從經典的SI、SIR模型,逐漸演變成復雜的多狀態模型,如SEIR、SIRD、SEIR-V模型等。
當異質傳感網絡中的異質傳感器節點存在安全漏洞但未感染惡意程序時,其處于S狀態,稱為易感狀態。而當處于S狀態的節點被感染惡意程序之后,在其自身不具備感染其他節點的情況下,處于E狀態,稱為潛伏狀態。當一個異質傳感器節點感染惡意程序,且當前節點會通過與其他未感染惡意程序的節點的通信來傳播惡意程序來感染其他節點時,該異質傳感器節點屬于I狀態,稱為感染狀態。對于I狀態的異質傳感器節點,經過打補丁或者升級系統[24],對感染的惡意程序具有免疫能力,則到達R狀態,稱為恢復或免疫狀態。另外,異質傳感網絡中的異質傳感器節點都會因為能量耗盡或者物理損毀等原因失去本身功能從而處于死亡狀態,記為D。
圖1展現了一個異質傳感器節點在受到不同因素影響的情況下,產生的節點狀態轉換關系模型,其中的參數含義如表1所示。對于在S狀態的異質傳感器節點,因為惡意程序的傳播所以導致該節點感染了惡意程序,此時因為惡意程序具有潛伏期,即剛感染惡意程序的異質傳感器節點,在惡意程序的潛伏期時間內不具備感染其他節點的能力,則該異質傳感器節點的狀態從S轉換到E。對于在E狀態的異質傳感器節點,經過一定的潛伏期之后,節點的惡意程序具有感染性,則從E狀態轉移到I狀態。I狀態中的異質傳感器節點,可以通過查殺惡意程序或安裝安全補丁,使得該節點對當前的惡意程序具有免疫力,則該異質傳感器節點的狀態從I轉換到R。除此之外,每一個異質傳感器節點都會因為節點的電池能量耗盡或者物理損毀而無法正常工作,所以其轉換到D狀態。另外,模型考慮了異質傳感器節點自由移出當前無線傳感網絡的情況,處于D狀態的異質傳感器節點,因為已經喪失了功能,其無論是否可以自由移出,均會被管理員手動移出當前網絡。所以只考慮S、E、I、R四種狀態的傳感器節點移動性。

圖1 異質傳感器節點狀態轉換關系模型

表1 異質傳感器節點狀態參數含義
設一個異質傳感網絡總共有M個傳感器節點,由于每個傳感器節點有一定的通信半徑,可以與在通信半徑內的其他異質傳感器節點通信。設一個異質傳感器節點的度為i,即一個異質傳感器節點可以與i(1≤i≤M)個網絡中其他的異質傳感器節點通信。記Si(t)、Ei(t)、Ii(t)、Ri(t)、Di(t)分別表示節點度為i的異質傳感器節點在t時刻處于S、E、I、R、D狀態的比例,則易得:
Si(t)+Ei(t)+Ii(t)+Ri(t)+Di(t)=1
(1)
記α表示處于I狀態且度為i的異質傳感器節點的初始比例,即為:
Ii(0)=α0<α<1
(2)
設度為i的異質傳感器節點處于E狀態、R狀態、D狀態的初始比例分別為0,即為:
Ei(t)=Ri(t)=Di(t)=0
(3)
根據式(1)-式(3)可以得到:
Si(0)=1-α
(4)
根據Shen等[22]文章中對異質傳感網絡的S狀態與I狀態通信的概率設定,引入Bi(t)標記一個度為i且在S狀態的異質傳感器節點在t時刻與感染惡意程序且具備感染性的異質傳感器節點之間通信的概率。Bi(t)則可以表示為:
(5)
式(5)具體參數如表2所示。

表2 Bi(t)參數含義
由于δi代表度為i的異質傳感器節點的概率,則有:
(6)
異質傳感網絡中節點的平均度公式:
(7)
下面分析具有不同潛伏期惡意程序的傳播環境下處于E狀態的異質傳感器節點數的動態變化情況。記P(t)為感染惡意程序的異質傳感器節點經歷了時間段t后,仍然處于潛伏狀態的概率。由實際情況可以得到:
P(0)=1
對于t(t>0)時刻處于E狀態的異質傳感器節點數,應該為(0,t]時間段原來處于E狀態的異質傳感器節點數加上新進入E狀態的異質傳感器節點數。
記τ為不同潛伏期惡意程序在異質傳感器節點上的平均潛伏周期,則:

(8)



(9)
式(9)中的ξ(t-u)代表u時刻新增的潛伏個體的數量,經過t-u時間段后,到達t時刻仍為E狀態個體的概率。
ξ(t)=e-[μ+η(1-μ)]t
(10)
因為τ為不同潛伏期惡意程序在異質傳感器節點內的平均潛伏期,則可以得到E狀態轉換到I狀態的概率函數f(x):

(11)
式(11)表示:當t在[0,τ]時間段內,當前節點所感染的惡意程序處于潛伏狀態,而在(τ,+∞)時間段內,E狀態的節點轉換為I狀態。
從而易得P(t-u)的分布函數g(x):

(12)
因此式(9)可以寫成:
(13)
對Ei(t)進行求導,可以得到處于E狀態的異質傳感器節點增加比例為:
(14)
至此,由圖1給出的異質傳感器節點狀態轉換關系以及式(14)可以得到反映異質傳感網絡各狀態變化的微分方程組:
(15)
通過計算得到異質傳感網絡的惡意程序傳播模型HSEIRD的穩定點,能夠確定HSEIRD模型中惡意程序傳播或消亡的閾值。也就是說,HSEIRD模型的穩定點表示在給定的特殊時刻t*,對于?t≥t*,模型中的變量Si(t)、Ei(t)、Ii(t)、Ri(t)、Di(t)將維持在Si(t*)、Ei(t*)、Ii(t*)、Ri(t*)、Di(t*)狀態不發生變化。
惡意程序傳播模型達到穩定點時,模型中的各個狀態的變化率均為零,即:
(16)
(17)
(18)
(19)
(20)
為了對HSEIRD模型進行分析,引入基本再生數的概念。基本再生數意為已經被惡意程序感染的一個異質傳感器節點能夠感染其他節點的平均個數。若基本再生數小于1,則表明感染節點能感染其他處于易感狀態的異質傳感器節點,即當前無線傳感網絡點數量大于1,將使HSEIRD模型趨向于穩定點O**。
本文采用下一代矩陣算法(next generation matrix method)來計算HSEIRD模型的基本再生數。在此方法中,基本再生數θ即為下一代矩陣的譜半徑,θ=ρ(FV-1),其中:ρ(·)表示矩陣的譜半徑;F表示當前異質傳感網絡在穩定點O**處的狀態I的異質傳感器節點的新增變化率矩陣;V表示異質傳感網絡在穩定點O**處的任意兩個節點狀態的轉換率矩陣;V-1為矩陣V的逆矩陣。
記:
[fI]=[βSi(t-τ)Bi(t-τ)ξ(τ)]
[VI]=[(μ+γ)Ii(t)+η(1-μ-γ)Ii(t)]
則有
(21)
(22)
可以得到基本再生數:
(23)
式中:
(24)
本文使用MATLAB R2008a來對提出的HSEIRD模型中惡意程序傳播進行驗證。
實驗仿真中的參數設置如下:M=1 000,表示異質傳感網絡中包含1 000個異質傳感器節點;時間間隔為1天。異質傳感網絡對應的參數按照文獻[25]設置,其中一個異質傳感器節點最小度為2,最大度為20,并且節點的平均度〈d〉=4。傳染率β=0.01,被惡意程序感染且度為i的一個異質傳感器節點感染處于易感狀態的異質傳感器節點的概率θi=κiσ/(1+νiσ)[26-27],其中,κ=5、σ=0.5、ν=1。根據異質傳感網絡的特性,其他參數分別設置為A=0.01,Φ=0.02,β=0.25,μ=0.012 5,γ=0.037 5,ε=0.25,η=0.002,τ=6。同時,設ωi≈0.138 3。這樣,可以計算得到基本再生數θ≈0.332 3,此時θ<1。
下面從易感狀態和感染狀態的初始值、潛伏期、自由移除率三個維度來對HSEIRD模型進行驗證。
驗證1不同的初始狀態對HSEIRD中各個狀態變化的影響。其中,感染狀態節點的初始比例分別設為0.1、0.2、0.4,得到的仿真結果如圖2和圖3所示。

圖2 考慮不同α的Si(t)轉換趨勢圖

圖3 考慮不同α的Di(t)轉換趨勢圖


驗證2不同的自由移出率對HSEIRD模型中各個狀態變化的影響。其中,自由移出率的比例分別設為0.002、0.004、0.006,得到的仿真結果如圖4和圖5所示。

圖4 考慮不同η的Si(t)轉換關系模型

圖5 考慮不同η的Di(t)轉換關系模型
在圖4中,隨著η的增加,Si(t)最低點的值逐漸提高,并趨向于約0.8。并且當η從0.002增長到0.006時,Si(t)的最小值從約0.69增加到約0.71。從圖5中可以看出,自由移出率的變化對于Di(t)的影響幾乎沒有,D狀態經過時間變化,最終趨向于約0.2。實驗反映,自由移出率的變化不會影響HSEIRD模型的異質傳感網絡的穩定性。
驗證3不同的惡意程序平均潛伏期對HSEIRD模型中各個狀態變化的影響。其中,潛伏期分別設為2、6、24,得到的仿真結果如圖6和圖7所示。

圖6 考慮不同τ的Si(t)轉換關系模型

圖7 考慮不同τ的Di(t)轉換關系模型
在圖6中,隨著τ的增加,Si(t)的最小值逐漸變大,并最終趨向于0.8左右,這與驗證2中自由移出率η的增加對狀態Si(t)的影響一致。同時,隨著潛伏期的增大,模型達到穩定狀態所需的時間越來越少。當τ=24時,Si(t)到達穩定數值0.8的附近需要約245天,而τ值分別為6和2時,則需要248天和250天左右。從圖7可以看出,D狀態在不同潛伏期下的變化不大,并會到達穩定數值約0.2處。實驗反映當θ<1時,潛伏期的變化不會影響當前異質傳感網絡趨向于穩定點O**。
本文考慮不同惡意程序潛伏期和節點自由移出的概率,得到一種反映異質傳感網絡惡意程序傳播的HSEIRD模型。該模型以微分方程形式體現了具有不同度的異質傳感器節點狀態的動態變化的過程。通過計算得到HSEIRD模型的穩定點和基本再生數確定了異質傳感網絡中具有不同潛伏期的惡意程序傳播或消亡的閾值,為受惡意程序感染的異質傳感網絡提供防御建議,并為制定一系列控制措施以保證異質傳感網絡穩定運行提供了理論基礎保障。