摘要:
摘要: 在傳統網絡防御手段抵御攻擊的基礎上,提出了一種利用機器學習的方法來達到網絡安全態勢感知的新方案。為了有效地獲得告警事件,本文引入了告警關聯分析的技術,通過分析多源告警信息的關聯度從而降低誤報率;為了準確地重建攻擊場景,本文引入CEP技術處理海量告警信息,并利用基于馬爾可夫性質的因果關聯分析構建起知識庫。分析表明,該方案具有可靠性強、適用性好、計算量小、準確度高的特點,特別適合于大數據環境。
1. 引言
隨著信息技術的飛躍式發展和互聯網的快速普及,用戶在體驗到新技術帶來的便捷、高效的同時也深受網絡攻擊引發的破壞。目前,我們熟知的網絡威脅有:網絡病毒、木馬、DOS/DDOS攻擊等等。這些攻擊帶來的告警信息是海量的,冗余的,然而傳統的網絡安全技術還不能完全地、及時地處理這些告警數據。
現今主流的網絡防御手段還是在保護、檢測、響應的模型下開展的。雖然一個網絡環境中部署多個安全防御設備起到了一定的作用,但是卻在工作的同時產生了大量的,價值密度低的告警和日志信息。通常情況下一個攻擊往往是分多步實施的,但告警信息卻只指針對于其中某一步,是單一的,分散的,以至于還原攻擊場景或是攻擊過程是困難的。因此這些大量的、繁雜的安全事件數據不僅沒有有效地對攻擊進行防御,還在無形中給決策者帶來了更大的工作量。網絡安全態勢感知就是將網絡攻擊場景通過重建的方式,有效地,準確地還原攻擊活動的全貌,達到對整個網絡安全態勢進行監控的目的,這在網絡安全防御中顯得至關重要,這也是網絡安全態勢感知領域中面臨的一個難題之一。
針對網絡攻擊高效的告警預測提出一種基于機器學習的網絡安全態勢感知的關聯分析方法 [1],利用該方法獲取價值密度高的告警事件,通過聚類、關聯分析構建出規則知識庫,并對攻擊場景進行重建,從而達到告警預測的目的。
2. 基于地址相關性的告警事件聚類
利用因果關聯分析的方法進行關聯分析,首先是要把具有相關性的告警事件聚成一類,然后對同一類簇中的告警事件進行因果關聯分析 [2]。具體而言聚類就是把抽象的對象集合根據類似的特征分成多個類的過程。首先把原始告警數據進行預處理,對來自不同安全設備的告警事件進行統一格式,提取出不同事件關鍵的描述字段,包括以下12條屬性,用這12條屬性就可以清楚的描述一個安全事件。如表1所示。
根據告警事件處理的原則,依照事件嚴重等級、攻擊行為強度、攻擊持續時間等依據從12條屬性中挑選出具有代表性的7個屬性作為告警事件聚類時的匹配格式:
其中attacktime是安全事件發生的時間;attacktype是安全事件所屬的類型;sourceIP是發起攻擊或安全事件中的源IP地址;sourcePort是發起安全事件發生的源端口;targetIP是發起攻擊或安全事件中的目的IP地址;targetPort是發起安全事件發生的目標端口;severity是安全事件所屬的威脅等級。
Table 1. Key fields of a security event
表1. 安全事件的關鍵字段
由于例如一個DDOS攻擊,它們攻擊的每一步之間的IP地址一定存在相關性,所以就可以利用IP相關性進行聚類。同樣地,其他的攻擊也一定存在著這種相關性。那么就可以根據多步攻擊之間的IP地址肯定具有相關性,即上一步的攻擊 a1a1 中目的IP很有可能是下一個攻擊 a2a2 的源IP,或者說上一個攻擊 a1a1 的源IP地址或目的IP地址之中總有一個和攻擊 a2a2 的目的地址或源地址相同。快速把告警事件聚類在一起。如圖1是聚類的流程圖。
Figure 1. Flow chart based on alarm clustering algorithm
圖1. 基于告警聚類算法的流程圖
3. 攻擊場景重建
將分散的告警事件依據地址相關性進行聚類后,得到了一個個的告警類簇。下面就是要根據這些類簇展開關聯分析。具體地:通過統計大量告警事件,分析上一個告警事件發生后到下一個告警事件發生它們之間的必然聯系,即上一個事件發生后下一個事件一定發生的可能性大小,然后根據實際需求人為的設置好的支持度a,當支持度達到值a的時候,就認為它們兩個攻擊之間的發生存在必然性,就可以將它們之間的關聯度納入規則知識庫中,這樣就在關聯分析的同時建立了關聯規則知識庫,有利于在發現新的告警的時候實時地增加進去 [3]。
如圖2所示,是對假設可能的攻擊行為構建的一步轉移概率矩陣模型,將告警事件寫成行列的形式,表示各個告警事件發生之間的關聯度。例如0.4表示當告警事件a發生后b發生的概率為0.4。在一步轉移概率矩陣 D={dij}D={dij} 中每一個元素 dijdij 表示當前時刻i到下一時刻j的條件概率為 p(i|j)p(i|j)。因為馬爾可夫鏈的性質要求各個狀態的轉移概率之和必須為1,這樣就得到了一個個獨立的因果知識矩陣。假如當遍歷一個告警序列時,出現了新的告警事件類型,這時只要在矩陣中再加入新的一行 (ai+1)(ai+1) 一列 (aj+1)(aj+1),這樣既能確保矩陣完全包含新的攻擊類型,又能快速加入新出現的告警類型,做到實時檢測,動態添加,不重不漏。
Figure 2. A one-step transition probability matrix between attack types
圖2. 攻擊類型間的一步轉移概率矩陣
圖2也可以用馬爾可夫鏈模型來表示,其中的每一個狀態都代表一個攻擊類型,各個狀態之間的轉移概率表示一個攻擊轉移到下一個攻擊的條件概率。因為馬爾可夫鏈具有無后效性,也就是說,每一個攻擊的發生只與它的上一個攻擊有關,與其它均無關。如圖3所示,即
Figure 3. Markov chain model
圖3. 馬爾可夫鏈模型
4. 系統測試
4.1. 整體方案設計
為了實現網絡安全態勢的動態感知和實時的告警預測,需要對告警事件進行深入挖掘,研究告警事件之間存在的某些必然聯系,進而利用它們的關聯關系,分析并掌握整個網絡的發展趨勢,從而達到態勢感知的目的 [4]。為此設計了如圖4的方案整體框架:
Figure 4. Overall scheme framework
圖4. 方案整體框架
利用三個模塊構建對告警數據進行采集、預處理、關聯分析最終到攻擊場景重建。
數據采集模塊:利用搭建的數據處理平臺中的各個代理從不同環境采集系統日志信息、應用日志信息、安全日志信息和網絡日志信息等格式未統一的數據,然后經過數據庫統一整合后將這些信息遞交給數據處理模塊。
數據處理模塊:由于從數據采集模塊獲得的安全事件格式是不一致的,而且它們往往存在重復冗余、誤報率高、分散獨立、價值密度低等問題。利用數據處理模塊中已有的告警數據庫比對,首先對這些數據進行預處理,合并在同一時刻重復的信息,去除誤報信息,將針對同一屬性的信息進行聚類融合,并統一格式,這個過程同時是迭代更新的,不斷比對告警數據,不斷增加新的告警信息 [5]。針對每一個告警類簇進行關聯分析,統計出每條攻擊之間的關聯度,并構建起規則知識庫。
攻擊場景重建模塊:再根據得到的具有關聯規則的安全事件,還原出攻擊場景,并提交到控制中心,當接下來再得到安全事件時,可直接與規則知識庫進行匹配,來判斷攻擊類型。供決策者進行下一步處理。
4.2. 方案實現
測試采用的是DARPA2000的攻擊場景測評數據集LLDOS1.0來進行因果關聯分析的。DARPA2000是當下最具權威性的入侵檢測攻擊場景測評數據集,并被廣泛用于驗證針對各類告警事件的關聯規則的有效性中。
DARPA2000是一個DDOS攻擊的測評數據集,具體的攻擊過程可以分為五個階段,如圖5所示:預探測網絡環境,也就是初步探測是否具備攻擊條件,漏洞掃描,通過掃描獲得多個可以實施攻擊的漏洞,root權限獲取,安裝木馬軟件以及實施遠程DDOS攻擊。
Figure 5. DDOS Attack process based on sadmind vulnerability
圖5. 根據Sadmind漏洞進行的DDOS攻擊流程
首先針對這五個階段的告警事件進行基于地址相關性的聚類,從而得到了6個類簇: A1~A6A1~A6 然后再利用基于馬爾可夫性質的因果關聯知識挖掘算法對得到的6個告警類簇進行因果知識挖掘。得到同一類簇中各告警之間的關聯度,如表2所示 [6]。
Table 2. The attack step is related to the corresponding alarm
表2. 攻擊步驟對對應的告警關聯度
然后對各個攻擊類型進行編號,如表3所示:
Table 3. Attack types and their corresponding Numbers
表3. 攻擊類型及其對應編號
根據因果知識關聯分析算法所得到的攻擊類型之間的轉移概率,再結合表2對各攻擊類型的編號可以得出12種攻擊類型的12 * 12轉移概率矩陣 [7]。矩陣中各行和各列所對應的數值表示發生該行告警事件后發生該列告警事件的概率。例如a12 = 0.633表示當發生告警事件1 (ICMP PING)后發生告警事件2 (FTP Bad Login)和轉移概率為0.633。如圖6所示:
Figure 6. Based on DARPA2000 alarm type shift probability matrix
圖6. 基于DARPA2000告警攻擊類型轉移概率矩陣
圖7是對概率矩陣圖形化的表示,也是一個完整的攻擊場景重建。
Figure 7. Causal knowledge of markov chain models for DDOS attack scenarios
圖7. DDOS攻擊場景的馬爾可夫鏈模型因果知識
根據攻擊場景的重現,可以直觀地展示出DDOS攻擊的全過程,它主要分為了五個階段:預探測網絡環境(RPC Sadmind UDP PING)、漏洞的掃描(RPC sadmind UDP NETMGT_PROC_SERVICE CLIENT_DOMAIN overflow attempt)、利用solaris的漏洞sadmind進入系統(RSERVICES rsh root)、安裝木馬軟件mstream DDOS (DDOS mstream Handler to client或DDOS mstream client to Handler)以及發起遠程DDOS攻擊(BAD-TRAFFIC Loopback traffic)。并且清楚地看到每一步攻擊之間的轉移概率為:a46 = 0.257、a68 = 0.260、a89 = 0.500或a810 = 0.250以及a11,12 = 0.143。也可以發現,攻擊者在采取關鍵攻擊的同時,也會嘗試采取一些其他的攻擊活動。
5. 結束語
本課題主要研究了基于機器學習的網絡安全態勢感知技術,以機器學習方法作為主要手段,將關聯分析法和事件因果關系相結合,在構建貝葉斯網絡的基礎下,對數據進行去除、分類和識別等處理,然后利用馬爾可夫鏈模型,產生概率矩陣并構建出動態規則知識庫。從而達到告警預測和攻擊場景重建的目的,并向決策者提供處理意見。對傳統的網絡安全監控進行了改進,更適用于大數據、復雜網絡的環境下。
通過試驗發現各個看似獨立分散的告警數據之間的確存在著必然的聯系,例如源IP或目的IP地址相同的告警事件就很有可能是一個攻擊行為中多個步驟。利用機器學習中因果關聯分析的方法在對數據從采集、挖掘、處理到分析的全過程中,可以有效地快速地挖掘告警數據之間的關聯度,并建立起規則知識庫,從而達到針對現有的告警事件推測出下一步具有大概率發生的攻擊的可能性,也能夠對已發生的攻擊進行場景還原,得到可視化的轉移圖,更加直觀地為決策者提供支持。測試結果表明:
1) 一個攻擊行為的確是分為多步實施的;
2) 具有地址相關性的告警事件的確存在必然聯系;
3) 針對告警事件關聯度預測可能發生的攻擊是有效,可靠的;
4) 基于馬爾可夫性質的告警關聯規則能夠更好地滿足攻擊種類不斷更新的現狀;
5) 因果知識庫的動態建立提高了效率,更加適應于大數據環境下;
6) 對攻擊類型一步轉移矩陣的圖形化表示,更加直觀,清晰,有利于對網絡態勢的整體掌握
審核編輯:湯梓紅
-
網絡安全
+關注
關注
10文章
3132瀏覽量
59612 -
機器學習
+關注
關注
66文章
8382瀏覽量
132439 -
感知技術
+關注
關注
1文章
35瀏覽量
10045
發布評論請先 登錄
相關推薦
評論