金 娟 曹奇英* 沈士根 吳小軍
1(東華大學計算機科學與技術(shù)學院 上海 201620)2(紹興文理學院計算機科學與工程系 浙江 紹興 312000)3(東華大學信息科技與技術(shù)學院 上海 201620)
隨著半導(dǎo)體技術(shù)和通信技術(shù)的迅速發(fā)展,無線傳感器網(wǎng)絡(luò)WSNs在國防軍事、環(huán)境監(jiān)測、智能家居、健康檢測等方面都發(fā)揮著巨大的作用。由于WSNs中的傳感節(jié)點存儲了大量有價值的數(shù)據(jù)和信息,其安全性也備受學術(shù)界和工業(yè)界的關(guān)注[1]。根據(jù)瑞星發(fā)布的《2017年中國網(wǎng)絡(luò)安全報告》,瑞星“云安全”系統(tǒng)在去年一共截獲病毒樣本總量5 003萬個,病毒感染次數(shù)29.1億次,病毒總體數(shù)量比2016年同期上漲15.62%,其中新增的病毒占總量的一半以上。由此可見,惡意程序數(shù)量依舊處于上漲趨勢,惡意程序給WSNs的安全造成了巨大的威脅。
在一般的WSNs安全問題研究中,往往假設(shè)網(wǎng)絡(luò)中的節(jié)點是同質(zhì)的,它們擁有相同的抗攻擊能力,因此節(jié)點被惡意程序攻擊成功的可能性只由其與其他節(jié)點通信的概率決定,節(jié)點連接度越大的節(jié)點受惡意程序感染的可能性越大,其被感染的概率越大。但是在實際的應(yīng)用中,異質(zhì)節(jié)點在WSNs中普遍存在,它們具有不同的節(jié)點度和脆弱性,構(gòu)成了現(xiàn)實中的異質(zhì)傳感網(wǎng)HWSNs[2](Heterogeneous Wireless Sensor Networks)。
HWSNs節(jié)點可用度表示該節(jié)點在網(wǎng)絡(luò)中能夠正常工作的概率[3],是度量HWSNs節(jié)點性能的重要指標之一。在實際的計算中,通常用網(wǎng)絡(luò)達到穩(wěn)定狀態(tài)時可用狀態(tài)的概率來表示。對于HWSNs節(jié)點,其達到穩(wěn)定狀態(tài)時的可用度與其自身的能量以及所處的環(huán)境等多種因素有關(guān)。要想對HWSNs網(wǎng)絡(luò)進行可用度評估,首先要對其組成節(jié)點可用度進行分析。因此,如何評估HWSNs節(jié)點的可用度是度量HWSNs性能的關(guān)鍵問題之一。
目前,國內(nèi)外研究者已經(jīng)提出了一些分析,HWSNs節(jié)點異質(zhì)性和可用度的方法。Dmaso等[4]設(shè)計了一個全自動的解決方案來設(shè)計功耗感知的WSN應(yīng)用和通信協(xié)議,對無線傳感器網(wǎng)絡(luò)應(yīng)用和網(wǎng)絡(luò)堆棧的功耗進行了精確估計。沈士根等[5]結(jié)合使用完全信息靜態(tài)博弈、Markov鏈和可靠性理論,給出了一種在惡意程序傳播環(huán)境下簇形傳感網(wǎng)的可生存性評估方法。Qu等[6]提出了相關(guān)易感-感染-易感(CSIS)模型,給出了無標度網(wǎng)絡(luò)(SF網(wǎng)絡(luò))和隨機網(wǎng)絡(luò)(ER網(wǎng)絡(luò))下節(jié)點異質(zhì)性對HWSNs的影響。沈士根等[7]提出了一種可以評估面向惡意程序傳播的HWSNs穩(wěn)態(tài)可用度的方法,實現(xiàn)了星型和簇型兩種拓撲結(jié)構(gòu)下的HWSNs穩(wěn)態(tài)可用度的評估。Keshri等[8]將WSNs節(jié)點分成高度節(jié)點和低度節(jié)點,提出了一種簡化無標度網(wǎng)絡(luò)模型。Yang等[9]提出了一種加性非齊次泊松過程(NHPP)模型來描述帶子網(wǎng)的WSN故障過程。趙焱鑫等[10]研究了節(jié)點移動速度、移動持續(xù)時間、停留時間和轉(zhuǎn)動角度異質(zhì)性對MANETs病毒傳播的影響,說明了減少網(wǎng)絡(luò)中節(jié)點移動異質(zhì)性,可以有效抑制MANETs病毒傳播。Essouifi等[11]將SIS模型擴展為SIR-SIS混合模型,并將節(jié)點按節(jié)點度的大小分為兩類,節(jié)點度大的節(jié)點滿足SIR模型,節(jié)點度小的滿足SIS模型。Yue等[12]借鑒Monte Carlo方法提出了工業(yè)WSNs可靠度評估模型。Hu等[13]提出了適用于評估可用度的模糊Markov鏈模型。Shen等[14]建立了一個惡意程序擴散的HWSNs可靠性評估機制。王泓剛等[15]提出了節(jié)點不可靠網(wǎng)絡(luò)可靠度的評估模型,并給出了算法。張曉花等[16]提出了用于可用度評估的離散概率模型,并提出相應(yīng)的算法。Kabadurmus等[17]提出了一種將網(wǎng)絡(luò)可靠性與網(wǎng)絡(luò)彈性相結(jié)合的新指標來評估網(wǎng)絡(luò)的可靠性。
本文通過擴展經(jīng)典傳染病模型和Markov鏈,基于節(jié)點異質(zhì)性給出了受惡意程序攻擊的HWSNs節(jié)點狀態(tài)分析方法,并研究了節(jié)點度對節(jié)點可用度的影響。首先,通過觀察實際網(wǎng)絡(luò)中節(jié)點度與節(jié)點抗攻擊能力的關(guān)系,給出了基于節(jié)點度差異的傳感節(jié)點異質(zhì)模型,并定義了感染率函數(shù)。然后,借鑒經(jīng)典傳染病模型,建立了SIRD狀態(tài)轉(zhuǎn)換模型[18],基于Markov鏈給出了異質(zhì)傳感節(jié)點各狀態(tài)間轉(zhuǎn)換的動力學方程。最后,給出當HWSNs達到動態(tài)平衡狀態(tài)時的異質(zhì)節(jié)點可用度計算公式。
HWSNs節(jié)點可以分為兩大類:(1) 隨機分布在監(jiān)測區(qū)域內(nèi)部或邊界位置的傳感器節(jié)點(sensor node)。這類節(jié)點數(shù)量較多,處理能力、存儲能力和通信能力都沒有很大的要求,往往由廉價微型傳感器組成,主要負責獲取數(shù)據(jù)和傳遞數(shù)據(jù)。(2) 用于數(shù)據(jù)匯總的網(wǎng)關(guān)節(jié)點(sink node)。這類節(jié)點的能力比傳感器節(jié)點要強,其對于整個HWSNs的影響也更大。傳感器節(jié)點將監(jiān)測到的數(shù)據(jù)沿著其他傳感器節(jié)點進行傳輸,最終匯總到sink節(jié)點。對于大型HWSNs,由于需要部署的區(qū)域較大,節(jié)點間通信距離有限,通常需要部署多個傳感子網(wǎng),每個傳感子網(wǎng)都有自己的sink節(jié)點,并由該子網(wǎng)的sink節(jié)點負責向上一級的sink節(jié)點進行數(shù)據(jù)傳輸。圖1給出了一種典型的HWSNs結(jié)構(gòu)。
圖1 HWSNs結(jié)構(gòu)
在HWSNs中,節(jié)點度越小的節(jié)點,其節(jié)點功能越小,相應(yīng)的安全機制往往不完善,被惡意程序攻擊成功的概率越大。相反,節(jié)點度越大的節(jié)點,用戶會為其配置防火墻、訪問限制等安全機制,使其被惡意程序攻擊成功的概率降低。記一個節(jié)點的度為k,定義其脆弱性函數(shù)為d(k),當惡意程序攻擊成功概率越大時,其d(k)值越大。也就是說,d(k)是一個單調(diào)遞減的函數(shù),其具體形式由HWSNs環(huán)境、HWSNs結(jié)構(gòu)等決定。
在實際HWSNs中,節(jié)點脆弱性影響了節(jié)點對惡意程序攻擊的抵抗力,從而影響其被惡意程序成功感染的概率。因此,可以用節(jié)點脆弱性函數(shù)來表示一個異質(zhì)傳感節(jié)點受惡意程序攻擊時的感染率。對于一個節(jié)點度為k的異質(zhì)傳感節(jié)點i,其被惡意程序感染的概率 可以定義為:
ζi(k)=c×d(k)
(1)
式中:c為歸一化常數(shù)。假設(shè)HWSNs中節(jié)點度服從分布Pr(K=k),節(jié)點度為k的概率為P(k),HWSNs中節(jié)點數(shù)為N,對式(1)兩邊取平均得到:
(2)
(3)
在HWSNs中,惡意程序通過感染易感節(jié)點獲取其數(shù)據(jù),并進行傳播,這種傳播方式與傳染病傳播過程類似。因此,本文借鑒經(jīng)典流行病理論中的SIRD模型來描述HWSNs惡意程序傳染過程中節(jié)點的狀態(tài)變化。其中:傳感節(jié)點的狀態(tài)分為易感狀態(tài)(Susceptible)、感染狀態(tài)(Infected)、免疫狀態(tài)(Recovered)、死亡狀態(tài)(Dead)。易感狀態(tài)指的是一個HWSNs節(jié)點存在安全漏洞但尚未被惡意程序感染,可能被惡意程序感染時所處的狀態(tài),簡稱狀態(tài)S,處于該狀態(tài)的節(jié)點為易感節(jié)點;感染狀態(tài)指的是一個易感節(jié)點被惡意程序發(fā)現(xiàn)并感染,受惡意程序控制并具有傳染能力時所處的狀態(tài),簡稱狀態(tài)I,處于該狀態(tài)的節(jié)點為感染節(jié)點;免疫狀態(tài)指的是一個節(jié)點的安全漏洞被發(fā)現(xiàn),或者感染過惡意程序并被清除之后安裝了安全補丁,因此獲得了免疫力時所處的狀態(tài),簡稱狀態(tài)R,處于該狀態(tài)的節(jié)點為免疫節(jié)點;死亡狀態(tài)指的是一個節(jié)點因受到惡意程序攻擊或者能量耗盡導(dǎo)致節(jié)點失效時所處的狀態(tài),簡稱狀態(tài)D,處于該狀態(tài)的節(jié)點為死亡節(jié)點。異質(zhì)傳感節(jié)點狀態(tài)轉(zhuǎn)換模型如圖2所示。
圖2 HWSNs節(jié)點狀態(tài)轉(zhuǎn)換圖
HWSNs中的入侵檢測系統(tǒng)(IDS)可以對惡意程序進行掃描和為異質(zhì)傳感節(jié)點安裝安全補丁。當IDS發(fā)現(xiàn)節(jié)點i存在安全漏洞或節(jié)點i已經(jīng)被惡意程序感染時,IDS可以為其安裝安全補丁,使其從狀態(tài)S或狀態(tài)I轉(zhuǎn)換成狀態(tài)R。假設(shè)IDS的檢測率和誤報率分別為μ和ν。一個異質(zhì)傳感節(jié)點存在能量耗盡或者被其他原因損壞的可能,節(jié)點i會從狀態(tài)S轉(zhuǎn)換為狀態(tài)D,將這種不是由于惡意程序破壞導(dǎo)致節(jié)點死亡的概率記為σ。
(4)
由圖2可知,當節(jié)點i處于狀態(tài)I時,不可能轉(zhuǎn)換成狀態(tài)S,但它可能被惡意程序損害,使其從狀態(tài)I轉(zhuǎn)換成狀態(tài)D,記這種被惡意程序損壞的概率為θ。當節(jié)點i被IDS檢測到,IDS會為其安裝安全補丁,使其從狀態(tài)I轉(zhuǎn)換成狀態(tài)R。當節(jié)點i被惡意程序殺死或者由于物理原因?qū)е鹿?jié)點死亡,節(jié)點i會從狀態(tài)I轉(zhuǎn)換成狀態(tài)D。因此,一個在t時刻處于狀態(tài)S的節(jié)點i的狀態(tài)轉(zhuǎn)換概率可以表示為:
(5)
對于處于狀態(tài)R的節(jié)點i,當惡意程序發(fā)現(xiàn)了新的安全漏洞,則會使異質(zhì)傳感節(jié)點又有了被攻擊的可能性,使其從狀態(tài)R轉(zhuǎn)換為狀態(tài)S,記這種概率為δ。IDS可能發(fā)生誤報,將處于狀態(tài)R的節(jié)點誤當作感染節(jié)點,使其從狀態(tài)R轉(zhuǎn)換為狀態(tài)I。同時,節(jié)點i也存在因物理原因?qū)е滤劳龅目赡?。綜上分析可得出,在t時刻處于狀態(tài)R的節(jié)點i的狀態(tài)轉(zhuǎn)換概率可以表示為:
(6)
為了保障HWSNs的可用性,必須向HWSNs投入新的異質(zhì)傳感節(jié)點。為保持HWSNs中節(jié)點數(shù)量穩(wěn)定,假設(shè)單位時間內(nèi)用戶以概率η向HWSNs中加入新的健康節(jié)點,并以概率η清除死亡節(jié)點,新節(jié)點的初始狀態(tài)為R。因此,一個在t時刻處于狀態(tài)D的節(jié)點i的狀態(tài)轉(zhuǎn)換概率可以表示為:
(7)
由圖2可知,在t-1時刻處于S、R兩種狀態(tài)的節(jié)點可能在t時刻轉(zhuǎn)換成狀態(tài)S,處于S、I、R三種狀態(tài)的節(jié)點可能在t時刻轉(zhuǎn)換成狀態(tài)I,處于S、I、R、D四種狀態(tài)的節(jié)點可能在t時刻轉(zhuǎn)換成狀態(tài)R,處于S、I、R、D四種狀態(tài)的節(jié)點可能在t時刻轉(zhuǎn)換成狀態(tài)D。因此,節(jié)點i在t時刻各個狀態(tài)的概率可以表示為:
(8)
將式(4)-式(7)代入式(8),可以得到節(jié)點i在t時刻各個狀態(tài)間轉(zhuǎn)換的動力學方程,化簡得:
(9)
(10)
(11)
(12)
(13)
記一個異質(zhì)傳感節(jié)點i在達到穩(wěn)定狀態(tài)時處于各狀態(tài)的概率分別為χS(k)、χI(k)、χR(k)、χD(k),可以得到:
χS(k)+χI(k)+χR(k)+χD(k)=1
(14)
(15)
由式(14)和式(15)解方程組可得:
(16)
(17)
由式(14)和式(15)可知,節(jié)點i的穩(wěn)態(tài)可用度與多個參數(shù)有關(guān),其中節(jié)點度k只與節(jié)點本身有關(guān),μ和ν與IDS有關(guān),其余參數(shù)與節(jié)點所處的HWSNs拓撲結(jié)構(gòu)、部署環(huán)境等有關(guān)。
圖3 HWSNs分別屬于ER網(wǎng)絡(luò)和SF網(wǎng)絡(luò)時節(jié)點度的分布概率
當HWSNs屬于無標度網(wǎng)絡(luò)(SF網(wǎng)絡(luò))時,少數(shù)節(jié)點擁有大量連接,節(jié)點度較大,而大量節(jié)點度較小,通常符合zipf定律,其中節(jié)點度k服從冪律分布Pr(K=k)~k-λ,k∈[kmin,kmax],其中kmin是最小度數(shù),kmax是度數(shù)截斷,λ是描述分布寬度的指數(shù)且滿足λ>0。在實際的網(wǎng)絡(luò)中,指數(shù)λ通常在[2,3]的范圍內(nèi),因此假設(shè)指數(shù)λ=2.5,最小度kmin=1,最大度kmax=50,取N=104,
當HWSNs屬于小世界網(wǎng)絡(luò)(WS網(wǎng)絡(luò))時,節(jié)點在規(guī)則網(wǎng)絡(luò)的連接基礎(chǔ)上采用重連概率p對每條邊進行重連,從而使得該網(wǎng)絡(luò)保持了規(guī)則網(wǎng)絡(luò)的群居性,又大大降低了規(guī)則網(wǎng)絡(luò)中平均路徑長度。其中節(jié)點度k的分布與重連概率p有關(guān),當p=1時,網(wǎng)絡(luò)中的所有節(jié)點進行隨機連接,即隨機網(wǎng)絡(luò)。取N=104,
圖4 HWSNs屬于WS小世界網(wǎng)絡(luò)時節(jié)點度在不同重連概率下的節(jié)點度分布概率
圖5 節(jié)點分布對節(jié)點感染率的影響
圖6 節(jié)點被成功感染概率
對于一個異質(zhì)傳感節(jié)點i,其節(jié)點的度主要在兩個方面影響其達到平衡狀態(tài)的可用度:(1) 節(jié)點度的大小決定了節(jié)點脆弱性大小,節(jié)點的度越大,該節(jié)點越強壯,越不容易被惡意程序感染;(2) 節(jié)點度的大小決定了其周圍與之通信節(jié)點的數(shù)量,節(jié)點和其可通信的鄰居節(jié)點數(shù)量越大,其接觸感染節(jié)點的概率越大,因此,節(jié)點被惡意程序感染的概率越大,這兩個方面的影響對于節(jié)點感染率的作用相反的。因此,第1方面的影響作用大于第2方面時,其節(jié)點可用度與節(jié)點度的大小呈正相關(guān),反之呈負相關(guān)。圖7給出了4.2節(jié)中提出的四種脆弱性函數(shù)情形下節(jié)點度和節(jié)點可用度的關(guān)系。實驗結(jié)果表明,當節(jié)點度較小且節(jié)點脆弱性函數(shù)為冪函數(shù)時,節(jié)點可用度最高;當節(jié)點度較大且節(jié)點脆弱性函數(shù)滿足指數(shù)函數(shù)和冪函數(shù)時,節(jié)點可用度較高。因此,構(gòu)建一個HWSNs網(wǎng)絡(luò)時,根據(jù)節(jié)點的度大小來實現(xiàn)節(jié)點保護,使得節(jié)點脆弱性函數(shù)滿足冪函數(shù)時,可以使所有節(jié)點保持較高的可用度,從而使整個網(wǎng)絡(luò)更加穩(wěn)固。
圖7 HWSNs節(jié)點可用度
本文基于節(jié)點異質(zhì)性和節(jié)點度分布分析了惡意程序攻擊行為對HWSNs的影響,建立了節(jié)點異質(zhì)模型。借鑒流行病理論和Markov鏈,描述了異質(zhì)傳感節(jié)點各狀態(tài)間的轉(zhuǎn)換關(guān)系,給出了節(jié)點狀態(tài)轉(zhuǎn)換的動力學方程,通過計算,得出了節(jié)點可用度的計算公式。實驗結(jié)果給出了節(jié)點在不同節(jié)點度和不同節(jié)點脆弱性函數(shù)下節(jié)點感染率的分布,并且給出了不同脆弱性函數(shù)下節(jié)點度對節(jié)點可用度的影響。