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