張江山,熊哲源
(1. 江西警察學(xué)院科技與信息安全系,江西 南昌 330100;2. 江西中醫(yī)藥大學(xué)計(jì)算機(jī)學(xué)院,江西 南昌 330100)
無線傳感網(wǎng)絡(luò)[1]作為應(yīng)用范圍最廣、通信能力最強(qiáng)的節(jié)點(diǎn)聯(lián)通性網(wǎng)絡(luò),因具備優(yōu)越的網(wǎng)絡(luò)服務(wù)質(zhì)量,被廣泛應(yīng)用于航空航天、醫(yī)療衛(wèi)生、機(jī)械制造、自然災(zāi)害預(yù)防等多個(gè)領(lǐng)域。無線傳感網(wǎng)絡(luò)的好壞并不僅與其拓?fù)浣Y(jié)構(gòu)和網(wǎng)絡(luò)抗毀性[2]相關(guān),在惡意攻擊隨處可見的復(fù)雜網(wǎng)絡(luò)體系中,無論是以迂回路由等形式聯(lián)通的大規(guī)模無線傳感網(wǎng)絡(luò),還是以相鄰鏈路等形式聯(lián)通的小規(guī)模無線傳感網(wǎng)絡(luò),均易出現(xiàn)多重連通覆蓋漏洞,因此無線傳感網(wǎng)絡(luò)的好壞還與覆蓋漏洞的面積和嚴(yán)重程度相關(guān)。
由于覆蓋漏洞直接降低無線傳感網(wǎng)絡(luò)的可靠性和連通性,因此諸多相關(guān)人員已積極投入到無線傳感網(wǎng)多重連通覆蓋漏洞修復(fù)方法的研究當(dāng)中。周鵬[3]等人提出一種基于補(bǔ)丁代碼的Linux安全漏洞修復(fù)補(bǔ)丁自動(dòng)識(shí)別方法。通過安全監(jiān)測(cè)服務(wù)及時(shí)搜索無線傳感網(wǎng)絡(luò)覆蓋漏洞,并根據(jù)覆蓋漏洞的定義特征擇選補(bǔ)丁代碼,通過將補(bǔ)丁代碼輸入以Linux內(nèi)核為基礎(chǔ)構(gòu)建的機(jī)器學(xué)習(xí)模型,實(shí)現(xiàn)無線傳感網(wǎng)多重連通覆蓋漏洞修復(fù)。關(guān)志艷[4]等人提出基于有向概率感知的有向傳感器網(wǎng)絡(luò)覆蓋優(yōu)化方法。通過有向概率感知模型識(shí)別無線傳感網(wǎng)絡(luò)節(jié)點(diǎn)衰減程度,計(jì)算衰減程度較為嚴(yán)重的節(jié)點(diǎn)的轉(zhuǎn)向角度,實(shí)現(xiàn)無線傳感網(wǎng)多重連通覆蓋漏洞修復(fù)。王婷[5]等人通過節(jié)點(diǎn)收斂速度推導(dǎo)連續(xù)通信任務(wù)下覆蓋漏洞的勢(shì)場(chǎng)吸附力,通過縮小吸附引力和吸附斥力對(duì)抗明顯的虛擬勢(shì)場(chǎng),實(shí)現(xiàn)無線傳感網(wǎng)多重連通覆蓋漏洞修復(fù)。但是,以上幾種方法無法計(jì)算節(jié)點(diǎn)的能量差,導(dǎo)致其應(yīng)用適用性不夠理想。
覆蓋漏洞是無線傳感網(wǎng)的空白區(qū)域,通常是由于節(jié)點(diǎn)連通不合理或入侵攻擊造成的,漏洞區(qū)域的節(jié)點(diǎn)能量耗盡,嚴(yán)重影響無線傳感網(wǎng)的連通性。為此,提出無線傳感網(wǎng)多重連通覆蓋漏洞修復(fù)方法。
無線傳感網(wǎng)絡(luò)(WSN)[6]同時(shí)具備網(wǎng)絡(luò)通信、驅(qū)動(dòng)控制、指令跟蹤、數(shù)據(jù)存儲(chǔ)等能力。無線傳感網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 無線傳感網(wǎng)絡(luò)結(jié)構(gòu)
如圖1可見,無線傳感網(wǎng)絡(luò)由傳感器節(jié)點(diǎn)[7]、控制器[8]和通信執(zhí)行裝置共同組成。其中,傳感器節(jié)點(diǎn)作為體積小、數(shù)量大、功耗低的核心結(jié)構(gòu),起到收發(fā)通信任務(wù)、傳遞通信協(xié)議[9]的作用??刂破鞯墓δ茌^為復(fù)雜,能夠監(jiān)測(cè)傳輸?shù)刂?保護(hù)通信芯片[10]安全運(yùn)行。通信任務(wù)傳輸公式如下
(1)
式中,xn表示無線傳感網(wǎng)絡(luò)完全配置所需要的時(shí)間;xm表示單周期任務(wù)指令;n表示串行收發(fā)信號(hào);m表示指令任務(wù)量;α表示多周期任務(wù)指令;f2表示無線傳感網(wǎng)絡(luò)輸入信道;e表示無線傳感網(wǎng)絡(luò)輸出信道。
由此可得通信協(xié)議公式如下
(2)
式中,ro表示通訊沖突;rij表示RF射頻通信頻率;dref表示調(diào)頻協(xié)議;s表示通訊信號(hào)的能量;β表示校驗(yàn)異常的無線傳感網(wǎng)絡(luò)節(jié)點(diǎn);v′表示網(wǎng)絡(luò)運(yùn)行速率。
通信中斷位置定位公式如下
(3)
為提取出傳感網(wǎng)的漏洞,構(gòu)建節(jié)點(diǎn)間通信傳輸距離的協(xié)調(diào)模型為
(4)
未參與目標(biāo)任務(wù)調(diào)度的傳感網(wǎng)的漏洞可表示為
(5)
式中,Eij表示節(jié)點(diǎn)序列碼;j表示節(jié)點(diǎn)極坐標(biāo);δ2表示節(jié)點(diǎn)虛擬位置信息;yij表示節(jié)點(diǎn)感知半徑;m表示節(jié)點(diǎn)通信半徑。
基于提取出的傳感網(wǎng)漏洞,以無線傳感網(wǎng)絡(luò)結(jié)構(gòu)為基礎(chǔ),構(gòu)建漏洞區(qū)域的通信執(zhí)行模型。在無線傳感網(wǎng)絡(luò)實(shí)際運(yùn)行中,無線傳感網(wǎng)絡(luò)的節(jié)點(diǎn)負(fù)載受到隨機(jī)部署機(jī)制的影響,存在節(jié)點(diǎn)負(fù)載不均勻的問題。當(dāng)同一傳感器節(jié)點(diǎn)被反復(fù)激活,該節(jié)點(diǎn)就會(huì)因?yàn)樨?fù)載過盈而提早耗盡初始能量。無能量的傳感器節(jié)點(diǎn)又稱休眠節(jié)點(diǎn),與能量充足的傳感器節(jié)點(diǎn)不同,這類節(jié)點(diǎn)喪失通信能力,成為無線傳感網(wǎng)絡(luò)中零信息支持的無效節(jié)點(diǎn),多個(gè)休眠節(jié)點(diǎn)所處的無線傳感網(wǎng)絡(luò)區(qū)域被視為零信息支持的無效網(wǎng)絡(luò)區(qū)域,即覆蓋漏洞。節(jié)點(diǎn)負(fù)載的計(jì)算公式如下
Q=1-[(ρ-tconfidentiality)×(c2-tint egrity)×(c3-tavailability)]
(6)
式中,ρ表示傳感器節(jié)點(diǎn)部署密度;tconfidentiality表示無線傳感網(wǎng)絡(luò)的空間平滑性;c2表示鄰近節(jié)點(diǎn)的相對(duì)位置;tint egrity表示傳感器節(jié)點(diǎn)的初始能量;c3表示單純激活序列;tavailability表示一次通信激活的網(wǎng)絡(luò)半徑。
利用節(jié)點(diǎn)負(fù)載設(shè)置隨機(jī)部署機(jī)制為
(7)
隨機(jī)部署機(jī)制下的休眠節(jié)點(diǎn)的表達(dá)式如下
(8)
式中,τ表示休眠節(jié)點(diǎn)的單位向量;Vres表示節(jié)點(diǎn)中已丟失的通信數(shù)據(jù);υj表示節(jié)點(diǎn)中未丟失的通信數(shù)據(jù);Vo表示休眠節(jié)點(diǎn)最大特征值;αj表示休眠節(jié)點(diǎn)占總節(jié)點(diǎn)的比例。
覆蓋漏洞的表達(dá)式如下
(9)
式中,γ表示攻防雙方在單個(gè)節(jié)點(diǎn)上的博弈策略;rα表示網(wǎng)絡(luò)漏洞信息;umax表示攻防對(duì)峙時(shí)長(zhǎng);γn+1表示傳感網(wǎng)漏洞安全應(yīng)急響應(yīng)的時(shí)間成本;b表示攻擊復(fù)雜度。
在無線傳感網(wǎng)絡(luò)多重連通覆蓋漏洞中,不僅傳感器節(jié)點(diǎn)喪失基本通信能力,該區(qū)域的控制器和通信執(zhí)行裝置也無法發(fā)揮正常作用。相較于通信活躍的已覆蓋區(qū)域,覆蓋漏洞由于失去傳感器節(jié)點(diǎn)、控制器、通信執(zhí)行裝置的支持,極易受到惡意軟件[11]或黑客的攻擊,這些攻擊所造成的后果并不僅僅是網(wǎng)站權(quán)限被盜取、數(shù)據(jù)被篡改,還可能是隱私信息泄露、身份盜用、目標(biāo)群體接收到大量垃圾信息或用戶服務(wù)器被劫持等,但無論覆蓋漏洞在惡意攻擊下表現(xiàn)為哪種危害性后果,一旦源代碼[12]丟失,無線傳感網(wǎng)絡(luò)將陷入無法解決的長(zhǎng)期癱瘓狀態(tài)。覆蓋漏洞區(qū)域的控制器和通信執(zhí)行模型
(10)
式中,ai表示傳輸?shù)刂钒踩┒?aj表示通信芯片權(quán)限移除;ζ表示節(jié)點(diǎn)間通信傳輸?shù)臄M態(tài)距離;i′表示傳感器節(jié)點(diǎn)牽引阻力;φ表示一次攻擊動(dòng)作帶來的阻擊增益。
通常情況下,無線傳感網(wǎng)多重連通覆蓋漏洞是由弧形邊界組成的一個(gè)或多個(gè)不規(guī)則的泰森多邊形[13],根據(jù)覆蓋漏洞形成的原因,可知泰森多邊形內(nèi)部能量缺失,且節(jié)點(diǎn)間通信關(guān)系不成立。想要通過修復(fù)無線傳感網(wǎng)多重連通覆蓋漏洞的方式提高網(wǎng)絡(luò)通信能力,需要優(yōu)先發(fā)現(xiàn)無線傳感網(wǎng)絡(luò)內(nèi)存在能量缺失、通信失效的覆蓋漏洞,并獲取該漏洞的位置信息和面積信息。由于已覆蓋區(qū)域的傳感器節(jié)點(diǎn)能量明顯超過覆蓋漏洞的傳感器節(jié)點(diǎn)能量,因此可以通過計(jì)算鄰域節(jié)點(diǎn)能量差,篩選出能量缺失明顯的網(wǎng)絡(luò)區(qū)域,以達(dá)到發(fā)現(xiàn)無線傳感網(wǎng)多重連通覆蓋漏洞的目的。鄰域節(jié)點(diǎn)能量差的計(jì)算公式如下
(11)
式中,j′表示鄰域節(jié)點(diǎn)的給定約束條件;ε2表示鄰域節(jié)點(diǎn)在水平方向上的距離;αm表示鄰域節(jié)點(diǎn)在垂直方向上的距離;βm表示單個(gè)節(jié)點(diǎn)能量。
將傳感器節(jié)點(diǎn)映射至二維平面圖中,通過確定節(jié)點(diǎn)在平面圖中的地理位置[14],推測(cè)覆蓋漏洞在平面圖中的位置信息。鄰域節(jié)點(diǎn)在平面圖中的位置關(guān)系和覆蓋漏洞在平面圖中的位置信息如圖2所示。
圖2 鄰域節(jié)點(diǎn)在平面圖中的位置關(guān)系和覆蓋漏洞在平面圖中的位置信息
以二維平面圖中覆蓋漏洞的幾何結(jié)構(gòu)為基礎(chǔ),計(jì)算覆蓋漏洞的實(shí)際面積。覆蓋漏洞的面積公式如下
(12)
式中,Δs表示弧形邊界的周長(zhǎng);s1表示覆蓋漏洞的幾何結(jié)構(gòu);A表示不規(guī)則區(qū)域的重疊面積;A表示以傳感器節(jié)點(diǎn)為中心的感知圓面積;s2表示鄰域感知圓的圓心距。
考慮到節(jié)點(diǎn)失效存在概率抽樣特征,因此無法在覆蓋漏洞出現(xiàn)前確定其位置信息和面積信息。為了應(yīng)對(duì)無線傳感網(wǎng)多重覆蓋漏洞的多樣性,提出三種覆蓋漏洞修復(fù)策略,即平均修復(fù)、偏好修復(fù)、重點(diǎn)修復(fù)。
1)平均修復(fù)
平均修復(fù)針對(duì)鏈路[15]和鏈路交換環(huán)全部故障的小面積網(wǎng)狀覆蓋漏洞,主要通過將修復(fù)因子平均分配到各鏈路和鏈路交換環(huán),實(shí)現(xiàn)覆蓋漏洞的修復(fù)。平均修復(fù)的表達(dá)式如下
(13)
式中,ns表示節(jié)點(diǎn)鏈路聚集系數(shù);pz表示鏈路交換環(huán)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu);l2表示單向路徑網(wǎng)絡(luò)交換;ki表示雙向路徑網(wǎng)絡(luò)交換。
2)偏好修復(fù)
偏好修復(fù)針對(duì)沒有涉及網(wǎng)絡(luò)本身流量的短路徑小面積樹狀覆蓋漏洞,主要通過將修復(fù)因子分配到各樹狀分支,實(shí)現(xiàn)覆蓋漏洞的修復(fù)。偏好修復(fù)的表達(dá)式如下
W=bm·lnSij
(14)
式中,bm表示單個(gè)樹狀分支包含的修復(fù)因子數(shù);Sij表示網(wǎng)絡(luò)流量波動(dòng)范圍。
3)重點(diǎn)修復(fù)
重點(diǎn)修復(fù)針對(duì)對(duì)網(wǎng)絡(luò)安全構(gòu)成嚴(yán)重威脅的大面積連通片覆蓋漏洞,主要通過將修復(fù)因子按照節(jié)點(diǎn)連通度大小依次分配,實(shí)現(xiàn)覆蓋漏洞的修復(fù)。重點(diǎn)修復(fù)的表達(dá)式如下
(15)
采用Web服務(wù)器訪問無線傳感網(wǎng)絡(luò),并利用DMZ外設(shè)裝置拆除該網(wǎng)絡(luò)自帶的防火墻。通過向無線傳感網(wǎng)絡(luò)發(fā)送惡意攻擊代碼,增加網(wǎng)絡(luò)內(nèi)傳感器節(jié)點(diǎn)負(fù)載,使部分節(jié)點(diǎn)能量耗盡,達(dá)到人為制造無線傳感網(wǎng)多重連通覆蓋漏洞的目的。以存在覆蓋漏洞的無線傳感網(wǎng)絡(luò)為實(shí)驗(yàn)對(duì)象,網(wǎng)格區(qū)域?yàn)?m×9m,節(jié)點(diǎn)部署與多邊形覆蓋漏洞的示意圖如圖3所示:
圖3 節(jié)點(diǎn)部署與多邊形覆蓋漏洞的示意圖
根據(jù)圖3可知,在實(shí)驗(yàn)設(shè)置的無線傳感網(wǎng)區(qū)域內(nèi),出現(xiàn)了兩個(gè)覆蓋漏洞,采用所提方法、文獻(xiàn)[3]提出的基于補(bǔ)丁代碼的傳感網(wǎng)絡(luò)漏洞修復(fù)方法和文獻(xiàn)[4]提出的基于有向概率感知的傳感網(wǎng)絡(luò)漏洞修復(fù)方法來修復(fù)實(shí)驗(yàn)對(duì)象的覆蓋漏洞,判斷不同方法的應(yīng)用性能,具體所得結(jié)果如圖4所示。
圖4 不同方法的修復(fù)效果
如圖4可見,采用所提方法修復(fù)無線傳感網(wǎng)多重連通覆蓋漏洞,其覆蓋漏洞修復(fù)完善,無空洞殘留,說明所提方法的修復(fù)性能較強(qiáng)。利用文獻(xiàn)方法修復(fù)傳感網(wǎng)絡(luò)漏洞時(shí),網(wǎng)絡(luò)仍然存在覆蓋空洞區(qū)域。由此可知所提方法對(duì)無線傳感網(wǎng)多重連通覆蓋漏洞的修復(fù)性能明顯優(yōu)于傳統(tǒng)方法。
為了進(jìn)一步驗(yàn)證所提方法的實(shí)用性,引入均方根誤差作為判斷不同方法修復(fù)精確度的評(píng)估指標(biāo)。均方根誤差越小,說明該方法的修復(fù)數(shù)據(jù)與真實(shí)數(shù)據(jù)的匹配程度越高,該方法的精確度越高。設(shè)置實(shí)驗(yàn)迭代次數(shù)為1000次,統(tǒng)計(jì)不同方法每次迭代的均方根誤差,并對(duì)其求取平均值,結(jié)果如下表1所示。
表1 不同方法的均方根誤差
如表1可見,在1000次迭代實(shí)驗(yàn)后,所提方法的均方根誤差平均值低至0.1%,說明所提方法對(duì)覆蓋漏洞的修復(fù)精確度較高。文獻(xiàn)方法的均方根誤差與所提方法存在較大差距,說明其應(yīng)用效果不夠理想。
覆蓋漏洞作為無線傳感網(wǎng)絡(luò)主動(dòng)或被動(dòng)防御不足所產(chǎn)生的零通信網(wǎng)絡(luò)區(qū)域,不僅會(huì)降低無線傳感網(wǎng)絡(luò)的通信能力,還威脅網(wǎng)絡(luò)用戶的操作安全。為了及時(shí)修復(fù)覆蓋漏洞,提出無線傳感網(wǎng)多重連通覆蓋漏洞修復(fù)方法。如何在保證覆蓋漏洞修復(fù)性能的同時(shí),對(duì)覆蓋漏洞的修復(fù)過程實(shí)時(shí)監(jiān)控,是研究人員下一步工作的重點(diǎn)。