石鎮宇
(中移鐵通有限公司陜西分公司,陜西 西安 710061)
當前的單點防御措施由于缺乏有效的協作,已經很難實現網絡安全態勢的準確感知。因此,如何融合多源告警數據實現網絡安全態勢的準確感知,已經成為網絡安全領域的研究熱點之一。目前已經有很多學者投入到該領域的研究當中。Li 等人[1]從數據價值鏈的角度提出了網絡安全態勢感知的邏輯分析框架,分別是:要素獲取、模型表示、測量建立、解分析和態勢預測。Bao 等人[2]提出一種信息安全態勢感知系統優化設計的方法:通過提取數據源的通用安全特征,根據安全提取結果設置信息安全態勢感知標準參數,結合信息安全態勢感知標準參數實現網絡安全態勢的實時感知。Xi 等人[3]提出一種新型的網絡態勢感知工具——CNSSA(Comprehensive network Security situation awareness),用于全面感知網絡安全狀況,該工具基于多源網絡信息的融合,采用多種視角可視化的方式展現網絡安全狀況,使得網絡安全分析員能夠輕松、全面掌握網絡安全狀況。Liu 等人[4]提出一種基于多源融合的網絡安全態勢感知模型,模型從多源融合、攻擊軌跡重建和態勢評估三個步驟構建安全態勢感知:首先,采用粒子群優化算法獲得D-S 證據融合的最優權重,從而實現警報數據的融合,然后,利用警報復合差分構造攻擊軌跡,最后,結合威脅基因與威脅等級函數關系的推理,提出了一種面向層次攻擊軌跡的態勢感知方法。Gao 等人[5]設計一種基于多源信息融合的網絡安全態勢感知方法:通過對網絡多源數據元信息的采集、提取、預處理、歸一化和態勢計算實現態勢感知。由此可知,很多學者都致力于研究多源告警信息融合的網絡安全態勢感知方法,但是,大多數文獻沒有詳細論述采用哪些方法實現對不確定性的安全事件進行融合,除此以外,在態勢評估方面,大多數文獻都僅僅考慮層次分析法或模糊綜合法實現態勢評估,并沒有明確安全事件的類型。因此,本文通過深度學習利用告警信息的時空關聯性對多源告警信息進行分析、融合關聯;在此基礎上,采用最大概率攻擊路徑的方法更清晰展現網絡攻擊行為,實現網絡安全態勢的準確預測。
多源告警信息融合的方法作為一種有效檢測網絡攻擊行為的方法,目前已經被廣泛應用于真實網絡場景下。最初研究者采用關聯分析的方法實現網絡攻擊行為檢測,該方法通過集成數據挖掘、機器學習和統計分析技術,并借助Spark 等大數據平臺快速分析大規模多源告警信息并準確識別異常行為[6-11]。但上述方法不僅需要借助監督或者半監督的方法提取安全要素,還要借助機器學習的方法通過計算安全要素權重去除冗余屬性,不利于實現安全態勢模型的推廣應用。針對現有方法推廣能力差、穩定性和容錯能力差等問題,很多學者將目光瞄準深度學習方法,采用深度學習自主提取多源告警數據特征,并基于多層次特征實現多源告警信息的關聯分析[12-15]。
通過借鑒上述相關文獻,針對當前多源告警信息關聯分析過程中數據特征提取不完整,忽略數據之間的時空關系等問題,這里提出一種融合CNN(Convolutional Neural Networks,卷積神經網絡)和LSTM(Long Short-Term Memory,長短期記憶網絡)的多源告警信息關聯分析方法,從時間和空間提取多源告警信息數據的時序特征和空間特征,挖掘多源告警信息數據的時空關系,實現多源告警信息關聯分析。
該研究旨在從防火墻日志、網絡流量、安全告警、威脅情報等多源異構網絡安全數據中識別和發現攻擊行為。由于上述的各種信息源產生的基礎數據來源分散、語義多樣、格式異構,因此,通過對上述多源信息的關鍵字段進行抽取后,構建時間序列數據后,采用深度學習構建特征圖,實現多源異構數據的關聯。
提取防火墻日志的關鍵字段包含外部接口和內部接口互相傳遞的通信信息:時間、設備IP、網絡協議、源IP 地址、源MAC 地址、目的IP 地址、源端口、目的端口等。
網絡流量的隨機性、突發性對網絡安全的檢測帶來一定的干擾,關鍵字段包括:開始時間、持續時間、結束時間、源IP 地址、目標IP 地址、源端口、目的端口、包數、包大小、比特數、平均包大小。
安全告警數據含有明確的告警關鍵字段,包括:告警時間、源IP 地址、目標IP 地址、源端口、目標端口、數據包信息、URL 信息以及安全告警類型等。
威脅情報是關于IT、信息資產面臨現有或醞釀中的威脅的證據性知識,這里提取威脅指標、攻擊模式、檢測威脅工具以及漏洞信息等作為威脅情報的關鍵字段。
在獲取多源歷史告警信息數據的基礎上,構建多源告警信息時間序列數據,實現多源告警信息數據預處理;然后,對多源告警時間序列數據進行特征提取,構建時空特征圖,并將特征圖用于攻擊行為評估,基于特征評估結果計算誤差函數,實現網絡參數自適應更新。具體流程如圖1 所示。

