李丹彤,馮海云,高涌皓
(延安大學附屬醫院網絡中心,陜西延安 716000)
隨著計算機技術不斷發展完善,互聯網迅速得到發展和普及,但同時引起的網絡安全事件也成為目前相關部門重點關注的話題[1]。目前,國內外在網絡安全的態勢評估、威脅類型等方面已經取得一定的研究進展。常見網絡安全態勢預測模型有灰色理論預測模型、支持向量機預測模型、神經網絡預測模型、時間序列預測模型[2-3]。但由于網絡安全態勢的影響因素諸多,現階段仍然沒有有效的評估預測模型。與此同時,支持向量機、隨機森林、遺傳算法、神經網絡等常見的機器算法均在各行各業風險評估和預測領域得到廣泛應用,且已經取得相當大的成就[4]。鑒于此,此次研究利用支持向量機和果蠅改進算法,提出結合時間序列和支持向量機的網絡安全態勢預測模型,旨在對未來網絡安全的評估提供建設性的意見。
研究引入支持向量機SVM(SupportVector Machine)機器算法進行網絡安全評估預測,其基本思想是通過一個非線性映射,把原空間的非線性問題轉移到空間中更高維度的線性問題,在超空間中獲得一個超平面有效地將正例和負例分開。假設超平面可以滿足訓練集并正確分類,設置:


解出ω和b 即可得到模型,分析可以看出,支持向量模型僅與其支持向量有關。針對對偶問題采用二次規劃算法解決會導致巨大的開銷,因此每次選擇更新的aj和ai,然后固定aj和ai以外的其他參數,獲得更新之后的aj和ai,更新拉格朗日乘子,提高運算效率[5-6]。使用所有支持向量來求得b的平均值,得到廣泛應用的效果。其計算表達式為:

為了實現高緯度的線性分割,減少運算中復雜程度,采用核函數來降低復雜性。?(xi)表示某樣本映射得到的特征向量,?(xi)T?(xj) 表示向量xi和xj映射到高維空間的特征向量內積,通過假設核函數κ(xi,xj)=?(xi)T?(xj),二分類模型可以簡化為:

核函數“核矩陣”半正定,所以總可以把兩類數據區分開,核函數的選擇直接決定支持向量機最關鍵的環節。常見的核函數類型有線性核、二次多項式核與徑向基3 種函數。徑向基函數具備簡單、光滑性好、徑向對稱等優點,研究選用徑向基函數作為核函數,函數寬度參數對安全態勢的預測結果影響很大,需要最優求解。

g是指函數寬度參數,該參數的取值會直接影響高維空間分布復雜度,直接影響網絡安全態勢結果。蟻群算法和粒子群算法作為經典的群智智能算法均需要更新迭代才能找到最優解,此次研究利用新型的果蠅優化算法FOA(Fruit Fly Optimization Algorithm)作為演化式算法進行最優值求解。該算法是受到果蠅尋覓食物的啟發而產生的全局優化求解的方法[7-10]。果蠅具備敏銳的嗅覺和視覺功能,可依靠自身嗅覺發現40 km 以外的食物源,同時也可通過視覺發現其他果蠅和同伴所處位置[11]。果蠅算法的迭代步驟簡化圖如圖1 所示,首先隨機生成果蠅群體且計算群體中每個果蠅的氣味濃度,依據的原則是每個中心點一個果蠅群體。然后設置最高感受氣味濃度值的果蠅為坐標中心點,群體中其他果蠅依靠視覺飛往該中心點。最后繼續以上操作直至尋找到全局最優解。

圖1 果蠅算法簡化圖
果蠅算法具體的操作如下,第一步,確定群體規模Sizepop 和最大迭代次數Maxgen,同時設置初始化果蠅群體的初始位置X_axis 和Y_axis。第二步,給予果蠅個體搜索食物的自主選擇權利,任意選取方向和距離,當下果蠅的位置表示為式(6)。RandomValue是指搜索距離。第三步,由于無法準確獲知食物的位置,預知食物到原點的距離為Disti,經計算可得到果蠅味道濃度判定值Si。第四步,將獲得值代入果蠅味道濃度判別函數,即可得到所有果蠅個體的味道濃度Smelli。第五步,將果蠅群體中味道濃度最大值的果蠅個體作為最優個體。第六步,記下最佳果蠅的最佳味道濃度值和坐標,此時群體中的其他果蠅將依靠靈敏的視覺飛向最佳位置。第七步,重復進行第二步至第五步,然后判斷最佳味道濃度值是否優于前一味道濃度值,如果當前迭代次數小于最大迭代次數,完成第六步操作。

