?

基于機器學習的安全態勢預測方法

2024-03-12 05:34黃少忠
廣東通信技術 2024年2期
關鍵詞:項集態勢時空

[黃少忠]

1 引言

網絡安全態勢感知是指在大規模網絡環境中,通過采集網絡安全數據的指標并進行特征提取后,借助特征對當前和未來可能發生的網絡安全事件進行預警,從而實現網絡安全系統的主動防御[1]。隨著網絡的發展,攻擊手段日益變化且層出不窮,提前感知網絡安全態勢與威脅,可幫助管理人員提前部署防御措施,增強網絡的自衛能力。然而,由于網絡安全數據呈現大規模、多特征、多源異構的特點,給現有的網絡安全態勢預測增加了巨大的挑戰[2]。早期的網絡安全態勢采取數理統計的方法[3~6]進行評估與預測,該方法綜合考慮影響網絡安全的因素,通過構建評估函數實現網絡安全態勢的評估。由于網絡攻擊手段具有復雜性、多特征、動態變化的特點,傳統的數理統計方法很難應對動態多變的網絡攻擊手段,進而無法保障網絡安全態勢評估的精度。因此,學者們開始采用知識推理的手段實現網絡安全態勢的評估,該方法基于先驗知識構建評估模型[7~10],然后結合后驗知識不斷修正網絡安全態勢評估模型,從而實現網絡安全態勢的動態評估。但是,知識推理的手段過于依賴先驗知識,從而導致模型的訓練和更新效率過于緩慢,不利于提高算法效率。如今,以卷積神經網絡[11,12]、自動編碼器[13~15]為代表的機器學習算法的興起,為網絡安全態勢評估的精度和效率提供了一些新的思路。然而,典型的機器學習算法并沒有充分考慮攻擊序列數據中存在的時序性,導致模型未能充分學習數據序列之間的表征關系,因此無法有效應對欺騙攻擊等網絡攻擊行為?;诖?,本文提出基于機器學習的安全態勢預測方法,該方法結合數據時序性對數據進行關聯規則學習并形成數據間的時序性關聯,結合注意力機制挖掘攻擊序列數據的時空特征,實現網絡安全態勢預測。

2 相關知識

2.1 機器學習

機器學習是現代計算領域的一個重要領域,為了使機器智能化,機器學習開始引入“人工智能”去學習和解決問題[16]。機器學習的算法大約分為以下幾種:

(1)梯度下降算法

梯度下降算法采用迭代的方式通過計算函數的偏導(或稱為函數的斜率、梯度)實現函數目標最小化。在每次迭代過程中,梯度下降算法通過學習率(步長)來減少系數在迭代過程中的變動值,以便經過多次迭代后達到函數的最小值。典型的梯度下降算法包括:隨機梯度下降法(SGD,Stochastic Gradient Descent)、批量梯度下降法(BGD,Batch Gradient Descent)和小批量梯度下降(MBGD,Mini-Batch Gradient Descent)。

(2)線性回歸算法

線性回歸算法作為監督機器學習算法的一種,利用變量之間的線性關系進行建模并實現預測。然而,由于采集手段的缺乏,線性回歸模型往往很難擬合現實世界中各種變量的關系,更何況在現實世界中的關聯關系往往都是非線性的,因此線性回歸算法無法很好處理復雜的變量關系。

(3)多元回歸分析算法

為了解決線性回歸算法的局限性,提出了多元回歸分析算法認為現實世界中存在多個獨立變量和一個輸出變量之間存在多對一的關系,因此在輸入多個獨立變量之后,能夠更好描述輸入變量和輸出變量之間的線性關系。

(4)邏輯回歸算法

邏輯回歸作為非線性回歸的代表,其通常用來處理分類問題。邏輯回歸不僅可以用于處理二分類問題,還可以用于處理多分類問題,通常來說,邏輯回歸不受數據中小噪音和多重共線性的應先給,因此通常用來預測疾病的風險。然而,邏輯回歸算法不擅長解決非線性擬合問題,容易出現過擬合現象。

(5)決策樹

為了解決非線性擬合的問題,一種有監督的機器學習方法被提出,這就是決策樹。決策樹基于一定參數連續分割數據來解決分類和回歸問題并具有高效性。然而,決策樹也有自身的局限,那就是容易出現過擬合和模型參數不穩定的現象。