圖1 多源告警信息關聯分析流程圖
多源告警信息數據時空特征提取過程如圖2 所示。首先,采用滑動窗口截取多源告警信息時間序列數據,從而構造指定長度的樣本,為多源告警信息數據時空特征提取提供數據基礎。其次,采用CNN 對樣本進行卷積操作、池化操作后,形成樣本的空間特征圖層,輸出局部空間特征圖層。再次,對局部空間特征圖層進行矩陣重建,采用LSTM 進一步學習告警信息數據的時序特征,輸出時空特征圖層。最后,采用Softmax 分類器對提取的時空特征進行分類檢測,輸出多源異構信息數據所屬類別的預測概率。

圖2 多源告警信息數據時空特征提取過程
反向傳播更新網絡參數的流程如圖3 所示。每一個滑動窗口的樣本經過CNN 和LSTM 進行特征提取后形成時空特征圖層,然后采用Softmax 實現攻擊行為預測。在對攻擊行為進行預測后,采用平方誤差代價函數計算預測值和真實值之間的誤差,并通過最小化誤差實現網絡參數的更新。

圖3 反向傳播更新網絡參數過程
定義平方誤差代價函數為:

其中,N為滑動窗口的個數,c表示攻擊類別的數量。tkn表示第n個樣本真實攻擊類別,可以將其視為向量Tk;ykn表示第n個樣本預測攻擊類別,可以將其視為向量Yk。定義第l層的輸出ul為:

其中,Wl表示第l層的權重,xl-1表示第l-1 層的輸入,bl表示第l層的偏置。
由于預測攻擊類別和真實類別之間必然存在誤差,因此,通過反向傳播,將誤差信息回傳給每一層,從而通過誤差逐層傳遞實現權值自適應修正??紤]到CNN 和LSTM 的網絡層數較多,采用梯度下降法實現權值更新。
初始化:對于每一層l,初始化ΔWl=0,Δb=0。
訓練過程:

E(X,Y) 是一種伯努利分布距離:

其中,η為梯度下降的學習率,M其訓練迭代次數。
由此可知,梯度下降法更新權值的速度取決于誤差代價函數對參數的梯度,當迭代次數達到一定的訓練次數M時,梯度下降的算法停止,得到最終的參數更新值。
在確定網絡參數的基礎上,融合CNN 和 LSTM 實現多源告警信息時空特征的提取,并形成單步攻擊的概率,為后續網絡安全態勢感知提供數據基礎。
由于單步攻擊行為評估具有不確定性,無法準確推斷攻擊者的攻擊意圖,因此,在獲取攻擊行為以及其概率的基礎上,采用攻擊圖模型推導最大概率攻擊路徑,實現精確的網絡安全態勢感知。
給定攻擊圖PAG=(S,E,Δ)和一系列攻擊行為序列O={o1,o2,…,on}以及其對應的發生概率為PO={p1,p2,…,pn}。其中,S表示攻擊節點集合;E表示攻擊節點之間因果關系的有向邊集合;Δ 表示條件概率表,當出現某一個攻擊行為后,下一時刻發生后續攻擊行為的概率;O是上一節單步攻擊行為的評估結果;PO表示單步攻擊行為發生的概率。S、E、O和PO均能夠通過上一節獲取,Δ 則需要通過歷史數據挖掘統計得出。
為了尋找一條攻擊概率最大的路徑(S0,S1,…,Si,G),借鑒文獻[16],通過累積概率推斷攻擊節點的累積概率,然后采用貪心算法尋找概率最大的攻擊路徑,縮小攻擊告警范圍,提升安全態勢感知方法的有效性。
假設在當前攻擊節點s狀態下,攻擊者有可能攻擊s1和s2。那么攻擊者有可能攻擊s1或者s2,在這種情況下,從s分別指向s1和s2執行“或”操作,那么,“或”操作的累積概率計算公式如下:

其中,CP(s1) 表示多源告警時空數據經過深度學習后預測攻擊行為s1的概率;CP(s2) 表示多源告警時空數據經過深度學習后預測攻擊行為s2的概率。Δ1和Δ2分別表示s到s1和s1到s2的條件概率。
假設在當前攻擊節點s狀態下,攻擊者有在攻擊s1后,攻擊s2。那么攻擊者是先攻擊s1再攻擊s2,在這種情況下,從s指向s1以及從s1指向s2執行概率“與”操作,累積概率計算公式如下:

其中,Δ1和Δ2分別表示s到s1和s1到s2的條件概率。
由此可知,通過觀察告警事件序列一連串的攻擊行為,計算攻擊者一系列行為的總體概率軌跡,只需要計算每個單步攻擊的累積概率,然后再根據“與”、“或”等操作,實現每一個攻擊節點的累積概率。在此基礎上,對每一個節點的累積概率進行排序,采用貪心法遍歷所有節點的排序情況,便能提取最大概率攻擊路徑(S0,S1,…,Si,G)。
通過模型的訓練和測試得出當前最大攻擊路徑后,結合受攻擊主機的攻擊類型以及受到攻擊概率計算當前主機的安全態勢值,最后通過所有主機的安全態勢值加權得到整個網絡的安全態勢值。
主機態勢通過攻擊威脅因子和攻擊概率決定的,主機的攻擊態勢隨著網絡運行狀況實時發生變化,在特定的觀測周期中,第i 臺主機的安全態勢為:

其中,attackj表示第j個攻擊類型,g為攻擊類型的數量,p(attackj) 表示最大攻擊路徑中第k臺主機的累積概率,f(attackj) 表示攻擊類型j的威脅因子。
整個網絡的安全態勢由網絡中每一條主機以及每一臺主機的權重值決定,那么在某一個觀測周期,整個網絡的安全態勢值為:

其中,vi表示主機i的權重,與主機在網絡中的位置有關。
使用仿真實驗的方法構建數據集來測試上述方法的有效性。通過設置5 個主機與遠程網絡客戶端進行通信,攻擊者通過遠程網絡對主機進行攻擊。仿真實驗中將針對客戶端嘗試使用FTP 或SSH 協議傳遞敏感數據的攻擊行為進行監測。數據集包括2 周的防火墻日志、網絡流量、安全告警、威脅情報。上述數據集的關鍵字段參見第1.1節的介紹,不再贅述。
(1)原始數據采集
該仿真數據集的采集時間歷時為2 周,觀測周期為120 分鐘,一共經歷168 個周期。通過人為模擬各種攻擊行為,防火墻日志、網絡流量、安全告警、威脅情報等多源異構網絡安全數據的采集情況描述如下。
防火墻日志有可能包含利用工具探測主機信息、共享端口被多次掃描等的告警信息。通過對防火墻日志進行處理,防火墻的告警信息和攻擊數據如表1 所示。