研究提出面向FOA-SVM 算法的網絡安全預測評估模型,首先利用時間序列模型進行網絡安全態勢預測。時間序列模型通過安全事件采集化處理獲取當前網絡安全狀況,獲取對應時間的安全態勢值,表現為隨攻擊長度不斷變化的數值。常見的時間序列模型為短記憶序列和長記憶模型。其中短記憶模型最常見是MA(Moving Average)模型、自回歸模型AR(Auto Regressive)、自動回歸平均模型ARMA(Auto Regressive and Moving Average)。鑒于網絡攻擊相互間存在潛在相關性,因此選用短時時間序列進行安全評估。在預測方法方面,研究排除移動平均法、分解方法、指數平滑法等線性方法,選用SVM 算法進行預測,且經過FOA 算法對SVM 的參數和輸入維度的優化。
網絡安全態勢評估是指網絡安全整體情況,對網絡安全態勢的預測有極其重要的影響。具體評估步驟如下,首先完成網絡安全的采集,然后歸一化處理安全事件和狀態信息,其次動態關聯歸一化后的安全事件,生成相對應的告警信息,并及時更新安全事件的可靠性,最后利用態勢指標模型計算的網絡安全態勢,并得到網絡安全態勢值[12-13]。安全態勢評估的指標和含義如表1 所示,包括威脅指數T、脆弱度指數V、資產狀態指數R、網絡安全態勢值S。威脅指數是對安全事件歸一化和動態關聯后得到每個事件的指數,它是衡量網絡遭遇攻擊的危害情況,該值越大,網絡遭遇的攻擊性就越大。資產運行狀態指數是指CPU 使用率、內存使用率、寬帶利用率、磁盤使用率。

表1 安全態勢評估的指標和含義
安全態勢值是對各種影響網絡安全因素的量化和評估,其計算公式如式(7)所示。

i、j、k是指相應的網絡安全影響因子,值的確定依據為人工分析法,值分別確定為0.2、0.2、0.6。其中有關安全事件指標的計算重要參考依據為資產值Ai、優先級Pi、可靠性Rei。資產值依據資產對系統的重要性分配的一個資產價值,取值范圍為(0,5)[14]。優先級是依據安全事件對系統影響程度分配先后秩序,該值越大,表明影響范圍越大,取值范圍也為(0,5)。可靠性是指依據安全事件發生的可能性分配的值,該值越大,表明發生該類型安全事件的可能性越高,取值范圍為(0,1)[15]。
基于FOA-SVM 算法的網絡安全評估預測的流程圖如圖2 所示,首先經網絡安全態勢的計算獲取安全態勢時間序列數據,設置系統每間隔3 min 自動評估當前的網絡安全情況,隨后構建時間序列矩陣,同時需要保證序列的有序性。

圖2 基于FOA-SVM算法的網絡安全評估預測
對于含有N個數據的訓練集,構造時間序列樣本X如式(8)所示。

安全態勢訓練樣本值X有N-n個時間序列,且每條時間序列含有n個時間記錄,矩陣為相應的訓練目標值。矩陣Y和矩陣X可以保證態勢值的連續性。測試集的構造方式和訓練集相同,然后通過訓練集在空間擬合一個較好的線性函數完成SVM算法訓練,并通過該擬合函數實現對測試集的預測,以此確定模型的訓練效果。訓練具體實現步驟如下,先確定訓練矩陣中的維數(n),再依據經驗設定懲罰因子(C)和核函數的參數,最終通過訓練數據求解二次規劃并獲取擬合函數[16-17]。最后依據測試記錄的安全態勢值預測訓練器的性能,并通過果蠅改進算法獲取最佳的維數、懲罰因子、核函數參數。
研究利用二類混淆矩陣進行算法性能評價,真正例、假負例、假正例、負例分別用TP、FN、FP、TN 表示,二類混淆矩陣表示如表2 所示。算法性能評價指標包括Preicision、Accuracy、F1-Score。AUC 是用于衡量ROC 函數下方面積的評價指標,該函數依據模型而繪制代表預測為正例的閾值曲線,該評價方法可以避免不均勻數據分布影響的評價誤差。

