張和偉, 王奉章
(棗莊科技職業(yè)學院, 山東 棗莊 277599)
現(xiàn)如今,網(wǎng)絡(luò)安全問題已引起社會高度關(guān)注,如黑客、病毒、木馬等網(wǎng)絡(luò)攻擊手段,不僅可能直接牽涉到普通網(wǎng)民的個人隱私安全,也還會對信息的基礎(chǔ)設(shè)施、物聯(lián)網(wǎng)、大數(shù)據(jù)的安全等諸多領(lǐng)域產(chǎn)生重要影響,因而亟需采取全方位和多層次的防御手段,保障網(wǎng)絡(luò)安全。
近年來,國內(nèi)學術(shù)界在追求即時通信網(wǎng)絡(luò)安全方面付出了巨大的努力,林若欽等學者[1]提出基于可變形卷積神經(jīng)網(wǎng)絡(luò)的軟件漏洞檢測算法,以可變形卷積神經(jīng)網(wǎng)絡(luò)為技術(shù)支持,設(shè)計一個漏洞檢測方法,保障系統(tǒng)運行安全。 馬琪燦等學者[2]提出基于狀態(tài)偏離分析的Web 訪問控制漏洞檢測方法,將Web 訪問控制漏洞的檢測轉(zhuǎn)換為狀態(tài)偏離的檢測,降低了漏洞檢測的誤報率與漏報率。 但是,由于即時通信網(wǎng)絡(luò)本身具有一定的復雜性,且節(jié)點能量受限,上述方法在即時通信網(wǎng)絡(luò)安全漏洞檢測中均存在檢測精準度不高的問題,所以仍無法避免即時通信網(wǎng)絡(luò)漏洞的產(chǎn)生,惡意攻擊者通過漏洞對即時通信網(wǎng)絡(luò)進行訪問或攻擊,嚴重威脅著即時通信網(wǎng)絡(luò)的運行安全。
為解決上述方法中存在的問題,研究設(shè)計了一種基于被動分簇算法的即時通信網(wǎng)絡(luò)安全漏洞檢測方法,基于被動分簇算法獲取即時通信網(wǎng)絡(luò)節(jié)點,根據(jù)節(jié)點相對位置確定安全弧序列,從而得到節(jié)點漏洞弧段,通過蟻群算法檢測出全部節(jié)點安全漏洞弧,實現(xiàn)完整安全漏洞的定位。 提高了漏洞檢測的精準度,將即時通信網(wǎng)絡(luò)安全漏洞的檢測作為研究課題,旨在高效、全面地維護網(wǎng)絡(luò)安全。
被動分簇算法是一種基于被動感知的即時通信網(wǎng)絡(luò)分簇算法,其原理是通過監(jiān)聽網(wǎng)絡(luò)流量和節(jié)點之間的交互信息,自動識別和分類網(wǎng)絡(luò)節(jié)點,將其歸屬到不同的簇中。 該算法不需要節(jié)點主動加入或離開簇,而是通過感知節(jié)點之間的通信來實現(xiàn)簇的形成和維護。
為了更好地檢測即時通信網(wǎng)絡(luò)安全漏洞,首先需要構(gòu)建一個即時通信網(wǎng)絡(luò)安全漏洞模型[3]。 假設(shè)即時通信網(wǎng)絡(luò)的特定區(qū)域內(nèi)存在多個監(jiān)測節(jié)點,且每一個節(jié)點隨機部署于即時通信網(wǎng)絡(luò)中,均處于靜止不動的狀態(tài),一般情況下,各節(jié)點的最大通信半徑為最大監(jiān)測半徑的2 倍,以此為初始條件,構(gòu)建一個即時通信網(wǎng)絡(luò)安全漏洞模型,如圖1 所示。
圖1 即時通信網(wǎng)絡(luò)安全漏洞模型Fig. 1 A security vulnerability model for instant communication networks
由圖1 可以看出,該模型利用一個圓形區(qū)域來表示即時通信網(wǎng)絡(luò)的特定區(qū)域,其中有多個監(jiān)測節(jié)點用小圓點表示,這些節(jié)點隨機分布于該區(qū)域內(nèi),可以更好地定位即時通信網(wǎng)絡(luò)中的安全漏洞,有效提高即時通信網(wǎng)絡(luò)的安全性。 如果想要檢測即時通信網(wǎng)絡(luò)安全漏洞所在位置,必須確定漏洞的最小周期循環(huán),而最小周期循環(huán)主要由各節(jié)點的漏洞邊緣弧段所構(gòu)成。 因此,在檢測即時通信網(wǎng)絡(luò)安全漏洞時,可以通過安全漏洞弧序列的檢測來實現(xiàn)。
當即時通信網(wǎng)絡(luò)的節(jié)點失效,就會形成安全漏洞,然而失效節(jié)點的精確位置信息是未知的,所以在利用安全漏洞弧檢測即時通信網(wǎng)絡(luò)安全漏洞時,本文需要通過被動分簇算法來確定可能出現(xiàn)漏洞的即時通信網(wǎng)絡(luò)節(jié)點[4-6]。 在即時通信網(wǎng)絡(luò)的簇內(nèi),如果網(wǎng)絡(luò)節(jié)點失效,將無法再處理任何數(shù)據(jù),需要通過中間節(jié)點進行信息傳輸,所以即時通信網(wǎng)絡(luò)節(jié)點形成安全漏洞的概率為:
其中,Q(x) 表示即時通信網(wǎng)絡(luò)節(jié)點x變成失效節(jié)點的概率;η表示比率系數(shù);S(x) 表示即時通信網(wǎng)絡(luò)節(jié)點x映射范圍內(nèi)簇首數(shù)量。
在檢測即時通信網(wǎng)絡(luò)安全漏洞時可以通過漏洞弧段來實現(xiàn),所以根據(jù)即時通信網(wǎng)絡(luò)節(jié)點來確定安全漏洞弧序列[7]。 由圖1 可知,即時通信網(wǎng)絡(luò)節(jié)點為隨機分布,在獲得節(jié)點相對位置時,需要以節(jié)點為極坐標的極點,并將經(jīng)過節(jié)點的射線當作極軸,即時通信網(wǎng)絡(luò)節(jié)點的相對位置關(guān)系如圖2 所示。
圖2 即時通信網(wǎng)絡(luò)節(jié)點的相對位置關(guān)系Fig. 2 The relative position relationship of instant messaging network nodes
由圖2 可知道,以節(jié)點4 為例,首先將經(jīng)過節(jié)點4 的水平射線設(shè)為X軸,經(jīng)過節(jié)點4 的垂直射線設(shè)為Y軸,這樣就可以獲取節(jié)點4 與其余鄰近節(jié)點之間的距離,但僅依靠該距離無法直接確定各個節(jié)點的位置信息,所以本文通過虛擬移動準確得到各個節(jié)點之間的相對位置關(guān)系[8]。 簡單來說,就是將即時通信網(wǎng)絡(luò)節(jié)點4 沿著水平坐標軸,向另一個節(jié)點方向虛擬移動一定距離,此時,可以得到2 個節(jié)點之間的另一條線段,與原始線段之間的夾角設(shè)為?,然后以同樣的方法控制即時通信網(wǎng)絡(luò)節(jié)點4 沿著垂直坐標軸,向節(jié)點方向虛擬移動一定距離,得到線段與原始線段之間的夾角為ζ,如圖3 所示。
圖3 相鄰網(wǎng)絡(luò)節(jié)點的相對位置關(guān)系Fig. 3 Relpositional relationships of adjacent network nodes
由圖3 可知,此時根據(jù)即時通信網(wǎng)絡(luò)節(jié)點虛擬移動得到的2 個虛擬節(jié)點,即可獲取節(jié)點4 與節(jié)點5 的相對位置,假設(shè)節(jié)點5 相對于節(jié)點4 的位置信息為〈d1,?〉,其中d1為2 個節(jié)點之間的相對距離,那么此時夾角?與ζ滿足如下關(guān)系:
根據(jù)上述步驟即可求得各個即時通信網(wǎng)絡(luò)節(jié)點的相對位置信息,在節(jié)點感知半徑已知的情況下,根據(jù)式(3)可以計算出相鄰2 個節(jié)點的安全漏洞弧長:
其中,Lij表示2 個相鄰即時通信網(wǎng)絡(luò)節(jié)點i與j之間的安全漏洞弧長;dij表示相鄰即時通信網(wǎng)絡(luò)節(jié)點i與j之間的相對距離;r表示即時通信網(wǎng)絡(luò)節(jié)點的感知半徑。 根據(jù)式(3)所求安全漏洞弧長,即可得到安全漏洞弧的方位角信息由圖1 可知,各相鄰節(jié)點的監(jiān)測范圍存在相交現(xiàn)象,且每一個節(jié)點的2 段安全漏洞弧也相交,所以各相鄰兩節(jié)點之間的距離不會超過即時通信網(wǎng)絡(luò)節(jié)點感知半徑的2 倍,此時根據(jù)各節(jié)點之間的距離信息,即可確定即時通信網(wǎng)絡(luò)節(jié)點被鄰近節(jié)點所安全漏洞的弧序列,而未被鄰近節(jié)點所安全漏洞的弧序列則為漏洞弧段,用于檢測即時通信網(wǎng)絡(luò)安全漏洞。
通過上述計算可以得到即時通信網(wǎng)絡(luò)的、也就是漏洞弧段,在此基礎(chǔ)上通過對各個邊緣節(jié)點的遍歷,即可得到全部的安全漏洞弧,以此實現(xiàn)即時通信網(wǎng)絡(luò)安全漏洞檢測[9]。 本文引入蟻群算法來檢測出即時通信網(wǎng)絡(luò)節(jié)點的全部漏洞弧段信息,進而定位出即時通信網(wǎng)絡(luò)的安全漏洞[10]。 在蟻群搜索過程中,主要根據(jù)下面給出的概率公式來確定下一個遍歷網(wǎng)絡(luò)節(jié)點:
其中,(t) 表示t時刻螞蟻m由即時通信網(wǎng)絡(luò)節(jié)點u轉(zhuǎn)移至節(jié)點v的概率;αuv表示即時通信網(wǎng)絡(luò)節(jié)點u與v之間路徑上的信息素濃度;luv表示即時通信網(wǎng)絡(luò)節(jié)點u與v之間的直線距離;Bz表示即時通信網(wǎng)絡(luò)節(jié)點u的鄰近節(jié)點z的標簽值;ε表示蟻群信息素的加權(quán)因子;ω表示節(jié)點標簽值的加權(quán)因子;ζ表示節(jié)點u與v之間直線距離的加權(quán)因子;Yu表示即時通信網(wǎng)絡(luò)節(jié)點u的鄰近節(jié)點中未被蟻群遍歷過的節(jié)點集合。 一般情況下,蟻群在搜索即時通信網(wǎng)絡(luò)節(jié)點安全漏洞弧時,會根據(jù)節(jié)點的標簽值來選取下一個遍歷節(jié)點,也就是節(jié)點標簽值越大,其被遍歷的可能性越大。 與此同時,在蟻群搜索即時通信網(wǎng)絡(luò)節(jié)點安全漏洞弧的過程中,會根據(jù)信息素濃度的變化來定位安全漏洞的位置,其表達式如下:
其中,ρ表示螞蟻信息素的揮發(fā)系數(shù);N表示即時通信網(wǎng)絡(luò)節(jié)點u與v之間路徑上的信息素增量。在蟻群遍歷即時通信網(wǎng)絡(luò)節(jié)點的過程中,所搜索到的信息素濃度較高的節(jié)點,會形成一個最小周期環(huán),也就是全部安全漏洞弧段,所以等到全部螞蟻遍歷即時通信網(wǎng)絡(luò)節(jié)點完畢之后,就可以定位出完整安全漏洞的位置,從而實現(xiàn)即時通信網(wǎng)絡(luò)安全漏洞的檢測。
在Matlab 軟件中,隨機部署一個即時通信網(wǎng)絡(luò)進行仿真,其具體的實驗參數(shù)布置見表1。
表1 實驗參數(shù)設(shè)置Tab. 1 Experimental parameter settings
以表1 的數(shù)據(jù)作為研究基礎(chǔ),以基于可變形卷積神經(jīng)網(wǎng)絡(luò)的即時通信網(wǎng)絡(luò)安全漏洞檢測方法[1]、基于狀態(tài)偏離分析的即時通信網(wǎng)絡(luò)安全漏洞檢測方法[2]作為對照組,與本文設(shè)計方法一起進行對比實驗,并根據(jù)對比結(jié)果來判斷本文方法是否可行。
由于本文將被動分簇算法應(yīng)用于即時通信網(wǎng)絡(luò)安全漏洞檢測時,主要是在網(wǎng)絡(luò)節(jié)點的位置信息上進行的,所以本次仿真實驗過程中在200 m?200 m的矩形區(qū)域內(nèi),隨機部署10、20、30、50、80、100 個漏洞節(jié)點,形成6 個安全漏洞檢測場景,在每一個場景下分別執(zhí)行上述3 種檢測方法,并統(tǒng)計各方法的檢測準確率。 即時通信網(wǎng)絡(luò)安全漏洞檢測對比結(jié)果如圖4 所示。
圖4 即時通信網(wǎng)絡(luò)安全漏洞檢測結(jié)果對比圖Fig. 4 Comparison of instant messaging network security vulnerability detection results
由圖4 可知,隨著即時通信網(wǎng)絡(luò)安全漏洞節(jié)點數(shù)量的增加,可變形卷積網(wǎng)絡(luò)與狀態(tài)偏離分析方法下的檢測準確率呈下降趨勢,而本文設(shè)計方法下的檢測準確率整體處于較為穩(wěn)定的狀態(tài)。 在上述6 個即時通信網(wǎng)絡(luò)安全漏洞檢測場景中,本文設(shè)計方法的檢測準確率的平均值為96.9%,較實驗對照組方法分別提高了10.1%、15.6%,由此可以說明本文設(shè)計方法更具優(yōu)越性,驗證了被動分簇算法在即時通信網(wǎng)絡(luò)安全漏洞檢測中應(yīng)用效果良好。
為了進一步驗證本文方法的可行性,選取即時通信網(wǎng)絡(luò)安全漏洞檢測耗時作為指標,采用基于可變形卷積神經(jīng)網(wǎng)絡(luò)的即時通信網(wǎng)絡(luò)安全漏洞檢測方法[1]、基于狀態(tài)偏離分析的即時通信網(wǎng)絡(luò)安全漏洞檢測方法[2]以及本文方法對即時通信網(wǎng)絡(luò)安全漏洞進行檢測,對比其檢測效率,其檢測耗時越短、效率越高。 對比結(jié)果見表2。
表2 3 種方法作用下網(wǎng)絡(luò)安全漏洞檢測的耗時對比Tab. 2 Time-consuming comparison of network security vulnerability detection under the action of the three methods
分析表2 可知,與2 種現(xiàn)有方法相比,本文方法的耗時僅需20 s,實現(xiàn)了大幅度的降低??梢缘贸鲈摲椒梢愿焖?、更準確地檢測出即時通信網(wǎng)絡(luò)中的安全漏洞,從而提高即時通信網(wǎng)絡(luò)的安全性。
本文結(jié)合被動分簇算法,針對即時通信網(wǎng)絡(luò)安全漏洞檢測問題進行了深入研究和創(chuàng)新性工作,在文中所設(shè)計即時通信網(wǎng)絡(luò)安全漏洞檢測方法中,依賴于網(wǎng)絡(luò)節(jié)點與安全漏洞弧,采用被動分簇算法完成安全漏洞弧的計算后,利用蟻群算法實現(xiàn)安全漏洞的檢測,并通過仿真實驗驗證了本文設(shè)計即時通信網(wǎng)絡(luò)安全漏洞檢測方法的可行性與可靠性。 雖然本文已經(jīng)取得一定研究成果,但在即時通信網(wǎng)絡(luò)安全漏洞檢測過程中,易發(fā)生邊界節(jié)點過早死亡的現(xiàn)象,所以未來將針對漏洞邊界節(jié)點的調(diào)度方法做進一步的研究,以此延長即時通信網(wǎng)絡(luò)的生命周期,推動即時通信網(wǎng)絡(luò)可持續(xù)發(fā)展。