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