(6)支持向量機

支持向量機采用超平面作為決策邊界來處理非線性擬合的問題。由于支持向量機采用了核函數泛化的方法來處理數據分類的問題,因此其很少存在過擬合的現象。然而,支持向量機在大規模數據分類模型構建時容易出現效率較低的現象,并很難找到合適的核函數。

(7)貝葉斯學習

貝葉斯學習基于先驗概率分布去訓練一個初始模型后,借助觀測值更新得到后驗分布,再結合后驗分布去更新初始模型以避免模型出現過擬合的現象。然而,貝葉斯模型在學習過程中假設先驗概率分布具有獨立性,但是在現實世界中,所有的輸入特征彼此獨立的假設是很難成立的。

(8)K近鄰算法

作為一種分類算法,K近鄰不需要假設分類數量,因此它通常稱為一種非參數分類模型。由于K近鄰的分類一般依賴樣本之間的距離,因此當樣本存在多個特征維度時,其計算復雜度往往較高。然而,K近鄰算法在分類過程中容易受到噪音和不相關因素的影響,所以其分類精度容易受到樣本數據質量的影響。

(9)k-means算法

作為無監督分類算法,k-means算法在處理大規模數據時展現了它的效率優勢。然而,該算法需要事前定義分類數量和初始類簇中心點,在大規模數據聚類過程中,每一次聚類的結果會存在不同程度的差異,因此無法確定最終的聚類結果。

(10)反向傳播算法

反向傳播算法通常用于深度學習,其采用反向傳播與隨機梯度下降結合使用的方式來逼近神經元的權重。該算法具有易于適應場景和有效處理噪音數據的影響的特點,但由于神經元數量較多,導致該算法需要擬合的參數也是海量的,因此該算法訓練時間通常較長。除此之外,反向傳播算法對每一個局部信息定義的權重是一樣的,因此無法針對關鍵的局部信息賦予更高的權重以便于提高分類過程中的效率。為了解決該問題,學者提出了注意力機制[17~18]。

2.2 注意力機制

注意力機制是2017年由A.Vaswani提出的,通過主動捕捉輸入樣本的輸入和輸出之間的關聯關系,從而對不同的內容分配不同的注意力權重矩陣。具體如圖1所示:

圖1 注意力機制

如圖1所示,輸入數據ai經過注意力機制模型學習后輸出的結果為bi,bi是通過在多個時間序列學習中篩選出與其關聯性較大的信息進行整合,具體的計算流程如下。

首先,初始化權重矩陣,并基于初始化的權重定義以下向量:

其中,Wq、Wk、Wv分別表示3個向量對應的初始化權重矩陣。

然后結合每一對ai與bi對權重矩陣進行調整,最后實現對不同的內容分配不同的注意力權重矩陣。

3 基于機器學習的安全態勢預測

3.1 基于告警序列數據的時序性關聯分析

由于告警數據來源于多個設備,因此它們在告警時間、告警間隔和告警類型上會有一定的偏差,并且存在很多字段缺失以及重復告警的問題。在對告警序列數據的時序性進行關聯分析之前,本文先刪除缺失記錄和剔除重復報警數據后,再采用聚類分析進一步剔除發生頻率較低和時間集中度較低的告警序列,因為此類型的告警數據大多數是由于隨機因素干擾所引起的虛假告警;最后,采用關聯規則算法(如FP-tree)生成頻繁項集,實現告警序列的時序性關聯分析。具體的處理過程如圖2所示。

圖2 基于告警序列數據的時序性關聯分析流程圖

3.2 結合注意力機制挖掘攻擊序列的時空特征

由于存在虛假攻擊等因素的影響,對攻擊序列頻繁項集進行時空特征挖掘往往忽略時空特征不一致的問題,因此本文通過融合CNN和LSTM模型,結合注意力模型對攻擊序列頻繁項集的時空特征進行融合,從而使得特征不僅具有空間表達能力和時間表達能力,還能保持同種攻擊類型所對應的攻擊序列頻繁項集具有時空特征一致性,如圖3所示。

圖3 結合注意力機制挖掘攻擊序列的時空特征示意圖

首先,基于卷積神經網絡(CNN,Convolutional Neural Networks)實現空間特征C的挖掘,空間特征表示為1×n維:

其次,結合長短期記憶網絡(LSTM,Long Short-Term Memory)實現時間特征H挖掘,時間特征表示為n×m維:

再次,結合注意力機制,保持時空特征的一致性問題,注意力機制能夠在很大程度上解釋差別較大的攻擊序列頻繁項集有可能在時空特征的表達上是一樣的,因為注意力機制能夠通過對局部特征進行有區別的賦值,所以針對虛假攻擊的攻擊序列,該方法往往忽略該序列的時間特征貢獻。因此,在注意力機制下,會出現差別較大的攻擊序列頻繁項集的時空表達具有一致性的現象。

通過計算獲取該序列在LSTM隱含層中的局部特征的權重賦值,并基于上述的權重獲得該序列的時間特征,時間特征表示為1×n維。

將公式(4)、公式(7)的空間特征和時間特征進行拼接,得到時空特征為:

至此,引入注意力機制對時空特征表達進行有機融合,得到融合后的時空特征f。

4 實驗分析

本實驗采用仿真的方式構建安全態勢仿真數據,攻擊類型包括拒絕服務攻擊、中間人攻擊、SQL注入攻擊(分別用1、2、3表示)3種,為了增加安全態勢預測的難度,本實驗在各類攻擊過程中都會隨機加入虛假攻擊的步驟,以便干擾網絡安全人員的判斷。經過一系列的攻擊模擬,獲取攻擊數據有531條,正常數據有149 854條。為了檢驗安全態勢預測的準確率,本文將上述數據中的70%作為訓練數據、30%作為測試數據,測試數據中所得到的攻擊序列頻繁項集時空特征經過支持向量機實現故障類型預測,安全人員基于當前故障類型預測結果判斷當前網絡的安全態勢預測。

為了驗證本文算法的性能,采用3種方法進行特征提取,將提取后的特征分別放入支持向量機中進行網絡安全態勢預測,這3種方法分別為:本文的融合注意力機制的時空特征一致性提取方法、CNN特征提取方法以及LSTM特征提取方法。準確性對比結果如圖4至圖6所示。

圖4 故障1的準確預測情況對比

如圖4所示,仿真實驗測試數據集里故障1的數量為57,3種方法基于告警序列頻繁項集的特征所預測到故障1的數量分別為44、16、37,準確率分別為77.2%、28.1%和64.9%。

如圖5所示,仿真實驗測試數據集里故障2的數量為47,3種方法基于告警序列頻繁項集的特征所預測到故障2的數量分別為33、15、22,準確率分別為70.2%、31.9%和46.8%。

圖5 故障2的準確預測情況對比

如圖6所示,仿真實驗測試數據集里故障3的數量為54,三種方法基于告警序列頻繁項集的特征所預測到故障3的數量分別為40、20、21,準確率分別為74.1%、37%和38.9%。

圖6 故障3的準確預測情況對比

由此可知,本文方法相比其他兩種方法的故障預測準確率高,這源于本文算法通過注意力機制對不同頻繁項集的對時空特征表達進行有機融合,在融合過程中,能夠對虛假攻擊的攻擊序列的時間特征進行有效過濾,因此形成了較高的預測準確率。而在3種故障預測中,中間人攻擊預測準確率較低,這可能源于中間人攻擊不像拒絕服務攻擊以及SQL注入攻擊那樣具有非常明確的攻擊步驟,這兩種攻擊往往有目的性地對目標主機進行一系列“滲透”動作后才能完成攻擊目的。

5 結束語

本文提出一種基于機器學習的安全態勢預測方法,該方法針對現有算法對告警數據時空特征提取的不一致問題,在對數據進行關聯規則學習并形成數據間時序性關聯的基礎上,采用注意力機制對告警序列頻繁項集的局部特征進行有區別賦值,從而實現時空特征的有機融合。仿真結果表明,本文方法相較于傳統的算法更能有效對抗虛假攻擊,可以提升網絡安全態勢評估的準確率,為網絡安全態勢評估提供參考。

猜你喜歡
項集態勢時空
跨越時空的相遇
鏡中的時空穿梭
2019年12月與11月相比汽車產銷延續了增長態勢
匯市延續小幅震蕩態勢
我國天然氣供需呈現緊平衡態勢
玩一次時空大“穿越”
時空之門
縣鄉一體化探索呈加速態勢
關聯規則中經典的Apriori算法研究
一種頻繁核心項集的快速挖掘算法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合