李丹彤,馮海云,高涌皓
(延安大學(xué)附屬醫(yī)院網(wǎng)絡(luò)中心,陜西延安 716000)
隨著計(jì)算機(jī)技術(shù)不斷發(fā)展完善,互聯(lián)網(wǎng)迅速得到發(fā)展和普及,但同時(shí)引起的網(wǎng)絡(luò)安全事件也成為目前相關(guān)部門(mén)重點(diǎn)關(guān)注的話題[1]。目前,國(guó)內(nèi)外在網(wǎng)絡(luò)安全的態(tài)勢(shì)評(píng)估、威脅類(lèi)型等方面已經(jīng)取得一定的研究進(jìn)展。常見(jiàn)網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)模型有灰色理論預(yù)測(cè)模型、支持向量機(jī)預(yù)測(cè)模型、神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型、時(shí)間序列預(yù)測(cè)模型[2-3]。但由于網(wǎng)絡(luò)安全態(tài)勢(shì)的影響因素諸多,現(xiàn)階段仍然沒(méi)有有效的評(píng)估預(yù)測(cè)模型。與此同時(shí),支持向量機(jī)、隨機(jī)森林、遺傳算法、神經(jīng)網(wǎng)絡(luò)等常見(jiàn)的機(jī)器算法均在各行各業(yè)風(fēng)險(xiǎn)評(píng)估和預(yù)測(cè)領(lǐng)域得到廣泛應(yīng)用,且已經(jīng)取得相當(dāng)大的成就[4]。鑒于此,此次研究利用支持向量機(jī)和果蠅改進(jìn)算法,提出結(jié)合時(shí)間序列和支持向量機(jī)的網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)模型,旨在對(duì)未來(lái)網(wǎng)絡(luò)安全的評(píng)估提供建設(shè)性的意見(jiàn)。
研究引入支持向量機(jī)SVM(SupportVector Machine)機(jī)器算法進(jìn)行網(wǎng)絡(luò)安全評(píng)估預(yù)測(cè),其基本思想是通過(guò)一個(gè)非線性映射,把原空間的非線性問(wèn)題轉(zhuǎn)移到空間中更高維度的線性問(wèn)題,在超空間中獲得一個(gè)超平面有效地將正例和負(fù)例分開(kāi)。假設(shè)超平面可以滿足訓(xùn)練集并正確分類(lèi),設(shè)置:
解出ω和b 即可得到模型,分析可以看出,支持向量模型僅與其支持向量有關(guān)。針對(duì)對(duì)偶問(wèn)題采用二次規(guī)劃算法解決會(huì)導(dǎo)致巨大的開(kāi)銷(xiāo),因此每次選擇更新的aj和ai,然后固定aj和ai以外的其他參數(shù),獲得更新之后的aj和ai,更新拉格朗日乘子,提高運(yùn)算效率[5-6]。使用所有支持向量來(lái)求得b的平均值,得到廣泛應(yīng)用的效果。其計(jì)算表達(dá)式為:
為了實(shí)現(xiàn)高緯度的線性分割,減少運(yùn)算中復(fù)雜程度,采用核函數(shù)來(lái)降低復(fù)雜性。?(xi)表示某樣本映射得到的特征向量,?(xi)T?(xj) 表示向量xi和xj映射到高維空間的特征向量?jī)?nèi)積,通過(guò)假設(shè)核函數(shù)κ(xi,xj)=?(xi)T?(xj),二分類(lèi)模型可以簡(jiǎn)化為:
核函數(shù)“核矩陣”半正定,所以總可以把兩類(lèi)數(shù)據(jù)區(qū)分開(kāi),核函數(shù)的選擇直接決定支持向量機(jī)最關(guān)鍵的環(huán)節(jié)。常見(jiàn)的核函數(shù)類(lèi)型有線性核、二次多項(xiàng)式核與徑向基3 種函數(shù)。徑向基函數(shù)具備簡(jiǎn)單、光滑性好、徑向?qū)ΨQ(chēng)等優(yōu)點(diǎn),研究選用徑向基函數(shù)作為核函數(shù),函數(shù)寬度參數(shù)對(duì)安全態(tài)勢(shì)的預(yù)測(cè)結(jié)果影響很大,需要最優(yōu)求解。
g是指函數(shù)寬度參數(shù),該參數(shù)的取值會(huì)直接影響高維空間分布復(fù)雜度,直接影響網(wǎng)絡(luò)安全態(tài)勢(shì)結(jié)果。蟻群算法和粒子群算法作為經(jīng)典的群智智能算法均需要更新迭代才能找到最優(yōu)解,此次研究利用新型的果蠅優(yōu)化算法FOA(Fruit Fly Optimization Algorithm)作為演化式算法進(jìn)行最優(yōu)值求解。該算法是受到果蠅尋覓食物的啟發(fā)而產(chǎn)生的全局優(yōu)化求解的方法[7-10]。果蠅具備敏銳的嗅覺(jué)和視覺(jué)功能,可依靠自身嗅覺(jué)發(fā)現(xiàn)40 km 以外的食物源,同時(shí)也可通過(guò)視覺(jué)發(fā)現(xiàn)其他果蠅和同伴所處位置[11]。果蠅算法的迭代步驟簡(jiǎn)化圖如圖1 所示,首先隨機(jī)生成果蠅群體且計(jì)算群體中每個(gè)果蠅的氣味濃度,依據(jù)的原則是每個(gè)中心點(diǎn)一個(gè)果蠅群體。然后設(shè)置最高感受氣味濃度值的果蠅為坐標(biāo)中心點(diǎn),群體中其他果蠅依靠視覺(jué)飛往該中心點(diǎn)。最后繼續(xù)以上操作直至尋找到全局最優(yōu)解。
圖1 果蠅算法簡(jiǎn)化圖
果蠅算法具體的操作如下,第一步,確定群體規(guī)模Sizepop 和最大迭代次數(shù)Maxgen,同時(shí)設(shè)置初始化果蠅群體的初始位置X_axis 和Y_axis。第二步,給予果蠅個(gè)體搜索食物的自主選擇權(quán)利,任意選取方向和距離,當(dāng)下果蠅的位置表示為式(6)。RandomValue是指搜索距離。第三步,由于無(wú)法準(zhǔn)確獲知食物的位置,預(yù)知食物到原點(diǎn)的距離為Disti,經(jīng)計(jì)算可得到果蠅味道濃度判定值Si。第四步,將獲得值代入果蠅味道濃度判別函數(shù),即可得到所有果蠅個(gè)體的味道濃度Smelli。第五步,將果蠅群體中味道濃度最大值的果蠅個(gè)體作為最優(yōu)個(gè)體。第六步,記下最佳果蠅的最佳味道濃度值和坐標(biāo),此時(shí)群體中的其他果蠅將依靠靈敏的視覺(jué)飛向最佳位置。第七步,重復(fù)進(jìn)行第二步至第五步,然后判斷最佳味道濃度值是否優(yōu)于前一味道濃度值,如果當(dāng)前迭代次數(shù)小于最大迭代次數(shù),完成第六步操作。
研究提出面向FOA-SVM 算法的網(wǎng)絡(luò)安全預(yù)測(cè)評(píng)估模型,首先利用時(shí)間序列模型進(jìn)行網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)。時(shí)間序列模型通過(guò)安全事件采集化處理獲取當(dāng)前網(wǎng)絡(luò)安全狀況,獲取對(duì)應(yīng)時(shí)間的安全態(tài)勢(shì)值,表現(xiàn)為隨攻擊長(zhǎng)度不斷變化的數(shù)值。常見(jiàn)的時(shí)間序列模型為短記憶序列和長(zhǎng)記憶模型。其中短記憶模型最常見(jiàn)是MA(Moving Average)模型、自回歸模型AR(Auto Regressive)、自動(dòng)回歸平均模型ARMA(Auto Regressive and Moving Average)。鑒于網(wǎng)絡(luò)攻擊相互間存在潛在相關(guān)性,因此選用短時(shí)時(shí)間序列進(jìn)行安全評(píng)估。在預(yù)測(cè)方法方面,研究排除移動(dòng)平均法、分解方法、指數(shù)平滑法等線性方法,選用SVM 算法進(jìn)行預(yù)測(cè),且經(jīng)過(guò)FOA 算法對(duì)SVM 的參數(shù)和輸入維度的優(yōu)化。
網(wǎng)絡(luò)安全態(tài)勢(shì)評(píng)估是指網(wǎng)絡(luò)安全整體情況,對(duì)網(wǎng)絡(luò)安全態(tài)勢(shì)的預(yù)測(cè)有極其重要的影響。具體評(píng)估步驟如下,首先完成網(wǎng)絡(luò)安全的采集,然后歸一化處理安全事件和狀態(tài)信息,其次動(dòng)態(tài)關(guān)聯(lián)歸一化后的安全事件,生成相對(duì)應(yīng)的告警信息,并及時(shí)更新安全事件的可靠性,最后利用態(tài)勢(shì)指標(biāo)模型計(jì)算的網(wǎng)絡(luò)安全態(tài)勢(shì),并得到網(wǎng)絡(luò)安全態(tài)勢(shì)值[12-13]。安全態(tài)勢(shì)評(píng)估的指標(biāo)和含義如表1 所示,包括威脅指數(shù)T、脆弱度指數(shù)V、資產(chǎn)狀態(tài)指數(shù)R、網(wǎng)絡(luò)安全態(tài)勢(shì)值S。威脅指數(shù)是對(duì)安全事件歸一化和動(dòng)態(tài)關(guān)聯(lián)后得到每個(gè)事件的指數(shù),它是衡量網(wǎng)絡(luò)遭遇攻擊的危害情況,該值越大,網(wǎng)絡(luò)遭遇的攻擊性就越大。資產(chǎn)運(yùn)行狀態(tài)指數(shù)是指CPU 使用率、內(nèi)存使用率、寬帶利用率、磁盤(pán)使用率。
表1 安全態(tài)勢(shì)評(píng)估的指標(biāo)和含義
安全態(tài)勢(shì)值是對(duì)各種影響網(wǎng)絡(luò)安全因素的量化和評(píng)估,其計(jì)算公式如式(7)所示。
i、j、k是指相應(yīng)的網(wǎng)絡(luò)安全影響因子,值的確定依據(jù)為人工分析法,值分別確定為0.2、0.2、0.6。其中有關(guān)安全事件指標(biāo)的計(jì)算重要參考依據(jù)為資產(chǎn)值A(chǔ)i、優(yōu)先級(jí)Pi、可靠性Rei。資產(chǎn)值依據(jù)資產(chǎn)對(duì)系統(tǒng)的重要性分配的一個(gè)資產(chǎn)價(jià)值,取值范圍為(0,5)[14]。優(yōu)先級(jí)是依據(jù)安全事件對(duì)系統(tǒng)影響程度分配先后秩序,該值越大,表明影響范圍越大,取值范圍也為(0,5)??煽啃允侵敢罁?jù)安全事件發(fā)生的可能性分配的值,該值越大,表明發(fā)生該類(lèi)型安全事件的可能性越高,取值范圍為(0,1)[15]。
基于FOA-SVM 算法的網(wǎng)絡(luò)安全評(píng)估預(yù)測(cè)的流程圖如圖2 所示,首先經(jīng)網(wǎng)絡(luò)安全態(tài)勢(shì)的計(jì)算獲取安全態(tài)勢(shì)時(shí)間序列數(shù)據(jù),設(shè)置系統(tǒng)每間隔3 min 自動(dòng)評(píng)估當(dāng)前的網(wǎng)絡(luò)安全情況,隨后構(gòu)建時(shí)間序列矩陣,同時(shí)需要保證序列的有序性。
圖2 基于FOA-SVM算法的網(wǎng)絡(luò)安全評(píng)估預(yù)測(cè)
對(duì)于含有N個(gè)數(shù)據(jù)的訓(xùn)練集,構(gòu)造時(shí)間序列樣本X如式(8)所示。
安全態(tài)勢(shì)訓(xùn)練樣本值X有N-n個(gè)時(shí)間序列,且每條時(shí)間序列含有n個(gè)時(shí)間記錄,矩陣為相應(yīng)的訓(xùn)練目標(biāo)值。矩陣Y和矩陣X可以保證態(tài)勢(shì)值的連續(xù)性。測(cè)試集的構(gòu)造方式和訓(xùn)練集相同,然后通過(guò)訓(xùn)練集在空間擬合一個(gè)較好的線性函數(shù)完成SVM算法訓(xùn)練,并通過(guò)該擬合函數(shù)實(shí)現(xiàn)對(duì)測(cè)試集的預(yù)測(cè),以此確定模型的訓(xùn)練效果。訓(xùn)練具體實(shí)現(xiàn)步驟如下,先確定訓(xùn)練矩陣中的維數(shù)(n),再依據(jù)經(jīng)驗(yàn)設(shè)定懲罰因子(C)和核函數(shù)的參數(shù),最終通過(guò)訓(xùn)練數(shù)據(jù)求解二次規(guī)劃并獲取擬合函數(shù)[16-17]。最后依據(jù)測(cè)試記錄的安全態(tài)勢(shì)值預(yù)測(cè)訓(xùn)練器的性能,并通過(guò)果蠅改進(jìn)算法獲取最佳的維數(shù)、懲罰因子、核函數(shù)參數(shù)。
研究利用二類(lèi)混淆矩陣進(jìn)行算法性能評(píng)價(jià),真正例、假負(fù)例、假正例、負(fù)例分別用TP、FN、FP、TN 表示,二類(lèi)混淆矩陣表示如表2 所示。算法性能評(píng)價(jià)指標(biāo)包括Preicision、Accuracy、F1-Score。AUC 是用于衡量ROC 函數(shù)下方面積的評(píng)價(jià)指標(biāo),該函數(shù)依據(jù)模型而繪制代表預(yù)測(cè)為正例的閾值曲線,該評(píng)價(jià)方法可以避免不均勻數(shù)據(jù)分布影響的評(píng)價(jià)誤差。
表2 二類(lèi)混淆矩陣
實(shí)驗(yàn)測(cè)試環(huán)境為Debian 7.8 Wheezy 系統(tǒng),內(nèi)存為6 GB,CPU 運(yùn)行速度為2.2 GHz,研究利用python腳本實(shí)現(xiàn)結(jié)果分析和展示。首先從安全態(tài)勢(shì)歷史數(shù)據(jù)庫(kù)中任意挑選連續(xù)的294 個(gè)安全態(tài)勢(shì)值,將前面244 個(gè)數(shù)據(jù)和后面44 個(gè)數(shù)據(jù)集分別作為訓(xùn)練集和測(cè)試集,安全態(tài)勢(shì)變化值曲線如圖3 所示。安全態(tài)勢(shì)時(shí)間序列表現(xiàn)出復(fù)雜多變的變化趨勢(shì),變化范圍為30~75。
圖3 安全態(tài)勢(shì)時(shí)間序列
表3 是指果蠅改進(jìn)算法的尋優(yōu)序列,由于篇幅受限,僅展示部分?jǐn)?shù)據(jù)。隨著迭代次數(shù)的增加,可以看出懲罰因子等相應(yīng)的參數(shù)不斷迭代更新,當(dāng)決定系數(shù)逐漸趨于穩(wěn)定時(shí),即可得到最佳的參數(shù)。經(jīng)過(guò)果蠅改進(jìn)算法迭代,最終得到最佳核函數(shù)參數(shù)為9.558 866 730 69,輸入維數(shù)為12,懲罰因子為26.611 251 199 2。
表3 果蠅改進(jìn)算法的尋優(yōu)序列
圖4 是指FOA-SVM 網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)模型在0~50 的時(shí)間序列下預(yù)測(cè)值和真實(shí)值的對(duì)比情況。真實(shí)值和預(yù)測(cè)值具有在某些時(shí)間段內(nèi)完全一致,但在有些時(shí)間段內(nèi)存在相反的變化趨勢(shì),經(jīng)計(jì)算得到SVM 模型預(yù)測(cè)序列的決定系數(shù)為0.906 997 774 231。因此該模型具有極高的擬合性,有很好預(yù)測(cè)效果。決定系數(shù)越接近1,表明擬合程度越高,且隨著決定系數(shù)的穩(wěn)定即可以得到相應(yīng)的最佳參數(shù)。
圖4 預(yù)測(cè)對(duì)比圖
圖5 是FOA-SVM、RBF、PSO-SVM 3 種模型的預(yù)測(cè)值和真實(shí)值的對(duì)比情況。結(jié)合圖5 可以看出,3 種預(yù)測(cè)模型均具有極高的性能,在0~50 的時(shí)間序列下,網(wǎng)絡(luò)安全態(tài)勢(shì)值均穩(wěn)定在30~50 之間。通過(guò)粒子群算法PSO(Particle Swarm Optimization)優(yōu)化SVM 的參數(shù),得到相應(yīng)預(yù)測(cè)模型的決定系數(shù)為0.902 380 400 512。但由于粒子群算法易陷于局部最小解,所得到全局搜索能力相對(duì)弱于果蠅算法。徑向基神經(jīng)網(wǎng)絡(luò)是RBF(Radial Basis Function)是目前新型的神經(jīng)網(wǎng)絡(luò)算法,能極大程度降低訓(xùn)練時(shí)間,具備很強(qiáng)的泛化能力,其預(yù)測(cè)模型的決定系數(shù)可達(dá)到0.902 132 952 65,但構(gòu)建模型非常困難。綜上分析,該文提出的FOA-SVM 預(yù)測(cè)模型是較優(yōu)模型。
圖5 幾種算法態(tài)勢(shì)對(duì)比情況
實(shí)驗(yàn)進(jìn)一步對(duì)比3 種預(yù)測(cè)模型性能,它們的準(zhǔn)確率、AUC 值、F1 值的結(jié)果分別如圖6(a)、6(b)、6(c)所示。從準(zhǔn)確率來(lái)看,F(xiàn)OA-SVM、RBF、PSO-SVM 3 種模型的值分別為81.2%、79.8%、78.2%。從AUC 值變化情況來(lái)看,F(xiàn)OA-SVM 預(yù)測(cè)模型的值最高為0.83,而RBF、PSO-SVM 兩種模型的值分別為0.79 和0.76。FOA-SVM、RBF、PSO-SVM 3 種模型的F1 值依次為0.83、0.76、0.76。綜上分析,F(xiàn)OA-SVM 預(yù)測(cè)模型具有最佳的性能。
圖6 3種網(wǎng)絡(luò)安全預(yù)測(cè)模型的準(zhǔn)確率、AUC值、F1值的對(duì)比
網(wǎng)絡(luò)安全態(tài)勢(shì)的研究是目前網(wǎng)絡(luò)安全評(píng)估領(lǐng)域重點(diǎn)關(guān)注的話題。針對(duì)當(dāng)前國(guó)內(nèi)外存在大量網(wǎng)絡(luò)威脅這一現(xiàn)狀,此次研究提出基于FOA-SVM 算法的網(wǎng)絡(luò)安全態(tài)勢(shì)評(píng)估模型,在建立網(wǎng)絡(luò)安全態(tài)勢(shì)計(jì)算指標(biāo)模型的基礎(chǔ)上,利用SVM 機(jī)器算法進(jìn)行網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè),并通過(guò)果蠅改進(jìn)算法進(jìn)行參數(shù)優(yōu)化,得到最佳預(yù)測(cè)模型。FOA 迭代尋優(yōu)結(jié)果表明,預(yù)測(cè)模型的最佳核函數(shù)參數(shù)為9.558 866 730 69,輸入維數(shù)為12,懲罰因子為26.611 251 199 2。FOA-SVM、RBF、PSOSVM 3 種模型的決定系數(shù)分別為0.906 997 774 231、0.902 380 400 512、0.902 132 952 65,準(zhǔn)確率分別為81.2%、79.8%、78.2%,AUC 值分別為0.79 和0.76,F(xiàn)1值依次為0.83、0.76、0.76。因此FOA-SVM 網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)模型具有最佳的性能優(yōu)勢(shì)和極高的擬合性。該研究并未建立多層次和全民的基礎(chǔ)信息體系進(jìn)行安全信息采集,在下一步工作中需要進(jìn)一步完善改進(jìn)。