李 梅,朱明宇
(蘇州高博軟件技術(shù)職業(yè)學(xué)院 信息與軟件學(xué)院,江蘇 蘇州 215163)
蟻群算法是一類概率型執(zhí)行算法的統(tǒng)稱,可以用來尋找最優(yōu)路徑[1],以便獲得最準(zhǔn)確的數(shù)值求取結(jié)果。從宏觀角度來看,蟻群算法同時具有啟發(fā)式搜索、數(shù)據(jù)信息正負(fù)反饋、分布式計算等多項應(yīng)用特征,故而其本質(zhì)上始終保留了啟發(fā)式全局優(yōu)化運算的能力。與其他優(yōu)化算法相比,蟻群算法的執(zhí)行遵循正反饋機制,可以在運算過程呈現(xiàn)不斷收斂的約束狀態(tài),并最終使得所選取指標(biāo)參量無限逼近最優(yōu)解。在蟻群算法認(rèn)知中,每一個獨立個體節(jié)點均可以感知外界環(huán)境的變化情況,且隨著外界環(huán)境的不斷改變,個體與個體之間的通訊形式不斷發(fā)生變化[2]。為避免冗余運算步驟的出現(xiàn),蟻群算法對于數(shù)據(jù)信息參量主要采取分布式計算的處理方式,在進行局部搜索時,該方法依據(jù)啟發(fā)式原則提取運算參量,不僅避免求取結(jié)果陷入局部最優(yōu)情況,還在短時間內(nèi),得到準(zhǔn)確的全局最優(yōu)解計算結(jié)果。
無線通信是一種遠(yuǎn)距離傳輸通訊模式,在互聯(lián)網(wǎng)環(huán)境中,節(jié)點與節(jié)點之間傳輸關(guān)系的構(gòu)建依靠網(wǎng)絡(luò)負(fù)載波段,不需借助導(dǎo)體、線纜等實體傳輸結(jié)構(gòu)[3]。該傳輸通訊模式簡單、快捷,但是安全漏洞是無線通信網(wǎng)絡(luò)安全策略中存在的缺陷,在非限制情況下,攻擊性信息參量可以經(jīng)由安全漏洞進入無線通信網(wǎng)絡(luò)內(nèi)部。相關(guān)學(xué)者張杰研究了無線銅線網(wǎng)絡(luò)安全漏洞檢測方法,該方法應(yīng)用了被動分簇算法,根據(jù)模板匹配原則分類處理獲取的無線通信網(wǎng)絡(luò)安全漏洞節(jié)點,根據(jù)相似性參量之間的實值匹配關(guān)系,將待處理數(shù)據(jù)信息分別存儲在既定數(shù)據(jù)庫主機之中[4]。但是該方法在單位時間內(nèi)處理的漏洞信息總量少,難以解決因漏洞數(shù)據(jù)大量累積而造成的通信網(wǎng)絡(luò)運行速率下降的問題。為避免發(fā)生上述情況,提出了基于蟻群算法的無線通信網(wǎng)絡(luò)安全漏洞檢測方法,該方法引入蟻群算法原則,并以此為基礎(chǔ),設(shè)計一種新型的無線通信網(wǎng)絡(luò)安全漏洞檢測方法。以期提高檢測安全漏洞的能力。
蟻群算法的理論概述研究包含最大最小螞蟻系統(tǒng)構(gòu)建、數(shù)學(xué)模型設(shè)計兩個執(zhí)行步驟,本章節(jié)將針對上述內(nèi)容展開研究。
最大最小螞蟻系統(tǒng)是蟻群算法的理論基礎(chǔ),對于待處理信息參量具有“趨同性”約束作用?!摆呁浴痹瓌t是指:最大螞蟻系統(tǒng)會約束待處理信息參量的最大取值結(jié)果,使實值水平不斷趨近于中心值指標(biāo);最小螞蟻系統(tǒng)會約束待處理信息參量的最小取值結(jié)果,使其實值水平也不斷向著中心值指標(biāo)趨近[5]。
公式(1)反映了完整的“趨同性”定義原則:
(1)
式中,qmax表示趨向性指標(biāo)的最大值,qmin表示趨向性指標(biāo)的最小值,w表示無線通信數(shù)據(jù)的實際取值結(jié)果,wmax、wmin分別表示無線通信數(shù)據(jù)的最大與最小取值結(jié)果。
最大最小螞蟻系統(tǒng)表達(dá)式為:
(2)
由于最大最小螞蟻系統(tǒng)表達(dá)式具有明顯的兩極性,因此,在求取“趨同性”原則時,應(yīng)避免極值指標(biāo)之間的物理差值過大。在穩(wěn)定無線通信數(shù)據(jù)取值結(jié)果的同時,確保約束性指標(biāo)參量均值始終處于數(shù)值集合的中間位置。
在蟻群算法的認(rèn)知中,螞蟻在行進路徑上留下的信息素總量直接決定了選取螞蟻對象從一個節(jié)點到另一個節(jié)點的轉(zhuǎn)移狀態(tài)。對于無線通信網(wǎng)絡(luò)而言,蟻群算法的定義概念可以轉(zhuǎn)化為——選取數(shù)據(jù)參量在傳輸路徑上留下的關(guān)聯(lián)信息總量決定了數(shù)據(jù)參量從一個節(jié)點到另一個節(jié)點的轉(zhuǎn)移狀態(tài)[6-7]。因此,在處于t時,數(shù)據(jù)參量從一個節(jié)點r1到另一個節(jié)點r2的轉(zhuǎn)移概率p可表示為:
(3)
式中,ξ表示蟻群算法認(rèn)證向量,σ表示關(guān)聯(lián)信息提取系數(shù),yt表示t時刻的無線通信數(shù)據(jù)參量,yr1表示r1節(jié)點處的無線通信數(shù)據(jù)參量,yr2表示r2節(jié)點處的無線通信數(shù)據(jù)參量。
蟻群算法數(shù)學(xué)模型以轉(zhuǎn)移概率p為基礎(chǔ),估算了無線通信數(shù)據(jù)在網(wǎng)絡(luò)體系內(nèi)由一個節(jié)點轉(zhuǎn)移到另一個節(jié)點的能力,在制定安全漏洞檢測策略時,需要以該項物理指標(biāo)作為核心參考條件。設(shè)ir1表示無線通信向量在r1節(jié)點處的轉(zhuǎn)移系數(shù),ir2表示無線通信向量在r2節(jié)點處的轉(zhuǎn)移系數(shù),ζ表示無線通信數(shù)據(jù)的轉(zhuǎn)向傳輸度量值,Δo表示蟻群算法在單位時間內(nèi)標(biāo)記的無線通信數(shù)據(jù)總量。
蟻群算法的數(shù)學(xué)模型表達(dá)式為:
(4)
由于ir1系數(shù)、ir2系數(shù)之間不具備明顯的相關(guān)性,因此,在建立蟻群算法數(shù)學(xué)模型時,不考慮r1節(jié)點、r2節(jié)點選取結(jié)果對無線通信向量取值造成的影響。
無線通信網(wǎng)絡(luò)安全漏洞檢測指令的制定需要爬蟲技術(shù)的配合。網(wǎng)絡(luò)爬蟲技術(shù)可以按照既定規(guī)則抓取處于攻擊狀態(tài)的數(shù)據(jù)信息參量,并將抓取結(jié)果以程序腳步的形式,反饋給無線通信主機,并以此保障無線通信網(wǎng)絡(luò)的絕對穩(wěn)定性[8]。常見的無線通信網(wǎng)絡(luò)安全漏洞檢測爬蟲包括HTTP狀態(tài)碼、Form表單、深度去重3種組成形式,其具體應(yīng)用能力如表1所示。
表1 爬蟲應(yīng)用能力說明
為使爬蟲機制能夠更好地適應(yīng)無線通信網(wǎng)絡(luò)的連接形式,在設(shè)置檢測節(jié)點時,需要嚴(yán)格遵循蟻群算法原則。
載荷單元生成與組合是兩個相互遞進的執(zhí)行環(huán)節(jié),前者注重根據(jù)蟻群算法選取無線通信網(wǎng)絡(luò)中安全漏洞數(shù)據(jù)的載荷單元參量,其可以區(qū)分攻擊性數(shù)據(jù)與常規(guī)傳輸數(shù)據(jù),從而緩解通信主機的檢測壓力[9];后者注重重新排列選取安全漏洞數(shù)據(jù)載荷單元參量,一方面避免相鄰載荷單元參量之間出現(xiàn)明顯的相互干擾,另一方面實現(xiàn)重新規(guī)劃與處理爬蟲節(jié)點。
設(shè)s1、s2、…、sn表示n個不相等的無線通信網(wǎng)絡(luò)安全漏洞數(shù)據(jù)載荷單元參量,f表示基于蟻群算法原則的載荷單元篩選系數(shù),τ表示取值指標(biāo)的初始值,ζ表示無線通信網(wǎng)絡(luò)主機對于安全漏洞數(shù)據(jù)的處理權(quán)限。
基于蟻群算法的無線通信網(wǎng)絡(luò)安全漏洞數(shù)據(jù)載荷單元生成表達(dá)式為:
(5)
無線通信網(wǎng)絡(luò)安全漏洞數(shù)據(jù)載荷單元的組合表達(dá)式為:
(6)
式中,?表示數(shù)據(jù)載荷度量值,?表示載荷排列系數(shù),g1、g2表示兩個不相等的無線通信網(wǎng)絡(luò)安全漏洞數(shù)據(jù)載荷單元特征值。載荷單元生成、載荷單元組合兩個處理流程之間具有明顯的順承關(guān)系,因此,在檢測無線通信網(wǎng)絡(luò)安全漏洞時,兩個實踐步驟的執(zhí)行需要同時遵循蟻群算法應(yīng)用原則[10]。
基于蟻群算法的無線通信網(wǎng)絡(luò)安全漏洞節(jié)點繞過編碼規(guī)則表達(dá)式為:
(7)
式中,θ表示攻擊性傳輸數(shù)據(jù)的誤報系數(shù)。在制定繞過規(guī)則時,為避免對無線通信網(wǎng)絡(luò)安全漏洞節(jié)點的錯誤編碼,同時考慮爬蟲定義條件、載荷單元生成與組合標(biāo)準(zhǔn)。
SQL注釋語句表明了無線通信網(wǎng)絡(luò)安全漏洞節(jié)點對于傳輸數(shù)據(jù)的編碼能力。在蟻群算法作用下,SQL注釋語句占據(jù)的存儲空間越大,其執(zhí)行指令的編碼長度越長,即無線通信網(wǎng)絡(luò)安全漏洞節(jié)點對于傳輸數(shù)據(jù)的編碼能力強;反之,若SQL注釋語句所占據(jù)的存儲空間小,其執(zhí)行指令的編碼長度短,即無線通信網(wǎng)絡(luò)安全漏洞節(jié)點對于傳輸數(shù)據(jù)的編碼能力弱[13-14]。在無線通信網(wǎng)絡(luò)中,SQL注釋條件最大化突出安全漏洞節(jié)點的編碼特征,對于網(wǎng)絡(luò)主機而言,在處理傳輸數(shù)據(jù)時,可以結(jié)合已知編碼特征與數(shù)據(jù)信息參量,從而避免漏洞數(shù)據(jù)大量累積,實現(xiàn)大幅提升通信網(wǎng)絡(luò)運行速率。設(shè)j1、j2、…、jn表示n個不同的漏洞數(shù)據(jù)注釋向量,在檢測信息參量時,注釋向量之間的編碼處理始終保持相乘運算的關(guān)系。
(8)
式中,Δj表示漏洞數(shù)據(jù)注釋指標(biāo)在單位時間內(nèi)的傳輸總量,且Δj≥1的不等式條件恒成立。規(guī)定在執(zhí)行SQL注釋語句時,漏洞數(shù)據(jù)的傳輸順序不發(fā)生改變,編碼向量所處位置也只能由首位注釋節(jié)點運動至末位注釋節(jié)點。
URL編碼是一種多功能檢測機制,無線通信網(wǎng)絡(luò)主機根據(jù)安全漏洞節(jié)點的排列形式,選擇合適的碼源樣本編碼數(shù)據(jù)信息參量,但由于蟻群算法并不能適配所有數(shù)據(jù)樣本編譯格式,因此,符合無線通信網(wǎng)絡(luò)安全漏洞檢測需求的編碼形式只有二進制、八進制兩種類型,具體編碼原理如圖1所示[15]。
圖1 無線通信網(wǎng)絡(luò)的URL編碼原理
二進制、八進制是兩種完全獨立的URL編碼形式——執(zhí)行二進制URL編碼指令時,漏洞信息的最小進位數(shù)值為“2”,最末位編碼節(jié)點的定義數(shù)值為“20”,從最末位開始前向編碼節(jié)點的定義數(shù)值依次為“21”、“22”、“23”,…,“2n”,若當(dāng)前節(jié)點處的實際數(shù)值為“1”,則該節(jié)點的實際編碼結(jié)果為“1乘以當(dāng)前編碼節(jié)點的定義數(shù)值”[16]。執(zhí)行八進制URL編碼指令時,漏洞信息的最小進位數(shù)值為“8”,最末位編碼節(jié)點的定義數(shù)值為“80”,從最末位開始前向編碼節(jié)點的定義數(shù)值依次為“81”、“82”、“83”,…,“8n”,該節(jié)點的實際編碼結(jié)果為“當(dāng)前記錄數(shù)值乘以當(dāng)前編碼節(jié)點的定義數(shù)值”。
(9)
空字節(jié)是已存儲無線通信網(wǎng)絡(luò)安全漏洞信息中占編碼向量為空的數(shù)據(jù)節(jié)點,在已知動態(tài)查詢指令定義標(biāo)準(zhǔn)的情況下,空字節(jié)占存儲空間越大,漏洞節(jié)點對于數(shù)據(jù)信息參量的承載能力越差,為獲得準(zhǔn)確檢測結(jié)果,無線通信網(wǎng)絡(luò)主機消耗的連接時間越長[19]。由于無線通信網(wǎng)絡(luò)主機無法直接分離攻擊性數(shù)據(jù)與常規(guī)傳輸數(shù)據(jù),因此,在定義空字節(jié)時,需要漏洞節(jié)點時刻處于完全閉合的連接狀態(tài)。設(shè)ε表示攻擊性數(shù)據(jù)標(biāo)記指征,α表示常規(guī)傳輸數(shù)據(jù)標(biāo)記指征,xε表示基于系數(shù)ε的信息字節(jié)編碼參量,xα表示基于系數(shù)α的信息字節(jié)編碼參量。
無線通信網(wǎng)絡(luò)安全漏洞待檢信息的空字節(jié)定義表達(dá)式為:
(10)
式中,λ表示基于蟻群算法的待檢信息定義系數(shù),X表示無線通信網(wǎng)絡(luò)主機對于安全漏洞待檢信息的實時承載條件。在定義空字節(jié)表達(dá)式時,將動態(tài)查詢指令看作已知執(zhí)行條件,若攻擊性數(shù)據(jù)與常規(guī)傳輸數(shù)據(jù)之間不具備明顯差異性,規(guī)定空字節(jié)定義點兩端的信息樣本需要分屬于不同的數(shù)據(jù)庫存儲主機[20]。
無線通信網(wǎng)絡(luò)安全漏洞檢測方法的信息剝離表達(dá)式為:
(11)
在蟻群算法作用下,控制空字節(jié)指標(biāo)的實際取值,使其在執(zhí)行信息剝離指令時,起到促進性的作用。
在無線通信網(wǎng)絡(luò)環(huán)境中,主機元件在單位時間內(nèi)檢測的漏洞信息總量可以反映當(dāng)前應(yīng)用方法的實際檢測能力。主機元件在單位時間內(nèi)檢測的漏洞信息總量越多,漏洞數(shù)據(jù)的實時累積量越小,此時通信網(wǎng)絡(luò)的運行速率較快,當(dāng)前應(yīng)用方法的實際檢測能力越強;反之,若主機元件在單位時間內(nèi)檢測的漏洞信息總量少,漏洞數(shù)據(jù)的實時累積量大,此時通信網(wǎng)絡(luò)的運行速率慢,當(dāng)前應(yīng)用方法的實際檢測能力弱。采用對比分析實驗的方式驗證設(shè)計方法的有效性和可行性,具體實驗執(zhí)行流程如下:
步驟一:選擇客戶端PC主機作為實驗對象,將其接入無線局域網(wǎng)通信環(huán)境之中;
步驟二:選擇基于蟻群算法的無線通信網(wǎng)絡(luò)安全漏洞檢測方法作為實驗組應(yīng)用方法;
步驟三:選擇傳統(tǒng)被動分簇算法作為對照組應(yīng)用方法;
步驟四:設(shè)計實驗場景,實驗均在該場景下完成驗證。
步驟五:說明實驗設(shè)備和實驗參數(shù)。
步驟六:按照圖2所示的流程,記錄實驗組、對照組的實驗數(shù)值;
圖2 實驗數(shù)據(jù)處理流程
步驟七:對比實驗組、對照組記錄數(shù)值,總結(jié)實驗規(guī)律。
實驗在檢測漏洞信息量的基礎(chǔ)上,還涉及檢測安全漏洞的成功率,基于此,構(gòu)建無線通信網(wǎng)絡(luò)安全漏洞實驗場景,如圖3所示。
圖3 無線通信網(wǎng)絡(luò)安全漏洞場景
根據(jù)圖3構(gòu)建無線通信網(wǎng)絡(luò)安全漏洞場景,該場景涉及了路由器、電腦等,具體實驗設(shè)備如表2所示。
表2 實驗設(shè)備
表2中的2個USB無線網(wǎng)卡,一個用于檢測PC,另一個用于第三方檢測PC。PC機均為IPASON的B3060,CPU為英特爾酷睿i5,顯存容量為5GB。同時,客戶端PC采用安全漏洞數(shù)據(jù)集,該數(shù)據(jù)集是對NVD、Secunia、SecurityFocus、CNVD、CNND、NSFocus漏洞平臺的數(shù)據(jù)進行采集和整理而成。數(shù)據(jù)集共包括6個數(shù)據(jù)文件,分別為:NVD1.zip, Secunia2.zip、SecurityFocus3.zip、CNVD4.zip、CNND5.zip、NSFocus6.zip,即6大類安全漏洞。完成上述設(shè)計后,設(shè)計實驗初始參數(shù),具體參數(shù)如表3所示。
表3 實驗參數(shù)
在實驗過程中,漏洞數(shù)據(jù)注釋指標(biāo)在單位時間內(nèi)的傳輸總量大于等于1,并且在執(zhí)行SQL注釋語句時,漏洞數(shù)據(jù)的傳輸順序不發(fā)生改變,編碼向量所處位置也只能由首位注釋節(jié)點運動至末位注釋節(jié)點。
按照上述流程驗證設(shè)計方法的有效性和可行性,首先以無線通信網(wǎng)絡(luò)的漏洞信息檢測量為性能指標(biāo),該指標(biāo)可以反映檢測方法的檢測工作量,該值越高,表明檢測方法的性能越好。表4~6記錄了實驗組、對照組漏洞信息檢測量的實驗數(shù)值(相鄰記錄節(jié)點之間的間隔時長為10 min)。
表4 第一實驗階段實驗數(shù)值
表5 第二實驗階段實驗數(shù)值
表6 第三實驗階段實驗數(shù)值
根據(jù)表4~6的數(shù)據(jù)可知,實驗組:在第一實驗階段中,實驗組漏洞信息檢測量呈現(xiàn)出不斷增大的數(shù)值變化狀態(tài),其初始值3.2 Mb與最終實驗數(shù)值4.1 Mb相比,上升了0.9 Mb;在第二實驗階段中,實驗組漏洞信息檢測量的數(shù)值變化趨勢則相對較為穩(wěn)定,其初始值4.3 Mb與最終實驗數(shù)值4.3 Mb完全相等;在第三實驗階段中,實驗組漏洞信息檢測量保持先穩(wěn)定、再持續(xù)下降的數(shù)值變化狀態(tài),其初始值4.5 Mb與最終實驗數(shù)值4.0 Mb相比,下降了0.5 Mb。
對照組:在第一實驗階段中,對照組漏洞信息檢測量保持連續(xù)上升的數(shù)值變化狀態(tài),其初始值3.1 Mb與最終實驗數(shù)值4.0 Mb相比,上升了0.9 Mb,與實驗組上升幅度相同;在第二實驗階段中,對照組漏洞信息檢測量也呈現(xiàn)出相對穩(wěn)定的數(shù)值變化狀態(tài),其初始值4.1 Mb與最終實驗數(shù)值4.3 Mb相比,上升了0.2 Mb;在第三實驗階段中,對照組漏洞信息檢測量也呈現(xiàn)出不斷下降的數(shù)值變化狀態(tài),其初始值4.1 Mb與最終實驗數(shù)值3.2 Mb相比,下降了0.9 Mb,下降幅度明顯大于實驗組。
分別選取第一實驗階段、第二實驗階段、第三實驗階段的極限數(shù)值,對實驗組、對照組實驗均值進行計算。分析數(shù)值計算結(jié)果可知,實驗組漏洞信息檢測量均值等于4.37 Mb,對照組漏洞信息檢測量均值等于4.13 Mb,明顯低于實驗組均值水平。
綜上可知,在蟻群算法作用下,主機元件在單位時間內(nèi)檢測的漏洞信息總量出現(xiàn)了明顯增大的變化狀態(tài),該情況表示在這種檢測方法的影響下,漏洞數(shù)據(jù)的實時累積量得到了控制,通信網(wǎng)絡(luò)的運行速率快,即該方法的實際檢測能力強,更符合實際應(yīng)用需求。
由于無線通信網(wǎng)絡(luò)安全漏洞的存在,攻擊行為可以通過安全漏洞攻擊客戶端,從而發(fā)生丟失數(shù)據(jù)、隱私信息泄露等情況,發(fā)證該情的一個主要原因是安全漏洞的類型較多,導(dǎo)致檢測難度高,因此,以不同類型的安全漏洞檢測成功率反映安全漏洞檢測性能,該指標(biāo)值越高,表明設(shè)計方法的檢測性能越好。實驗采用安全漏洞數(shù)據(jù)集中的6大類數(shù)據(jù),隨機選擇每類安全漏洞數(shù)量200條。應(yīng)用實驗組和對照組方法檢測安全漏洞,實驗具體結(jié)果如表7所示。
表7 不同類型安全漏洞檢測成功率
根據(jù)表7數(shù)據(jù)可知,實驗組不同類型的安全漏洞檢測成功率均在99.5%以上,其中CNND5類型的檢測成功率達(dá)到了99.9,平均檢測成功率達(dá)到了99.7%,對照組的檢測成功率均值達(dá)到了91.7%,其中Secunia2類型的安全漏洞檢測成功率最高,其值為92.9%,SecurityFocus3類型檢測成功率最低,該值為90.8%。兩種方法相比可知,實驗組的不同類型檢測成功率提高了8.0%,因此,蟻群算法的無線通信網(wǎng)絡(luò)安全漏洞檢測方法有效檢測出不同類型的安全漏洞,提高了檢測成功率。
為了提高無線通信網(wǎng)絡(luò)安全漏洞檢測能力,研究了基于蟻群算法的無線通信網(wǎng)絡(luò)安全漏洞檢測方法。該方法應(yīng)用了蟻群算法,并且結(jié)合了其他方法,優(yōu)化檢測方法,提高檢測能力。與傳統(tǒng)被動分簇算法相比,新型無線通信網(wǎng)絡(luò)安全漏洞檢測方法在蟻群算法的基礎(chǔ)上,建立了完整的數(shù)學(xué)描述模型,又根據(jù)繞過規(guī)則定義標(biāo)準(zhǔn),確定爬蟲技術(shù)的應(yīng)用形式,由于載荷單元的生成與組合狀態(tài)并不唯一,因此,該方法在定義SQL注釋語句與URL編碼條件時,遵循的信息剝離標(biāo)準(zhǔn)不同。在實際應(yīng)用過程中,這種新型檢測方法可以擴大主機元件在單位時間內(nèi)檢測的漏洞信息總量,在增強通信主機對于漏洞信息精準(zhǔn)檢測能力的同時,解決因漏洞數(shù)據(jù)大量累積而造成的通信網(wǎng)絡(luò)運行速率不斷下降的問題,這與保障無線通信網(wǎng)絡(luò)運行穩(wěn)定性的設(shè)計初衷相符合。