專利名稱::網絡多步攻擊意圖在線識別方法
技術領域:
:本發明涉及網絡通信安全領域,特別是涉及網絡多步攻擊意圖在線識別方法。
背景技術:
:隨著信息技術的不斷發展和信息化建設的高速推進,信息安全產業的發展近幾年呈現出越來越活躍的趨勢。連接到Internet的組織和機構大多都使用了入侵檢測系統IDS(IntrusionDetectionSystems)、防火墻、虛擬專用網絡VPN(VirtualPrivateNetwork)之類的安全產品,它們已構成網絡體系結構中的一部分。這些安全產品或系統在應用中產生了大量的告警和日志等安全事件數據,用戶希望這些安全事件數據能成為網絡攻擊檢測、防御和響應的重要依據,但實際中,它們龐大冗余、分散獨立、錯漏混雜,命中率低、反應滯后,很難直接作為正確安全反應的觸發性事件。因此,需要對這些安全數據進行綜合分析和處理,從中挖掘出真正的安全威脅事件,揭示出隱藏的相關邏輯,發現攻擊者的真正意圖,從而對網絡攻擊進行預防和響應,實現對整個網絡安全態勢的有效監控。大部分攻擊尤其是危害巨大的攻擊幾乎都是多步攻擊,而由入侵檢測系統等分布在網絡上各處的實時安全檢測點所產生的安全事件告警通常報告的是一個單獨的攻擊行為(步驟)。如何從眾多的安全事件告警中找到多步攻擊對應的多個攻擊步驟,并將它們關聯起來就成為安全事件集中管理和關聯分析研究領域的一個重要研究內容。多步攻擊關聯以實現攻擊場景重建和發掘攻擊意圖為目的,是非常重要的研究點。然而目前已有的多步攻擊關聯研究存在著一些尚未解決的問題,如過多依賴于先驗知識,需要定義復雜的關聯規則,只能挖掘出場景片斷、難以發現新型攻擊、無法有效保證實時性等等。
發明內容本發明的目的是提供一種網絡多步攻擊意圖在線識別方法,該方法降低了還原攻擊步驟的復雜性,實現了網絡多步攻擊的在線識別。一種網絡多步攻擊意圖在線識別方法,包括以下步驟(1)根據歷史安全事件告警信息建立反映攻擊行為特征間多步攻擊關系的特征序列,這些特征序列構成攻擊行為發生序列模式集;(2)當收到新的安全事件告警信息A,提取安全事件告警信息A的攻擊行為特征S;(3)當特征S與攻擊行為發生序列模式集中的一種序列的第一個特征相同,將安全事件告警信息A單獨構成一個新多步攻擊告警序列(A);(4)將特征S作為最后一個特征分別加入各個原多步攻擊告警序列對應的特征序列構成新特征序列,再將各新特征序列分別與攻擊行為發生序列模式集進行模式匹配,若匹配成功,進入步驟(5),否則轉入步驟(2);(5)在匹配成功的新特征序列中,計算最后兩個特征對應的安全事件告警信息之間的告警關聯度;(6)若告警關聯度大于或等于關聯度閾值,根據該告警關聯度對應的新特征序列得到對應的新多步攻擊告警序列,并將該新多步攻擊告警序列和步驟(3)得到的新多步攻擊告警序列(A)補充作為原多步攻擊告警序歹U,轉入步驟(2),若告警關聯度小于關聯度閾值,轉入步驟(2)。本發明在線的對每一條新收到的安全事件告警進行模式匹配,同時計算符合模式匹配的前后安全事件的關聯度,通過關聯度的計算過濾掉模式匹配但不存在關聯關系的安全事件,通過實時上報匹配過程和結果能夠實現實時的在線檢測。圖l一網絡多步攻擊意圖在線識別系統框圖;圖2—利用攻擊場景時間窗口對全局攻擊序列進行劃分,得到候選攻擊序列的示意圖;圖3—用于存放攻擊行為序列模式的APT樹結構圖;圖4一本發明步驟流程圖;圖5—模式匹配示例圖;圖6—樹形的屬性分類及類間關聯度樹狀圖。具體實施方式首先需要從歷史安全事件告警數據庫中挖掘出多步攻擊行為發生序列模式集。攻擊行為發生序列模式集包括多個特征序列,每個特征序列反映了特征間的多步攻擊關系,為攻擊識別提供了模式匹配基礎,其具體如下1、提取每一條歷史安全事件告警中的攻擊行為特征SID,按照發生時間排序,構造全局攻擊序列。2、利用攻擊場景時間窗口『,把全局攻擊行為序列劃分為多個候選攻擊序列。攻擊場景時間窗口(attackscenariotimewindow)^的含義是多步攻擊發生的時間間隔,即從第一步多步攻擊步驟發生開始到最后一步多步攻擊步驟完成的整個時間段。假設^和"'分別是一個多步攻擊場景^中對應的第一條和最后一條安全事件告警,",(1</</)發生在"1和"'之間。則該多步攻擊對應的安全事件告警序列表示為"5-<"lv..,^...,a/>(l</</)。^="'的開始時間一^的開始時間,攻擊場景時間窗口^滿足公式M'"(fl,.的開始時間-。,的開始時間)S『rSMu(a,的開始時間-a,的開始時間)3、從候選攻擊序列中挖掘出攻擊行為發生序列模式集。采用數據挖掘工具中的序列模式挖掘方法(Apriori—all)來從候選的序列中找出頻繁出現的攻擊行為特征SID序列,這些序列構成攻擊行為發生序列模式集。挖掘出的攻擊行為發生序列模式集可存儲在樹的結構中,將開頭節點相同的樹合并以此來提高匹配算法和存儲的效率。采用XML格式來存放攻擊模式。例如,攻擊行為發生序列模式集中的攻擊序列模式<3,9,8,14,5>、<3,9,7,12>和<3,9,8,2>可以存放在同一個攻擊模式樹APT(AttackPatternTree),如圖3(a)所示。圖中節點中的數字表示攻擊行為對應的攻擊簽名ID(signature-id),圖3(b)給出攻擊初始步驟相同的攻擊序列模式合并存放在同一攻擊樹APT的具體實例。現舉例說明表l給出所有按照發生時間排序的高級告警數據,把所有的安全事件映射到他們對應的攻擊行為特征SID屬性來得到全局攻擊序列。這樣得到的全局攻擊序列為<2,3,9,8,17,14,3,2,9,8,14,5,2>。<table>tableseeoriginaldocumentpage7</column></row><table>表l圖l給出了實現本發明的系統結構圖,該系統包括多步攻擊序列模式挖掘模塊、多步攻擊行為模式庫、攻擊行為模式匹配模塊、關聯度計算模塊和模式匹配記錄庫。'圖2給出了利用『,把該全局攻擊序列轉換為候選攻擊序列的示例圖。攻擊場景時間窗口^從最先發生的攻擊行為開始一個一個的順序的向后滑動,每滑動一下產生一個候選序列。落在同一個時間窗口的攻擊行為構成一個候選攻擊序列。表2給出了該例子產生的候選攻擊序列集。序列ID候選攻擊序列<table>tableseeoriginaldocumentpage8</column></row><table>表2利用序列模式挖掘方法從這些候選則攻擊序列挖掘出攻擊行為發生序列模式集{<3,9,8>、<2,9,8>}。本發明網絡多步攻擊在線識別方法見圖4,具體為(1)根據歷史安全事件告警信息建立反映攻擊行為特征間多步攻擊關系的特征序列,這些特征序列構成攻擊行為發生序列模式集;(2)當收到新的安全事件告警信息A,提取安全事件告警信息A的攻擊行為特征S;(3)當特征S與攻擊行為發生序列模式集中的一種序列的第一個特征相同,將安全事件告警信息A單獨構成一個新多步攻擊告警序列(A〉;(4)將特征S作為最后一個特征分別加入各個原多步攻擊告警序列對應的特征序列構成新特征序列,再將各新特征序列分別與攻擊行為發生序列模式集進行模式匹配,若匹配成功,進入步驟(5),否則轉入步驟(2);(5)在匹配成功的新特征序列中,計算最后兩個特征對應的安全事件告警信息之間的告警關聯度;(6)若告警關聯度大于或等于關聯度閾值,根據該告警關聯度對應的新特征序列得到對應的新多步攻擊告警序列,并將該新多步攻擊告警序列和步驟(3)得到的新多步攻擊告警序列(A)補充作為原多步攻擊告警序列,轉入步驟(2),若告警關聯度小于關聯度閾值,轉入步驟(2)。在步驟(4)中,模式匹配包括兩方面I、序列匹配將新的安全事件告警信息的特征作為最后一個值分別加入所有多步攻擊告警序列對應的特征序列,若新構成的特征序列匹配攻擊行為發生序列模式集中的一種模式,則稱序列匹配成功;II、時間匹配對于序列匹配成功的特征序列,若該序列第一個特征對應的安全事件告警信息與最后一個特征對應的安全事件告警信息之間的發生時間間隔在時間窗口『,內,則稱時間匹配成功。若序列匹配和時間匹配均成功,則稱模式匹配成功。多步攻擊告警序列由安全事件告警信息構成,一個安全事件告警信息對應一個特征,根據該對應關系,由多步攻擊告警序列可以得到其對應的特征序列,反之,通過特征序列可以得到其對應的多步攻擊告警序列。具體的實施方式有多種,現舉例說明其中一種。當系統收到一條新的安全事件<3,它對應的signature-id為3,該攻擊行為的signature-id可能與多個攻擊模式匹配,本例子只說明其與其中之一的攻擊模式匹配的實施情況收到第一條安全事件告警信息",如果"的signature-id與圖3(a)所示的攻擊模式樹APT的根節點匹配,則根據該APT產生了一個模式匹配記錄match—log,如圖5(a)所示,其中根節點映射到安全事件告警信息",同時當前節點也映射到安全事件告警信息"。程序又收到另一條安全事件告警信息、signature-id為9,和圖5(a)的當前節點的子節點匹配,且b與該matCh_k)g的根節點所映射的安全事件a的發生時間間隔在^內,于是計算b與當前節點所映射的安全事件a的告警關聯度。如果關聯度W的值大于事先設定的關聯度閾值^,則將該matchJog更新,即當前節點的子節點變為當前節點,且映射到安全事件6,圖5(b)給出了更新后的match—log。關聯度閾值3的大小是通過對歷史安全告警數據的分析確定的,05^2。如果安全事件6還能匹配上其他的攻擊模式,也類似處理。本實施例產生的記錄Match一log可以圖形的方式隨時輸出,以及下一步可能的攻擊也能顯示出,網絡安全管理員可以通過這些記錄和結果來識別攻擊者下一步可能的攻擊行為,從而采取及時的應對和防范措施。告警關聯度是利用定量的方法來計算,其反映了兩條安全事件告警所對應的攻擊行為屬于同一多步攻擊場景中的前后步驟的可靠性。公式。<formula>formulaseeoriginaldocumentpage10</formula>、給出了告警關聯度<formula>formulaseeoriginaldocumentpage10</formula>CoK^人)的計算方法,根據該公式計算出的結果值反映了安全事件告警^和&之間關聯的程度。&和&分別由p個告警屬性x,,x2,......xp和",少2,......^來描述,,為告警屬性之間的加權系數,根據經驗值設定,0SS1,例如告警的屬性集合包括源IP、目的IP、源端口和目的端口四個屬性,則告警屬性之間的加權系數分別有源IP-源IP加權系數、源IP-目的IP加權系數、源IP—源端口加權系數、源IP—目的端口加權系數、目的IP—目的IP加權系數、目的IP—源端口加權系數、目的IP—目的端口加權系數。C。K^;o)為告警屬性x,和i.的關聯度。告警屬性x,和力的關聯度計算方法根據告警屬性所屬的類確定,完全屬于不同性質的告警屬性之間關聯度可以設置為零,如設置告警屬性中的時間屬性與源IP屬性的關聯度為零。屬于同性質的告警屬性之間關聯度根據所屬類的特性來計算,如源IP與目的IP同屬于IP屬性,源端口和目的端口同屬于端口屬性。下面以告警屬性中的IP地址和端口為例說明屬于同性質的告警屬性關聯度Cw(^力)的計算方法。圖6(a)給出采用樹型結構對IP范圍進行分類的樹狀圖,其中每個節點表示一個IP類型,每個節點旁邊的數字給出同屬于該類的兩個IP集合之間的關聯度值。由此,給出IP類屬性間關聯度的計算方法舉例說明如下(1)計算Cor(S,,S2),其中S!屬于202.112.20.13類,S2屬于202.112.20.13類,則他們同屬節點202.112.20.13,査詢圖6(a)示意的關聯度值為1;(2)計算Cor(S,,S2),其中屬于server類,Ss屬于station類,則他們同屬inside類,査詢圖6(a)示意的關聯度值為0.3;(3)計算Cor(Si,S2),其中S!屬于202.112.20.13類,S2屬于station類,則他們同屬A11IP類,查詢圖6(a)示意的關聯度值為O。端口地址類屬性間的分類和類間關聯度值計算與IP地址類屬性的定義方法類似。收到的每個高級安全事件告警具有端口地址類型的屬性,根據其映射關系,對應一個端口地址集合(Pi,P2,......Pn小pn),(n>=l)。本發明采用圖6(b)所示的樹型結構對端口地址范圍進行分類處理,圖6(b)中的節點表示端口地址類型,節點旁邊的數字給出同屬于該類的兩個端口集合之間的關聯度值。在計算兩個端口地址類屬性間的關聯度時,確定兩個屬性分別對應的類,根據他們的相似性來確定他們的關聯度值。舉例如下(1)計算Cor(P!,P2),其中Pi屬于80類,P2屬于80類,則他們同屬節點80,査詢圖6(b)中對應關聯度值為l;(2)計算Cor(P,,P2),其中P,屬于21類,P2屬于特殊端口類,則他們同屬特殊端口類,查詢圖6(b)中對應關聯度值為0.5;(3)計算Cor(P!,P2),其中Pt屬于21類,P2屬于普渾端口類,則他們同屬所有端口類,查詢圖6(b)中對應關聯度值為0。關聯度是一個全新的概念,它反映了兩條安全事件報告由同一個攻擊意圖對應的多步攻擊行為所引發的可靠度。關聯度越高,兩個安全事件對應同一多步攻擊的兩個攻擊步驟的概率越大。關聯度是反映安全事件報告之間是否存在關聯關系,也即安全事件是否對應同一多步攻擊的前后攻擊行為的重要指標。目前大多數攻擊場景構建方法都是根據攻擊步驟間的因果關系事先定義關聯規則,由于關聯規則定義復雜,實現起來難度較大,因此大多只能離線的進行分析,不能實現實時的檢測和提前預報。本發明在線的對每一條新收到的安全事件告警進行模式匹配,同時計算符合模式匹配的前后安全事件的關聯度,通過關聯度的計算過濾掉不存在關聯關系而模式匹配的安全事件,同時匹配的過程和結果能夠實時的上報,實現了實時的在線檢測。權利要求1、一種網絡多步攻擊意圖在線識別方法,包括以下步驟(1)根據歷史安全事件告警信息建立反映攻擊行為特征間多步攻擊關系的特征序列,這些特征序列構成攻擊行為發生序列模式集;(2)當收到新的安全事件告警信息A,提取安全事件告警信息A的攻擊行為特征S;(3)當特征S與攻擊行為發生序列模式集中的一種序列的第一個特征相同,將安全事件告警信息A單獨構成一個新多步攻擊告警序列{A};(4)將特征S作為最后一個特征分別加入各個原多步攻擊告警序列對應的特征序列構成新特征序列,再將各新特征序列分別與攻擊行為發生序列模式集進行模式匹配,若匹配成功,進入步驟(5),否則轉入步驟(2);(5)在匹配成功的新特征序列中,計算最后兩個特征對應的安全事件告警信息之間的告警關聯度;(6)若告警關聯度大于或等于關聯度閾值,根據該告警關聯度對應的新特征序列得到對應的新多步攻擊告警序列,并將該新多步攻擊告警序列和步驟(3)得到的新多步攻擊告警序列{A}補充作為原多步攻擊告警序列,轉入步驟(2),若告警關聯度小于關聯度閾值,轉入步驟(2)。2、根據權利要求1所述的網絡多步攻擊意圖在線識別方法,其特征在于,所述步驟(1)中的攻擊行為發生序列模式集按照以下方法獲取i提取每一條歷史安全事件告警中的攻擊行為特征,將其按照告警發生時間排序,構造為全局攻擊序列;ii利用攻擊場景時間窗口^V把全局攻擊行為序列劃分為多個候選攻擊序列;iii采用序列模式挖掘方法從多個候選攻擊序列中挖掘出頻繁出現的攻擊行為特征序列,這些序列構成攻擊行為發生序列模式集。3、根據權利要求1或2所述的網絡多步攻擊意圖在線識別方法,其特征在于,所述攻擊行為發生序列模式集以樹的結構存儲。4、根據權利要求1所述的網絡多步攻擊意圖在線識別方法,其特征在于,所述步驟(5)中的告警關聯度用C。^,、)表示,計算方法為O)仇a)=sw,力)/S5/^和力為兩個安全事件告警信息,分別由p個告警屬性^&,......、和......^來描述,^為告警屬性之間的加權系數,0£,51,C。K^乃)為告警屬性x,^的關聯度。5、根據權利要求4所述的網絡多步攻擊意圖在線識別方法,其特征在于,所述告警屬性x,和巧為相同性質的告警屬性,其關聯度Cor(x,,乃)的獲取方法為對所有屬于該性質的告警屬性分類,并給出同屬一類的兩個告警屬性之間的關聯度值,根據告警屬性;c,和^.分別對應的類別確定兩告警屬性共同所屬類別,根據共同所屬類別確定告警屬性x,和力的關聯度Cor(x,^)。6、根據權利要求4所述的網絡多步攻擊意圖在線識別方法,其特征在于,所述告警屬性x,和力為不同性質的告警屬性,其關聯度Cor(x,,^)設置為零。全文摘要本發明提供一種網絡多步攻擊意圖在線識別方法,該方法提取收到的安全事件告警信息的特征,根據該特征和攻擊行為發生序列模式集進行模式匹配,若匹配成功,計算符合模式匹配的前后安全事件告警信息的關聯度,根據關聯度與關聯度閾值的比較結果記錄安全事件告警信息之間的網絡多步攻擊關系。本發明通過關聯度的計算過濾掉模式匹配但不存在關聯關系的安全事件,通過實時上報匹配過程和結果實現了實時的在線檢測。文檔編號H04L9/10GK101242278SQ20081004691公開日2008年8月13日申請日期2008年2月18日優先權日2008年2月18日發明者朱曉林,李之棠,李偉明,洋汪,莉王,琳陳申請人:華中科技大學