表1 防火墻日志集描述
網絡流量的兩種重要的場景分別為會話和流。實驗選取郵件流量和瀏覽器流量,這兩種流量分別代表STMP協議和HTTP 協議,通過對相關的流量數據關鍵字段進行收集實現流量特征提取。本實驗采集的流量樣本數量如表2 所示:

表2 流量數據集描述
通過模擬攻擊的方法攻擊H1、H2、H5 主機,告警數據和攻擊數據如表3 所示:

表3 告警數據集描述
威脅情報的指標從威脅情報數據導入到Microsoft Sentinel。通過對威脅情報進行關鍵字段提取,得到需要的關鍵信息。威脅類型、威脅次數如表4 所示:

表4 告警數據集描述
由表1—表4 可知,雖然網絡上各類數據告警源所提供的數據量很多,但是只有少量的數據與攻擊行為相關。通常來說,在一段時間內,網絡產生的威脅是相同的,但是告警信息則由于多個不同的設備產生,會形成冗余的告警數據。因此,在一個觀測周期內(120 分鐘),對多源異構信息按照每5 分鐘時間序列,構建的字段如下所示:
防火墻:設備IP、網絡協議、源IP、源MAC 地址、目的IP、源端口、目標端口;
網絡流量:開始時間、持續時間、結束時間、源IP 地址、目標IP 地址、源端口、目標端口、包數、包大小、比特數、平均包大?。?/p>
告警數據:告警時間、源IP 地址、目標IP 地址、源端口、目標端口、數據包信息、URL 信息、告警類型;
威脅情報:威脅指標、攻擊模式、威脅工具、漏洞信息。
在構建告警信息時間序列數據,并采用深度學習提取每一個時間序列的取的時空特征并利用Softmax 對攻擊行為進行預測,確定攻擊節點和單步攻擊行為的概率。然后采用攻擊圖模型推導出最大概率攻擊路徑;并對最大概率攻擊路徑所涉及到的主機進行安全態勢預測。根據文獻[17],對不同攻擊類型的威脅因子進行賦值,得到每一個主機的安全態勢值。相關的攻擊類型的威脅因子值如表5 所示。

表5 攻擊類型的威脅因子取值
在獲取有受到攻擊威脅主機的安全態勢值基礎上,結合各主機在網絡中的影響程度,采用加權平均的方法求出整個網絡的安全態勢值。
為了對比算法的有效性,分別用本文的模型、支持向量機和隱馬爾可夫模型對上述的數據進行測試。在對比過程中,本文算法與支持向量機和隱馬爾可夫模型的不同之處在于對多源異構數據進行時空特征提取以及單步預測兩方面,后面的多步攻擊意圖預測以及安全態勢的計算過程完全一致。各種模型的精確率結果如表6 所示。

表6 各種模型對攻擊行為識別準確率
從表6 可知,本文模型對于相同的網絡攻擊數據分類,從不同周期的精確度上比較都優于支持向量機和隱馬爾可夫模型,因此,本文提出的時空特征提取以及單步攻擊的概率預測比較適用于現有攻擊手段的識別。
圖4 展現了3 臺主機在受到網絡攻擊時的網絡安全態勢值變化曲線,態勢值每10 分鐘采樣一次。

圖4 主機1、主機2、主機5以及整個網絡的網絡安全態勢值隨時間變化曲線
由圖4 可知,主機H1、H2 和H5 處于被攻擊階段,網絡的安全態勢值隨著時間的推移明顯上升,網絡一直處于高風險的狀態,管理員應該根據主機和整個網絡的安全狀態盡快做出決策。本文提出的方法能夠生成正確的網絡安全態勢圖,正確反映主機及整個網絡的安全態勢值,能夠為網絡管理員的決策提供依據。
本文針對傳統單點告警數據缺乏有效協作的問題,提出了一種融合多源告警數據的安全態勢感知方法,該方法利用深度學習對告警數據實現時空關聯,然后采用最大概率攻擊路徑實現網絡攻擊行為的意圖推測,從而實現安全態勢的準確預測。仿真表明,該算法檢測精度高,能有效地結合告警信息對網絡安全態勢值進行有效評估,正確呈現網絡威脅的位置,實現網絡攻擊的精準定位。