表2 二類混淆矩陣
實驗測試環境為Debian 7.8 Wheezy 系統,內存為6 GB,CPU 運行速度為2.2 GHz,研究利用python腳本實現結果分析和展示。首先從安全態勢歷史數據庫中任意挑選連續的294 個安全態勢值,將前面244 個數據和后面44 個數據集分別作為訓練集和測試集,安全態勢變化值曲線如圖3 所示。安全態勢時間序列表現出復雜多變的變化趨勢,變化范圍為30~75。

圖3 安全態勢時間序列
表3 是指果蠅改進算法的尋優序列,由于篇幅受限,僅展示部分數據。隨著迭代次數的增加,可以看出懲罰因子等相應的參數不斷迭代更新,當決定系數逐漸趨于穩定時,即可得到最佳的參數。經過果蠅改進算法迭代,最終得到最佳核函數參數為9.558 866 730 69,輸入維數為12,懲罰因子為26.611 251 199 2。

表3 果蠅改進算法的尋優序列
圖4 是指FOA-SVM 網絡安全態勢預測模型在0~50 的時間序列下預測值和真實值的對比情況。真實值和預測值具有在某些時間段內完全一致,但在有些時間段內存在相反的變化趨勢,經計算得到SVM 模型預測序列的決定系數為0.906 997 774 231。因此該模型具有極高的擬合性,有很好預測效果。決定系數越接近1,表明擬合程度越高,且隨著決定系數的穩定即可以得到相應的最佳參數。

圖4 預測對比圖
圖5 是FOA-SVM、RBF、PSO-SVM 3 種模型的預測值和真實值的對比情況。結合圖5 可以看出,3 種預測模型均具有極高的性能,在0~50 的時間序列下,網絡安全態勢值均穩定在30~50 之間。通過粒子群算法PSO(Particle Swarm Optimization)優化SVM 的參數,得到相應預測模型的決定系數為0.902 380 400 512。但由于粒子群算法易陷于局部最小解,所得到全局搜索能力相對弱于果蠅算法。徑向基神經網絡是RBF(Radial Basis Function)是目前新型的神經網絡算法,能極大程度降低訓練時間,具備很強的泛化能力,其預測模型的決定系數可達到0.902 132 952 65,但構建模型非常困難。綜上分析,該文提出的FOA-SVM 預測模型是較優模型。

圖5 幾種算法態勢對比情況
實驗進一步對比3 種預測模型性能,它們的準確率、AUC 值、F1 值的結果分別如圖6(a)、6(b)、6(c)所示。從準確率來看,FOA-SVM、RBF、PSO-SVM 3 種模型的值分別為81.2%、79.8%、78.2%。從AUC 值變化情況來看,FOA-SVM 預測模型的值最高為0.83,而RBF、PSO-SVM 兩種模型的值分別為0.79 和0.76。FOA-SVM、RBF、PSO-SVM 3 種模型的F1 值依次為0.83、0.76、0.76。綜上分析,FOA-SVM 預測模型具有最佳的性能。

圖6 3種網絡安全預測模型的準確率、AUC值、F1值的對比
網絡安全態勢的研究是目前網絡安全評估領域重點關注的話題。針對當前國內外存在大量網絡威脅這一現狀,此次研究提出基于FOA-SVM 算法的網絡安全態勢評估模型,在建立網絡安全態勢計算指標模型的基礎上,利用SVM 機器算法進行網絡安全態勢預測,并通過果蠅改進算法進行參數優化,得到最佳預測模型。FOA 迭代尋優結果表明,預測模型的最佳核函數參數為9.558 866 730 69,輸入維數為12,懲罰因子為26.611 251 199 2。FOA-SVM、RBF、PSOSVM 3 種模型的決定系數分別為0.906 997 774 231、0.902 380 400 512、0.902 132 952 65,準確率分別為81.2%、79.8%、78.2%,AUC 值分別為0.79 和0.76,F1值依次為0.83、0.76、0.76。因此FOA-SVM 網絡安全態勢預測模型具有最佳的性能優勢和極高的擬合性。該研究并未建立多層次和全民的基礎信息體系進行安全信息采集,在下一步工作中需要進一步完善改進。