本發(fā)明屬于網(wǎng)絡安全技術領域,特別涉及一種基于多源異常事件關聯(lián)分析的多步攻擊檢測方法。
背景技術:
隨著網(wǎng)絡技術的發(fā)展,網(wǎng)絡安全威脅的方式層出不窮,病毒、蠕蟲、后門、木馬等網(wǎng)絡攻擊方式越來越多,網(wǎng)絡空間安全正逐漸受到人們的廣泛關注。為應對多種多樣的攻擊方式,相應出現(xiàn)了多種檢測和阻斷的防御手段,攻擊技術也在不斷發(fā)展,單一手段對目標的攻擊滲透方式已很難奏效,多步攻擊已成為主流攻擊樣式,其主要特征表現(xiàn)在:在單個主機上的攻擊行為具有多步性,在目標網(wǎng)絡內對多個主機的滲透過程具有多步性。
現(xiàn)有對網(wǎng)絡攻擊的檢測手段主要可分為兩種,特征檢測和異常檢測。1)基于特征的檢測方法,采用黑名單和特征匹配機制,根據(jù)已被發(fā)現(xiàn)的攻擊特征,包括文件Hash值、惡意IP地址和域名、后門程序的通信特征等,對已知類型的攻擊檢測和防御有較好的效果,但是也有明顯的缺陷。首先是需要維護和更新復雜的問題,不能應對未知攻擊和已知攻擊的變種形式,攻擊者可以通過一些簡單的手段規(guī)避系統(tǒng)檢測。因此即使是在部署入侵檢測系統(tǒng)的網(wǎng)絡環(huán)境中,成功的攻擊事件還是頻頻發(fā)生。2)異常檢測技術,是應對未知威脅的可行方法,通過將系統(tǒng)行為定義為“正常”和“異?!眱深?,符合預期的行為定義為正常行為,而與“正?!毙袨楸畴x較大的定義為異常行為,監(jiān)視日志記錄中系統(tǒng)使用的異常情況,檢測出違反安全的事件。在檢測時,將系統(tǒng)日志與已經(jīng)建立的正常行為特征相比較,若相異程度超過某個閾值,就認為是一個入侵行為?,F(xiàn)有異常檢測技術的缺點在于不能檢測合作式攻擊,且由于異常檢測技術本身誤報情況嚴重,影響了其推廣應用,如何降低誤報也是異常檢測技術研究的關鍵問題。
由于缺乏聚合和關聯(lián)攻擊活動的模型和框架,傳統(tǒng)的入侵檢測與分析問題仍未得到很好的解答?,F(xiàn)有檢測方法的長時間滯后性和人工依賴性,給及時防御網(wǎng)絡攻擊帶來巨大挑戰(zhàn)。由于網(wǎng)絡攻防領域的博弈特性,檢測方的滯后性不可避免,而縮短針對攻擊行為的檢測時間,可使攻擊造成的損失和破壞降到最小。
技術實現(xiàn)要素:
針對現(xiàn)有技術中的不足,本發(fā)明提供一種基于多源異常事件關聯(lián)分析的多步攻擊檢測方法,通過對攻擊鏈異常評分,對各類數(shù)據(jù)作有效關聯(lián),檢測及重構多步攻擊場景,提高網(wǎng)絡安全威脅檢測的準確率,對網(wǎng)絡攻擊事件提前預測,有效保證網(wǎng)絡的安全。
按照本發(fā)明所提供的設計方案,一種基于多源異常事件關聯(lián)分析的多步攻擊檢測方法,包含如下步驟:
步驟1、通過特征檢測產(chǎn)生基于特征碼的檢測數(shù)據(jù),并通過異常評分生成異常事件;
步驟2、對多源數(shù)據(jù)進行采集匯聚,識別異常主機,基于主機進行事件聚合,獲取攻擊事件和攻擊進程;
步驟3、通過鏈內關聯(lián)、鏈間關聯(lián)和特征聚類對攻擊進程進行關聯(lián)重組;
步驟4、重構多步攻擊場景,輸出預測攻擊事件。
上述的,步驟2包含如下內容:采用攻擊鏈評分方法,對攻擊事件和攻擊進程進行量化,識別異常主機,基于受害主機進行事件聚合,將涉及同一主機的事件提取至同一集合。
上述的,對攻擊事件和攻擊進程進行量化,包含內容如下:形成攻擊鏈的攻擊事件,攻擊事件包含:源和目的主機標識,事件類型,事件標記,攻擊階段,起始和終止時間,安全評分;滿足攻擊鏈邏輯特征的事件組形成攻擊進程。
優(yōu)選的,攻擊事件表示為:
Event:(hsrc,hdst,e,m,p,tstart,tend,s)
其中,h表示源主機和目的主機的IP地址,e表示事件類型,m表示事件標記,k表示攻擊步驟/階段,tstart和tend分別表示事件的起始時間和終止時間,s是對事件的安全評分;攻擊進程定義為一個有序的k元組,每一個事件根據(jù)事件類型歸屬于某攻擊階段,表示為:
AP:(Event1,Event2,Event3,...,Eventn)
其中:n個攻擊事件的hsrc和hdst相同,即整體攻擊進程AP的hsrc,表示為hsrc(AP),與n個事件對應的攻擊階段為:
AP:(p1,p2,p3,...,pn)
p是攻擊鏈中的一個階段;pn的集合元素大于2;pk+1≥pk。
上述的,步驟3的通過鏈內關聯(lián)、鏈間關聯(lián)和特征聚類對攻擊進程進行關聯(lián)重組,包含如下內容:對單個主機的事件進行分析,對攻擊進程中缺失數(shù)據(jù)信息進行填充,生成疑似攻擊進程;對跨多個垂直關系之間因果相連事件進行解析,標識攻擊進程之間的公共信息缺失,使用來自一個攻擊進程的知識填充另一個攻擊進程,根據(jù)不同攻擊進程之間的關聯(lián),找出同屬一個攻擊場景的行為;將不同攻擊進程中具有相同事件標記的事件作聚類操作,建立無向連接邊。
上述的,對攻擊進程中缺失數(shù)據(jù)信息進行填充,生成疑似攻擊進程,包含如下內容:根據(jù)時間特征和邏輯關聯(lián)性對攻擊進程進行關聯(lián),將涉及同一主機的事件按攻擊階段和邏輯順序組合,通過在事件之間添加虛擬連接邊,建立因果關系,對漏失元素添加假設填充,生成疑似多步攻擊的攻擊進程。
上述的,使用來自一個攻擊進程的知識填充另一個攻擊進程,根據(jù)不同攻擊進程之間的關聯(lián),找出同屬一個攻擊場景的行為,包含如下內容:按節(jié)點間通信關系和事件主體,在多個進程間添加關聯(lián)邊,填充不同節(jié)點之間的偏序關系。
上述的,使用來自一個攻擊進程的知識填充另一個攻擊進程,根據(jù)不同攻擊進程之間的關聯(lián),找出同屬一個攻擊場景的行為,包含如下內容:從攻擊因果關聯(lián)角度,根據(jù)邏輯推斷將不同攻擊進程關聯(lián)同一攻擊場景中。
上述的,將不同攻擊進程中具有相同事件標記的事件作聚類操作,是指:通過攻擊事件相同元素特征,獲取攻擊進程相似度,通過相似度,攻擊進程之間建立聯(lián)系,完成攻擊進程聚合。
上述的,重構多步攻擊場景,輸出預測攻擊事件,包含如下內容:根據(jù)關聯(lián)重組結果,建立按攻擊階段排序的攻擊圖,匹配重構出多步攻擊場景,根據(jù)攻擊知識和關聯(lián),輸出潛在的預測攻擊事件。
本發(fā)明的有益效果:
本發(fā)明提供的一種基于多源異常事件關聯(lián)分析的多步攻擊檢測方法,通過特征檢測和異常事件定義與識別;計算基于攻擊鏈的安全事件評分,識別出異常主機,并以受害主機為線索聚合各類事件;然后采用鏈內關聯(lián)、鏈間關聯(lián)、特征聚類等手段對疑似攻擊進程進一步關聯(lián)重組,最后基于此重構出多步攻擊場景,輸出預測攻擊事件。通過對分散孤立的安全事件進行關聯(lián)聚合,生成相對完整的多步攻擊場景,可提高安全管理人員的安全分析能力,拓展安全視角,幫助有效應對分布零散的多步攻擊威脅,縮短攻擊行為的發(fā)現(xiàn)時間,為應對APT等高級攻擊手段提供一種有效的預測防御解決方案;有效提升網(wǎng)絡的整體安全性,降低系統(tǒng)安全風險。
附圖說明:
圖1是本發(fā)明的方法流程示意圖;
圖2是多步攻擊檢測模型示意圖;
圖3是多步攻擊檢測模型數(shù)據(jù)流轉示意圖;
圖4是多步攻擊檢測實例具體流程圖;
圖5是鏈內關聯(lián)分析示例圖;
圖6是鏈間關聯(lián)分析示例圖;
圖7是特征聚類分析示例圖。
具體實施方式:
下面結合附圖和技術方案對本發(fā)明作進一步詳細的說明,并通過優(yōu)選的實施例詳細說明本發(fā)明的實施方式,但本發(fā)明的實施方式并不限于此。
實施例一,參見圖1所示,一種基于多源異常事件關聯(lián)分析的多步攻擊檢測方法,包含如下步驟:
步驟1、通過特征檢測產(chǎn)生基于特征碼的檢測數(shù)據(jù),并通過異常評分生成異常事件;
步驟2、對多源數(shù)據(jù)進行采集匯聚,識別異常主機,基于主機進行事件聚合,獲取攻擊事件和攻擊進程;
步驟3、通過鏈內關聯(lián)、鏈間關聯(lián)和特征聚類對攻擊進程進行關聯(lián)重組;
步驟4、重構多步攻擊場景,輸出預測攻擊事件。
通過對分散孤立的安全事件進行關聯(lián)聚合,生成相對完整的多步攻擊場景,提高安全管理人員的安全分析能力,拓展安全視角,幫助有效應對分布零散的多步攻擊威脅,縮短攻擊行為的發(fā)現(xiàn)時間,為應對APT等高級攻擊手段提供一種有效的預測防御解決方案;有效提升網(wǎng)絡的整體安全性,降低系統(tǒng)安全風險。
實施例二,參見圖1~7所示,一種基于多源異常事件關聯(lián)分析的多步攻擊檢測方法,包含如下內容:
一)、通過特征檢測產(chǎn)生基于特征碼的檢測數(shù)據(jù),并通過異常評分生成異常事件。
二)、對多源數(shù)據(jù)進行采集匯聚,識別異常主機,基于主機進行事件聚合,獲取攻擊事件和攻擊進程。
采用攻擊鏈評分方法,對攻擊事件和攻擊進程進行量化,形成攻擊鏈的攻擊事件,攻擊事件包含:源和目的主機標識,事件類型,事件標記,攻擊階段,起始和終止時間,安全評分;滿足攻擊鏈邏輯特征的事件組形成攻擊進程。識別異常主機,基于受害主機進行事件聚合,將涉及同一主機的事件提取至同一集合。
優(yōu)選的,攻擊事件表示為:
Event:(hsrc,hdst,e,m,p,tstart,tend,s)
其中,h表示源主機和目的主機的IP地址,e表示事件類型,m表示事件標記,k表示攻擊步驟/階段,tstart和tend分別表示事件的起始時間和終止時間,s是對事件的安全評分;攻擊進程定義為一個有序的k元組,每一個事件根據(jù)事件類型歸屬于某攻擊階段,表示為:
AP:(Event1,Event2,Event3,...,Eventn)
其中:n個攻擊事件的hsrc和hdst相同,即整體攻擊進程AP的hsrc,表示為hsrc(AP),與n個事件對應的攻擊階段為:
AP:(p1,p2,p3,...,pn)
,p是攻擊鏈中的一個階段;pn的集合元素大于2,即攻擊進程中至少存在兩個階段的事件;
pk+1≥pk,即Eventk+1和Eventk同屬一個階段或Eventk+1是Eventk的下一階段。
三)、通過鏈內關聯(lián)、鏈間關聯(lián)和特征聚類對攻擊進程進行關聯(lián)重組。
對單個主機的事件進行分析,對攻擊進程中缺失數(shù)據(jù)信息進行填充,根據(jù)時間特征和邏輯關聯(lián)性對攻擊進程進行關聯(lián),將涉及同一主機的事件按攻擊階段和邏輯順序組合,通過在事件之間添加虛擬連接邊,建立因果關系,對漏失元素添加假設填充,生成疑似多步攻擊的攻擊進程。對跨多個垂直關系之間因果相連事件進行解析,標識攻擊進程之間的公共信息缺失,使用來自一個攻擊進程的知識填充另一個攻擊進程,根據(jù)不同攻擊進程之間的關聯(lián):按節(jié)點間通信關系和事件主體,在多個進程間添加關聯(lián)邊,填充不同節(jié)點之間的偏序關系;或從攻擊因果關聯(lián)角度,根據(jù)邏輯推斷將不同攻擊進程關聯(lián)同一攻擊場景中。將不同攻擊進程中具有相同事件標記的事件作聚類操作,建立無向連接邊,通過攻擊事件相同元素特征,獲取攻擊進程相似度,通過相似度,攻擊進程之間建立聯(lián)系,完成攻擊進程聚合。
四)、重構多步攻擊場景,輸出預測攻擊事件,根據(jù)關聯(lián)重組結果,建立按攻擊階段排序的攻擊圖,匹配重構出多步攻擊場景,根據(jù)攻擊知識和關聯(lián),輸出潛在的預測攻擊事件。
為了使本發(fā)明的目的、方法特點和優(yōu)點更為清晰,下面結合附圖2~7對本發(fā)明作進一步詳細描述。
參見圖2檢測模型示意圖和圖3數(shù)據(jù)流轉示意圖中:
S101、本發(fā)明的基礎數(shù)據(jù):一是入侵檢測系統(tǒng)、防病毒軟件等基于特征檢測技術的安全事件結果;另一部分是基于終端節(jié)點采集數(shù)據(jù)的異常檢測結果;
S102、首先基于攻擊鏈將兩類安全事件進行聚合與評分,識別出異常主機,在此階段以原始數(shù)據(jù)為輸入,生成安全事件集合;
S103、安全事件輸入至鏈內關聯(lián)分析模塊,將分散孤立的安全事件關聯(lián)成攻擊進程;再經(jīng)過鏈間關聯(lián)和特征聚類,將攻擊進程關聯(lián)成攻擊場景;
S104、最后通過攻擊場景重構,生成最終攻擊場景。
圖4中多步攻擊檢測模型流程圖中:
S301、兩類基礎數(shù)據(jù)源:入侵檢測系統(tǒng)、防病毒軟件等特征檢測結果,以及基于異常評分方法生成的異常事件;
S302、多源數(shù)據(jù)采集與匯聚;
S303、基于主機的事件聚合,即將涉及同一主機的事件提取至同一集合中;
S304、鏈內關聯(lián):結合攻擊鏈模型,將涉及同一主機的事件按攻擊階段和邏輯順序組合,對漏失元素添加假設和填充,生成攻擊進程;
S305、鏈間關聯(lián):按節(jié)點通信關系和事件主體,在多個攻擊進程間添加關聯(lián)邊,填充不同節(jié)點之間的關系;
S306、特征聚類:將不同攻擊進程中具有的相同事件標記的事件作聚類操作,建立無向連接邊;
S307、基于攻擊圖技術,綜合以上三種關聯(lián)結果,組合生成攻擊場景,對關聯(lián)結果作評估預測,并按置信度高低排序上報給安全管理人員。
具體的,鏈內關聯(lián)分析實例如圖5所示:
在圖5中,實線表示檢測出的攻擊行為,虛線表示未被檢測到的事件,是依據(jù)現(xiàn)有數(shù)據(jù)源得出的假設事件。圖5中表示的攻擊示例是:受害主機收到帶有木馬程序附件的郵件,安全檢測軟件并未給出報警,但是隨后受害主機上有新進程創(chuàng)建及安裝新服務的事件發(fā)生。綜合現(xiàn)有因素可以推斷出,攻擊者可能采用了某種隱蔽手段繞過安全軟件的檢測,對系統(tǒng)進行滲透,進一步地可以推測,受害主機后續(xù)可能會向C&C服務器發(fā)出異常的網(wǎng)絡請求,并在宿主機上按照指令執(zhí)行相應操作。將由于信息缺失而未被檢測出的事件標注添加到攻擊進程中,得出相對完整的攻擊過程。
鏈間關聯(lián)分析實例如圖6所示:
在圖6中,實線表示檢測出的攻擊行為,虛線表示未被檢測到的事件,是依據(jù)現(xiàn)有數(shù)據(jù)源得出的假設事件。圖6表示的攻擊示例是:在Host1上檢測到相對完整的攻擊進程,已被攻陷的主機節(jié)點,Host2上檢測到以Host1為源主機的投遞和侵入過程,Host3是收到Host2的滲透連接,并有安裝運行新程序的現(xiàn)象,以及未知外連,可在Host1與Host2以及Host2與Host3之間分別建立假設連接,形成攻擊進程組合。
特征聚類分析實例如圖7所示:
特征聚類以上述安全事件庫和攻擊進程庫作為輸入,且伴隨數(shù)據(jù)的實時接入,將輸入數(shù)據(jù)源根據(jù)外連IP或域名、C&C服務器特征、類似惡意代碼、投遞階段的釣魚郵件中的相同URL、主機中出現(xiàn)的相同的新進程、新服務等攻擊特征將其聚類為攻擊進程群組、安全事件群組或事件-進程群組,在特征事件間添加無向連接邊;對于未聚類的安全事件和攻擊進程仍然返回送至安全事件庫和攻擊進程,當有新數(shù)據(jù)到來時,對事件和進程進一步檢測。
通過鏈內關聯(lián)、鏈間關聯(lián)和特征聚類,原本孤立分散的事件之間已經(jīng)建立初步聯(lián)系,并可將原始事件組織成按攻擊階段排序的攻擊圖,在觀測到的實際異常的基礎上給出攻擊路徑可能性預測。
攻擊場景重構在攻擊圖技術的基礎上,綜合以上三種關聯(lián)結果,組合生成攻擊場景,對關聯(lián)結果作評估預測,并按置信度高低排序上報給安全管理人員。與傳統(tǒng)攻擊圖試圖找出所有可能的路徑不同,這里只建模真實攻擊路徑,即在現(xiàn)有檢測結果的基礎上,根據(jù)現(xiàn)有攻擊知識和各階段關聯(lián)關系,給出潛在攻擊場景。
在攻擊鏈建立過程之初,可能只是給出攻擊過程的一個事件或一個步驟,在后續(xù)檢測中,隨著新事件的出現(xiàn)和被檢測接收,劃分和添加新的攻擊階段事件到圖中,對攻擊圖逐步充實和完善,最終匹配和重構出整個多步攻擊場景。
本發(fā)明不局限于上述具體實施方式,本領域技術人員還可據(jù)此做出多種變化,但任何與本發(fā)明等同或者類似的變化都應涵蓋在本發(fā)明權利要求的范圍內。