葉曉彤,孫文飛, ,沈士根
(1. 紹興文理學院計算機科學與工程系,浙江 紹興 312000;2. 浙江理工大學信息學院,浙江 杭州 310018)
物聯(lián)網與人們的生活息息相關,其安全問題是影響物聯(lián)網應用的關鍵因素,而惡意程序傳播[1-6]是影響物聯(lián)網性能的諸多原因之一。當惡意程序感染物聯(lián)網節(jié)點后,將通過物聯(lián)網節(jié)點之間的通信傳播到其他物聯(lián)網節(jié)點,導致物聯(lián)網節(jié)點數(shù)據丟失、通信阻斷以及能量損耗等問題,甚至直接使整個物聯(lián)網系統(tǒng)發(fā)生癱瘓。物聯(lián)網可用度評估反映的是物聯(lián)網在感知數(shù)據、數(shù)據通信、數(shù)據匯聚時該網絡處于可用或可操作狀態(tài)的概率,是反映物聯(lián)網性能的重要指標之一。在惡意程序傳播環(huán)境下,如何評估物聯(lián)網可用度已成為物聯(lián)網能否成功應用的關鍵問題。因此,面向惡意程序傳播的物聯(lián)網可用度評估得到了學術界和工業(yè)界的廣泛重視。
當前,與網絡可用度(availability)評估相關的有可靠度(reliability)、可信賴度(2epen2ability)、可生存性(survivability)評估。鄒青丙等[7]綜述了無線多跳網絡中的可靠度評估方法,并結合物聯(lián)網展望可靠度評估發(fā)展趨勢。何明等[8]較早研究了物聯(lián)網可靠度評估問題,通過綜合考慮感知層網絡節(jié)點移動性和網絡故障因素,給出了一種物聯(lián)網中感知層網絡可靠度評估方法。沈士根等[9]基于靜態(tài)博弈預測惡意程序的傳播行為,再將惡意程序傳播的概率關聯(lián)到馬爾可夫鏈的隨機性,實現(xiàn)了無線傳感器網絡的可生存性評估。沈士根等還使用“非合作非零和博弈”[10]和隨機博弈[11]給出了無線傳感器網絡的可信賴度和可靠度評估方法,利用SIRD 傳染病模型和馬爾可夫鏈[12]給出了面向惡意程序傳播的異質無線傳感器網絡可用度評估方法。進一步地,金娟等[13]基于節(jié)點分布和脆弱性差異給出異質無線傳感器網絡節(jié)點異質模型,再進行節(jié)點可用度的分析。石瓊等[14]利用連續(xù)時間馬爾可夫鏈,考慮節(jié)點獨立失效與相關失效,針對無線傳感器網絡可靠度、可用度及可生存性分別給出了評估方法。另外,基于連續(xù)時間馬爾可夫鏈研究網絡可生存性評估問題的文獻還包括多種攻擊并發(fā)下的無線傳感器網絡可生存性評估模型[15]、考慮節(jié)點移動的無線傳感器網絡可生存性評估模型[16]。Liu 等[17]提供了一種區(qū)域失效概率模型,以捕捉區(qū)域失效的關鍵特征,并將其應用于無線Mesh 網絡的可靠度評估。Huang 等[18]利用隨機游走模型描述物聯(lián)網節(jié)點間關系,提出了一種基于隨機模型的物聯(lián)網節(jié)點可信賴度評估方法。Yue 等[19]針對工業(yè)無線傳感器網絡,給出了一種時間演化的Monte Carlo(蒙特卡洛)可靠度評估方法。Ferraz 等[20]針對IPv6 物聯(lián)網,使用多元統(tǒng)計方法識別異常感知信息,給出了一種物聯(lián)網可靠度評估模型。Huang 等[21]針對基于邊緣計算的物聯(lián)網環(huán)境,建立了表述物聯(lián)網設備、邊緣服務器和云服務器之間流量關系的網絡模型,并給出了評估網絡可靠度的算法。An2ra2e 等[22]提出了一種基于Petri 網的物聯(lián)網基礎設施災難恢復建模與分析方法,實現(xiàn)了物聯(lián)網基礎設施的可用度評估。Xiang 等[23]考慮無線傳感器網絡的隨機失效、能量消耗、環(huán)境隨機性和干擾等方面,基于代數(shù)圖論和Monte Carlo 仿真提出了廣義節(jié)點可靠度和平均廣義節(jié)點可靠度評估指標,用于實現(xiàn)無線傳感器網絡的可靠度評估。
然而,在物聯(lián)網惡意程序傳播環(huán)境中,除參考文獻[12-13]描述的易感狀態(tài)(S)、感染狀態(tài)(I)、免疫狀態(tài)(R)、死亡狀態(tài)(D)4 種狀態(tài)外,還普遍存在潛伏狀態(tài)(E)。該狀態(tài)表示物聯(lián)網節(jié)點被惡意程序感染后,隱藏自己并且不表現(xiàn)出傳播惡意程序的行為。因此,本文為更好地反映物聯(lián)網惡意程序傳播環(huán)境下物聯(lián)網節(jié)點的實際狀態(tài),建立SEIRD 物聯(lián)網節(jié)點狀態(tài)轉換模型。然后,構建物聯(lián)網節(jié)點處于5 種狀態(tài)的概率動力學方程,得到各狀態(tài)轉換矩陣,進一步得到物聯(lián)網節(jié)點可用度計算方法。最后,以典型的星形和簇形物聯(lián)網拓撲結構為例,給出整個物聯(lián)網可用度評估的方法。
在物聯(lián)網中,惡意程序通過被感染節(jié)點獲取節(jié)點數(shù)據,并進行相鄰節(jié)點的傳播,這跟傳染病的傳播模式類似。因此,可以考慮基于傳染病原理和馬爾可夫鏈來描述物聯(lián)網節(jié)點在惡意程序傳播環(huán)境下的節(jié)點狀態(tài)轉換模型。
在物聯(lián)網惡意程序傳播過程中,易感狀態(tài)(S)、潛伏狀態(tài)(E)、感染狀態(tài)(I)、免疫狀態(tài)(R)、死亡狀態(tài)(D)為物聯(lián)網節(jié)點常見的5 種狀態(tài),而這5 種狀態(tài)的節(jié)點存在相互轉換關系,如圖1 所示。圖1 中,易感狀態(tài)的節(jié)點指的是物聯(lián)網系統(tǒng)內存在漏洞并有可能被感染的節(jié)點;潛伏狀態(tài)的節(jié)點指的是該物聯(lián)網節(jié)點已經被惡意程序感染但此時惡意程序未處于活動期,即此時該節(jié)點雖被感染但不會向外傳播惡意程序;感染狀態(tài)的節(jié)點指的是一個本來處于潛伏狀態(tài)的物聯(lián)網節(jié)點試圖向其他節(jié)點傳播惡意程序,此時處于潛伏狀態(tài)的節(jié)點中的惡意程序被激活,從而由潛伏狀態(tài)轉換成感染狀態(tài);免疫狀態(tài)的節(jié)點指的是處于易感狀態(tài)、潛伏狀態(tài)或感染狀態(tài)的物聯(lián)網節(jié)點通過安裝系統(tǒng)安全補丁,從而達到類似于人體免疫力的效果,此時對已知的惡意程序可以起到抵抗的作用,從而保護節(jié)點不會被感染;死亡狀態(tài)的節(jié)點指的是處于易感狀態(tài)、潛伏狀態(tài)、感染狀態(tài)或免疫狀態(tài)的物聯(lián)網節(jié)點在惡意程序的代碼攻擊之下消耗殆盡節(jié)點內部的能量,從而導致該節(jié)點死亡的節(jié)點,也有可能是因為自身能量耗盡而死亡的節(jié)點。
對于任意一個物聯(lián)網節(jié)點i而言,記其度為k,即其周圍有k個與之相鄰且可以互相通信的節(jié)點。這k個與物聯(lián)網節(jié)點i相鄰的節(jié)點都有一定的可能性對節(jié)點i進行攻擊,從而使節(jié)點i由易感狀態(tài)S轉換到潛伏狀態(tài)E再進一步由潛伏狀態(tài)E轉換到感染狀態(tài)I,所以,在t時刻節(jié)點i的狀態(tài)與t? 1時刻該節(jié)點與其相鄰節(jié)點的狀態(tài)有密切關系。分別為節(jié)點i在t時刻處于易感狀態(tài)、潛伏狀態(tài)、感染狀態(tài)、免疫狀態(tài)和死亡狀態(tài)的概率,表示在t時刻節(jié)點由狀態(tài)x轉換到狀態(tài)y的概率,其中,x,y∈{S,E,I,R,D}。顯然,在一個剛建立的物聯(lián)網中,各節(jié)點會被默認安裝安全補丁對已知的惡意程序產生抵抗力,同時應對未來可能入侵的惡意程序,所以物聯(lián)網內各節(jié)點的初始狀態(tài)都處于免疫狀態(tài),即
圖1 物聯(lián)網節(jié)點SEIRD 狀態(tài)轉換圖
部署于物聯(lián)網中的入侵檢測系統(tǒng)可以對節(jié)點進行安全檢測和安裝安全補丁,從而使節(jié)點獲得抵抗惡意程序的免疫力。當入侵檢測系統(tǒng)檢測到節(jié)點存在安全漏洞時,可以為節(jié)點安裝安全補丁,使該物聯(lián)網節(jié)點從易感狀態(tài)、潛伏狀態(tài)或感染狀態(tài)轉換成免疫狀態(tài)。記惡意程序感染節(jié)點的概率為α,物聯(lián)網入侵檢測系統(tǒng)的檢測率和誤報率分別為β和γ,一個節(jié)點由潛伏狀態(tài)轉換到感染狀態(tài)的概率為μ,被惡意程序殺死即進入死亡狀態(tài)的概率為ω,節(jié)點非惡意程序攻擊下死亡的概率為φ,單位時間內物聯(lián)網管理員向物聯(lián)網內部投放新的健康節(jié)點和清除死亡節(jié)點的概率均為η,由于物聯(lián)網節(jié)點存在漏洞導致其從免疫狀態(tài)轉換到易感狀態(tài)的概率為ζ,物聯(lián)網節(jié)點i的相鄰節(jié)點為j。
當物聯(lián)網節(jié)點i處于潛伏狀態(tài)時,無法轉換成易感狀態(tài),但是該節(jié)點內的惡意程序處于活動狀態(tài)后將使該節(jié)點從潛伏狀態(tài)轉換為感染狀態(tài)。當該節(jié)點經物聯(lián)網入侵檢測系統(tǒng)檢測并安裝安全補丁后,該節(jié)點將從潛伏狀態(tài)變?yōu)槊庖郀顟B(tài)。當該節(jié)點因為物理原因死亡時,就會從潛伏狀態(tài)轉換為死亡狀態(tài)。因此,在t時刻,處于潛伏狀態(tài)的節(jié)點i的狀態(tài)轉換概率如式(2)所示。
對處于感染狀態(tài)的物聯(lián)網節(jié)點i,當物聯(lián)網入侵檢測系統(tǒng)檢測到惡意程序所攻擊的安全漏洞時,通過安裝安全補丁來彌補這個安全漏洞,從而使節(jié)點i由感染狀態(tài)轉換為免疫狀態(tài)。也有可能在惡意程序的攻擊下或者受物理原因影響,節(jié)點i由感染狀態(tài)轉換為死亡狀態(tài)。另外,處于感染狀態(tài)的節(jié)點不能轉換為易感狀態(tài)和潛伏狀態(tài)。因此,在t時刻,處于感染狀態(tài)的節(jié)點i的狀態(tài)轉換概率如式(3)所示。
對處于免疫狀態(tài)的物聯(lián)網節(jié)點i,如果惡意程序發(fā)現(xiàn)了新的安全漏洞,則會使該節(jié)點又存在被攻擊的可能性,使其從免疫狀態(tài)轉換成易感狀態(tài)。而當物聯(lián)網入侵檢測系統(tǒng)誤報時,會將物聯(lián)網節(jié)點判斷為潛伏狀態(tài)。同時,節(jié)點i也存在非惡意程序攻擊下死亡的可能。因此,在t時刻,處于免疫狀態(tài)的節(jié)點i的狀態(tài)轉換概率如式(4)所示。
針對惡意程序傳播和節(jié)點正常死亡導致物聯(lián)網內部正常節(jié)點數(shù)量減少的問題,為了保障物聯(lián)網的性能狀態(tài),一般采取向物聯(lián)網內加入健康節(jié)點的辦法。這種方法可以維持整個物聯(lián)網中正常節(jié)點數(shù)量穩(wěn)定。在實際操作中,加入健康節(jié)點的概率跟死亡節(jié)點的概率相同,并且,新加入節(jié)點的初始狀態(tài)為免疫狀態(tài)。因此,在t時刻,處于死亡狀態(tài)的節(jié)點i的狀態(tài)轉換概率如式(5)所示。
結合圖1 可知,在t?1 時刻處于易感狀態(tài)的物聯(lián)網節(jié)點可以轉換為潛伏狀態(tài)、免疫狀態(tài)或死亡狀態(tài);處于潛伏狀態(tài)的節(jié)點可以轉換為感染狀態(tài)、免疫狀態(tài)或死亡狀態(tài);處于感染狀態(tài)的節(jié)點可以轉換為免疫狀態(tài)或死亡狀態(tài);處于免疫狀態(tài)的節(jié)點可以轉換為易感狀態(tài)、潛伏狀態(tài)或死亡狀態(tài);處于死亡狀態(tài)的節(jié)點可以轉換為免疫狀態(tài)(實質是新加入的健康節(jié)點)。因此,物聯(lián)網節(jié)點i在t時刻處于各個狀態(tài)的概率如式(6)所示。
將式(1)~式(5)代入式(6),化簡可得物聯(lián)網節(jié)點i在t時刻各個狀態(tài)轉換的動力學方程,如式(7)~式(11)所示。
根據可靠性理論,一個物聯(lián)網節(jié)點i在t時刻的可用度稱為瞬時可用度,而當t趨于無窮時的可用度稱為穩(wěn)態(tài)可用度,該值能最終體現(xiàn)節(jié)點i和物聯(lián)網的性能狀況。記節(jié)點i在時刻t的瞬時可用度為τi(t),穩(wěn)態(tài)可用度為則該節(jié)點穩(wěn)態(tài)可用度為:
在實際計算物聯(lián)網節(jié)點可用度時,通常經過計算表達物聯(lián)網節(jié)點狀態(tài)轉換的馬爾可夫矩陣的穩(wěn)定點來得到具體值。記:
星形物聯(lián)網拓撲結構以物聯(lián)網網關節(jié)點為中心,所有物聯(lián)網節(jié)點都與網關節(jié)點相連。當連接網關節(jié)點的物聯(lián)網節(jié)點需要發(fā)送數(shù)據時都要通過網關節(jié)點,再由網關節(jié)點統(tǒng)一向上一級基站發(fā)送數(shù)據。因此,星形物聯(lián)網拓撲結構中網關節(jié)點是網絡成功運行的關鍵,容錯率較低,所有物聯(lián)網節(jié)點單獨與網關節(jié)點進行通信。
在星形物聯(lián)網拓撲結構下,要使物聯(lián)網可以正常工作,除網關節(jié)點必須正常運行外,還需要正常工作的物聯(lián)網節(jié)點。記整個星形物聯(lián)網中節(jié)點數(shù)為Y,能正常工作的節(jié)點數(shù)為g,保證星形物聯(lián)網正常工作的最小節(jié)點數(shù)為X,則當g∈[X,Y]時,該星形物聯(lián)網可以正常運行。因此,整個星形物聯(lián)網的可用度τstar為:
簇形物聯(lián)網拓撲結構較星形物聯(lián)網增加了簇頭節(jié)點,每個簇頭節(jié)點與同一個簇中的物聯(lián)網節(jié)點相連并且直接跟網關節(jié)點相連。當簇頭節(jié)點出現(xiàn)故障時,通過簇頭選舉算法將選擇同一個簇內其他物聯(lián)網節(jié)點作為新的簇頭。因此,每一個簇內的物聯(lián)網節(jié)點與對應的簇頭進行通信,屬于并行系統(tǒng),簇頭節(jié)點跟網關節(jié)點的通信路由屬于串行系統(tǒng),所有的通信路由進一步組成了并行系統(tǒng)。
記一個簇中的物聯(lián)網節(jié)點數(shù)為YB,整個簇的可用度可以表示為:
記W為整個簇形物聯(lián)網中所有路由的條數(shù),則整個簇形物聯(lián)網可用度
物聯(lián)網入侵檢測系統(tǒng)的檢測率β和誤報率γ的變化會影響物聯(lián)網節(jié)點可用度,為了分析其影響程度,根據物聯(lián)網入侵檢測系統(tǒng)的實際檢測率和誤報率變化情況,實驗設置檢測率β變化的范圍為80%~ 98%,誤報率γ變化的范圍為2%~ 20%。實驗結果如圖2 所示。
圖2 物聯(lián)網入侵檢測系統(tǒng)檢測率和誤報率變化下的物聯(lián)網節(jié)點可用度
從圖2 可以看出,在誤報率相同的情況下,物聯(lián)網節(jié)點可用度隨著檢測率的增大而增大。例如,當誤報率γ=10%時,隨著檢測率從80%提高到98%,物聯(lián)網節(jié)點可用度從約34.56%提升到約41.18%。而在檢測率相同的情況下,物聯(lián)網節(jié)點可用度隨著誤報率的減小而增大。例如,當檢測率β=90%時,隨著誤報率從20%降低到2%,物聯(lián)網節(jié)點可用度從約34.44% 提升到約41.28%。實驗結果反映了在實際物聯(lián)網應用中,為了提高物聯(lián)網節(jié)點可用度,應盡量提高物聯(lián)網入侵檢測系統(tǒng)的檢測率并且降低其誤報率。
由式(26)可知,星形物聯(lián)網可用度主要與總的節(jié)點數(shù)和正常工作的節(jié)點數(shù)密切相關,因此,實驗在設定物聯(lián)網入侵檢測系統(tǒng)檢測率和誤報率不變的情況下,分析物聯(lián)網總節(jié)點數(shù)和正常工作節(jié)點數(shù)變化對整個星形物聯(lián)網可用度的影響。實驗結果如圖3 所示。
圖3 物聯(lián)網總節(jié)點數(shù)和正常工作節(jié)點數(shù)變化下的星形物聯(lián)網可用度
從圖3 可以看出,在物聯(lián)網總節(jié)點數(shù)不變的情況下,增加正常工作節(jié)點數(shù)能顯著提升星形物聯(lián)網可用度。例如,當物聯(lián)網總節(jié)點數(shù)Y=25 時,若正常工作節(jié)點數(shù)小于10,星形物聯(lián)網可用度低于10%,基本處于不可用狀態(tài);若正常工作節(jié)點數(shù)從10 逐步增加到20,星形物聯(lián)網可用度從約10%快速增加到約100%。而在物聯(lián)網正常工作節(jié)點數(shù)不變的情況下,增加物聯(lián)網總節(jié)點數(shù)將降低整個星形物聯(lián)網的可用度。例如,當物聯(lián)網正常工作節(jié)點數(shù)g=15 時,若物聯(lián)網總節(jié)點數(shù)Y分別為20、25、30,則整個星形物聯(lián)網的可用度分別約為97.40%、71.39%、30.19%。實驗結果反映了在星形物聯(lián)網中,保證合理的正常工作節(jié)點數(shù)是提高星形物聯(lián)網可用度的關鍵,同時反映了提出的星形物聯(lián)網可用度評估方法能給出合理的正常工作節(jié)點數(shù)建議,從而為提高星形物聯(lián)網可用度提供理論指導。
由式(29)可知,簇形物聯(lián)網可用度主要與路由數(shù)和簇中物聯(lián)網節(jié)點數(shù)密切相關,因此,實驗在設定物聯(lián)網入侵檢測系統(tǒng)檢測率和誤報率不變的情況下,分析路由數(shù)和簇中物聯(lián)網節(jié)點數(shù)變化對整個簇形物聯(lián)網可用度的影響。實驗結果如圖4 所示。
圖4 路由數(shù)和簇中物聯(lián)網節(jié)點數(shù)變化下的簇形物聯(lián)網可用度
從圖4 可以看出,在簇形物聯(lián)網中,改變簇中物聯(lián)網節(jié)點個數(shù)對整個簇形物聯(lián)網可用度影響有限,而改變物聯(lián)網中路由數(shù)對整個簇形物聯(lián)網可用度影響巨大。例如,當簇中物聯(lián)網節(jié)點個數(shù)YB= 10時,若物聯(lián)網中路由數(shù)從1 增加到5,則簇形物聯(lián)網可用度從約40.02% 增加到約92.23%;若物聯(lián)網中路由數(shù)繼續(xù)從5 增加到10,則簇形物聯(lián)網可用度從約92.23%增加到100%。實驗結果反映了在簇形物聯(lián)網中,保證合理的路由數(shù)是提高簇形物聯(lián)網可用度的關鍵,同時反映了提出的簇形物聯(lián)網可用度評估方法能給出合理的路由數(shù)建議,從而為提高簇形物聯(lián)網可用度提供理論指導。
本文通過擴展傳統(tǒng)的傳染病模型,基于能表達物聯(lián)網節(jié)點狀態(tài)轉換的馬爾可夫鏈,提出了一種惡意程序傳播環(huán)境下的物聯(lián)網可用度評估方法。經過擴展后得到的SEIRD 物聯(lián)網節(jié)點狀態(tài)轉換模型,能確切地反映惡意程序傳播環(huán)境下的物聯(lián)網節(jié)點狀態(tài)。分析得到的物聯(lián)網節(jié)點處于各個狀態(tài)的概率動力學方程反映了物聯(lián)網節(jié)點各個狀態(tài)之間的動態(tài)變化過程,進一步得到的馬爾可夫矩陣為計算物聯(lián)網節(jié)點可用度奠定了基礎。最終得到的星形和簇形物聯(lián)網可用度評估方法能為管理員合理部署正常工作節(jié)點數(shù)、路由數(shù)提供建議,從而提高星形和簇形物聯(lián)網的可用度,對促進物聯(lián)網的成功應用具有理論指導意義。