專利名稱:一種基于概率推理的網絡入侵意圖識別方法
技術領域:
本發明涉及一種網絡入侵意圖識別方法,特別是一種基于概率推理的網絡 入侵意圖識別方法,屬于計算機網絡安全技術領域。
背景技術:
隨著計算機網絡的不斷發展和普及,網絡安全問題也日益突出。網絡用戶 主要通過入侵檢測系統、防火墻、殺毒軟件等安全產品提供安全保障。但在實 際應用中,這些安全設備的報警和日志存在報警層次低、漏警虛警多、缺少關 聯分析、反應滯后等缺點,難以直接用于網絡安全的監控和管理。因此,需要 從大量的底層安全數據中逐層抽象,在較高層次上進行關聯分析,識別攻擊者 的真正意圖,為網絡安全的態勢感知提供支持。
對入侵檢測系統的報警進行關聯分析來構建攻擊場景是解釋和預測攻擊行
為的一條重要途徑。Cuppens等在2002年第二屆混合智能系統國際會議上發表 了題為《Recognizing Malicious Intention in an Intrusion Detection Process》的文章,提出了對攻擊行為的前提、后果進行建模,根據后續行為的 前提與先前行為的后果是否匹配來對兩個行為直接關聯。該方法存在一些不足 需要定義復雜的關聯規則,關聯的層次低,搜索空間大,計算效率低,不能用 于在線處理。
專利200810046913. 1 "網絡多步攻擊意圖在線識別方法"采用數據挖掘和 模式匹配的方法提出了一種識別多步攻擊意圖的方法。該方法從歷史的安全事 件中挖掘出多步攻擊行為序列模式集,實時接收的報警信息與攻擊行為模式進 行匹配,如果匹配成功則生成一個模式匹配記錄。后到來的安全事件如果與前 一個安全事件的關聯度大于閾值則更新模式匹配記錄。該方法還是屬于攻擊場 景構造的范疇,不能預測攻擊者的終極目標,另外難以構建有效的攻擊行為模 式集,關聯度的計算復雜,確定合適的閾值困難。
發明內容
本發明的目的是提供一種簡單有效的入侵意圖識別方法,在意圖層次解釋
4攻擊行為,并采用概率推理的方法來描述和處理并發意圖。 本發明基于以下定義-
事件是攻擊者的行為描述。通過對入侵檢測系統提供的報警進行分析可以 獲取攻擊者觸發的安全事件。事件的屬性包括名稱、時間、源IP地址和目的IP 地址等。
目標是攻擊者愿望的描述,體現為給網絡系統造成什么樣的后果或自身達 到什么樣的目的。在多步攻擊中的各個階段,攻擊者可以采取不同的攻擊行為 而達到相同的目的。因此,目標可以看成各階段達到相同攻擊目的的攻擊行為 的集合。目標的屬性包括名稱、時間、源IP地址、目的IP地址、前提集和后果 集等。
目標名稱是該階段攻擊目的的描述。前提集是實現該目標需要滿足的前提 條件集合,后果集是該目標實現后造成的后果集合。
如果目標Ga和目標Gb滿足Ga與Gb的源IP地址、目標IP地址分別相 同,且Ga的后果集與Gb的前提集相同,同時Ga的發生時間早于Gb的發生時 間,則Ga與Gb可以因果關聯,構成目標鏈。
本發明整體框架設計流程如圖l所示,具體實現步驟如下
步驟一、創建目標庫
目標庫包括目標知識表、事件目標映射表、統計表和目標鏈表。 目標知識表中存放目標名稱、前提集和后果集。
事件目標映射表包括事件名稱和目標名稱,用于描述事件和目標之間的對 應關系。
統計表用于存放歷史數據,包括某目標發生的次數、該目標與其它目標構
成目標鏈的次數。
目標鏈表用于存放實時更新的目標鏈。
步驟二、通過報警信息找到對應攻擊目標,更新目標鏈
從入侵檢測系統提供的報警信息中提煉報警數據獲取事件類型,通過目標
庫中的事件目標映射表找到對應攻擊目標,從而忽略具體的攻擊手段,提高關
聯層次,簡化關聯規則。具體步驟為
第(l)步當收到入侵檢測系統的報警信息A1,從中提取報警名稱、時間、 源IP地址、目標IP地址等信息,構成一個安全事件E1;第(2〉步査詢目標庫中的事件目標映射表,根據事件與目標的映射關系, 找到該事件E1對應的目標G1,并從目標知識表中提取該目標的前提集和后果 集,同時將事件E1的時間、源IP地址、目標IP地址等信息賦給目標G1;
第(3)步依次取出目標鏈表中各個目標鏈的最后一個目標Ge,如果目標 Gl與Ge滿足
I. Gl與Ge除了時間以外其它屬性相同,則屬于重復報警或攻擊者重復攻 擊動作,則將目標G1舍去;
II. Gl與Ge構成目標鏈,則將G1存入該目標鏈的最后,并在統計表中累 計Gl發生的次數和Ge與Gl構成目標鏈的次數;
III. Gl與目標鏈表中的所有目標鏈均不滿足I 、 II的關系,則將Gl作為一 條新的目標鏈,單獨存放在目標鏈表中,并在統計表中累計Gl發生的 次數。
如果目標鏈為空,直接將G1作為目標鏈存在目標鏈表中,并統計表中累計 目標G1發生的次數。
步驟三、預測目標,識別入侵意圖
在已經發生的目標的基礎上,繼續在目標庫中搜索滿足因果關系的目標作 為預測目標,直到搜索完畢,最終的目標即為攻擊者的入侵意圖,而目標的預 測存在不確定性,采用概率來描述未來目標的發生幾率,而對于后續多級目標 的概率計算采用概率推理的方法。
依次取出目標鏈表中的各個目標鏈,均按如下操作分別進行目標預測和入 侵意圖的識別
第(1)步取出目標鏈的最后一個目標的后果集作為匹配條件,在目標庫 中搜索前提集與之相同的G2、 G3等所有目標作為預測目標,并根據下式分別 計算這些目標發生的概率;
P(Goali,Goali+一aPo(Goali,Goalw)+(l-a)Q(Goali,Goalw)/Q(Goali)
式中
P。(Goali,Goali+0為初始概率,取值范圍為[O, l]; Q(Goalj,Goalw)為統計表中目標Goal;后目標Goali+1出現的次數; Q(Goali)為統計表中目標Goal;出現的次數。
a為調節因子,0<(X<1,決定了統計數據所占的比例。在系統初始運行階段可將a設大一點,讓初始概率發揮的作用大一些,隨著數據的增多,將oi調小, 增大統計數據所占比重。
第(2)步分別取出預測目標G2、 G3等的后果集作為匹配條件繼續搜索 后續目標,直到完畢,作為攻擊者的入侵意圖,其概率為各級預測目標概率的 乘積。
本發明將入侵檢測系統的報警抽象成攻擊目標,在目標層次上進行因果關 聯來理解攻擊行為和預測后續攻擊目標,識別其真實意圖。這樣,忽略了攻擊 細節,提高了計算效率。而基于概率的推理方法很好地描述了網絡環境的不確 定性,也便于處理出現并發意圖的情況。
圖1—意圖識別系統流程圖2—目標鏈;
圖3—目標鏈的預測。
具體實施例方式
下面結合附圖和實施例,具體說明本發明的實施方式
本發明的實施包括以下步驟
步驟一、創建目標庫
目標庫包括目標知識表、事件目標映射表、統計表和目標鏈表。 目標知識表包括目標名稱、前提集和后果集。在本實施例中,目標知識表
中的目標名稱、前提集和后果集分別為
Gl:發現存活主機、無、目標主機存活;
G2: Http服務掃描、目標主機存活、Http服務運行且存在漏洞;
G3: DoS攻擊、Http服務運行,DoS攻擊;
G4:獲取user權限、Http服務漏洞、獲取user權限
G5:獲取root權限、獲取user權限、獲取root權限
事件目標映射表中存放事件與目標的映射關系。如事件ICMP一PING對應目 標Gl ,事件Http—service—scan對應于目標G2 。
初始時,統計表和目標鏈表為空。步驟二、通過報警信息找到對應攻擊目標,更新目標鏈1、 接收入侵檢測系統的報警Al,本實施例中報警Al的內容包括名稱ICMPPING,時間03/07-22:51:36. 142272,源IP: 202.77. 162.213, 目的IP: 172.16.115.5。從報警Al生成安全事件El={03/07-22:51:36 202.77.162.213 172.16.115.5 ICMP—PING},屬性依次為事件發生時間、源IP地址、目的IP地址、名稱。2、 根據事件目標映射表找到對應的目標Gl,并在目標知識表中取出該目 標的前提集和后果集,Gl{Host_probe 03/07-22:51:36 202.77.162.213 172.16.115.5 None Know_target—is—alive}。3、 目標鏈表為空,故將目標Gl直接存入目標鏈表中。4、 接收到一條新的報警信息A2,同上操作,得到對應的目標 G2={Http—service—scan 03/07-22:57:23 202.77.162.213 172.16.115.5 Know—target—is—alive Http—service_is—running}。5、 依次取出目標鏈表中各個目標鏈的最后一個目標,查看是否與目標G2 構成因果鏈。本實例中,目標G2與原目標鏈的最后一個目標G1構成目標鏈, 則將G2放在原目標鏈的最后,構成新的目標鏈,完成目標鏈的更新,如圖2所步驟三、預測目標,識別入侵意圖1、取出目標鏈的最后一個目標G2,在目標庫中搜索出前提條件集與G2的 后果集匹配的目標G3、 G4,作為預測目標,并計算預測目標對應的概率。預測目標的概率計算如下式所示 P(Goali,Goalw"aPo(Goali,Goalw)+(l-a)Q(Goali,Goaliw)/Q(Goali) (1)式中a=0.8, P0(Goal2,Goal3)=0.6, P0(Goal2,Goal4)=0.4。Q(Goali,Goalw)為歷史數據中目標Goali后目標Goali+1出現的次數,實例中 Q(Goal2,Goal3)=6 , Q(Goal2,Goal4)=4;Q(Goali)為歷史數據中目標Goali出現的次數,實例中Q(Goal2)=10。 所以由(1)式計算得 P(Goal2,Goal3)=0.8*0.6+0.2*6/10=0.6; P(Goal2,Goal4)=0.8*0.4+0.2*4/10=0.4;2、分別取出預測目標G3、 G4的后果集,在目標庫中繼續搜索后續目標, 直到完畢,最后一個目標即為攻擊者的意圖,其概率為各級預測目標概率的乘 積,如圖3所示。實例中P。(GoaU,Goal5)-0.5, Q(Goal4,Goal5)=3 , Q(Goal4)=5。由(1)式,P(Goal4,Goal5)=0.8*0.5+0.2*3/5=0.52。意圖1: G3, DoS攻擊,P (G3) =0.6;意圖2: G5,獲取root權限,P (G5) =P(G2,G4)*P(G4,G5)=0.4*0.52=0.208。本發明在目標層次上來解釋和預測攻擊行為,計算簡單方便,能實時處理 報警信息,同時引入了概率推理方法來處理并發意圖的情況,解決了識別過程 中的不確定性。
權利要求
1、一種基于概率推理的網絡入侵意圖識別方法,包括以下步驟設事件是攻擊者的行為描述,事件的屬性包括名稱、時間、源IP地址和目的IP地址;目標是攻擊者愿望的描述,目標的屬性包括名稱、時間、源IP地址、目的IP地址、前提集和后果集;目標名稱是該階段攻擊目的的描述,前提集是實現該目標需要滿足的前提條件集合,后果集是該目標實現后造成的后果集合;如果目標Ga和目標Gb滿足Ga與Gb的源IP地址、目標IP地址分別相同,且Ga的后果集與Gb的前提集相同,同時Ga的發生時間早于Gb的發生時間,則Ga與Gb可以因果關聯,構成目標鏈;步驟一、創建目標庫目標庫包括目標知識表、事件目標映射表、統計表和目標鏈表;目標知識表中存放目標名稱、前提集和后果集;事件目標映射表包括事件名稱和目標名稱,用于描述事件和目標之間的對應關系;統計表用于存放歷史數據,包括某目標發生的次數、該目標與其它目標構成目標鏈的次數;目標鏈表用于存放實時更新的目標鏈;步驟二、通過報警信息找到對應攻擊目標,更新目標鏈,具體步驟為第(1)步當收到入侵檢測系統的報警信息A1,從中提取報警名稱、時間、源IP地址、目標IP地址信息,構成一個安全事件E1;第(2)步查詢目標庫中的事件目標映射表,根據事件與目標的映射關系,找到該事件E1對應的目標G1,并從目標知識表中提取該目標的前提集和后果集,同時將事件E1的時間、源IP地址、目標IP地址信息賦給目標G1;第(3)步依次取出目標鏈表中各個目標鏈的最后一個目標Ge,如果目標G1與Ge滿足I. G1與Ge除了時間以外其它屬性相同,則屬于重復報警或攻擊者重復攻擊動作,則將目標G1舍去;II. G1與Ge構成目標鏈,則將G1存入該目標鏈的最后,并在統計表中累計G1發生的次數和Ge與G1構成目標鏈的次數;III. G1與目標鏈表中的所有目標鏈均不滿足I、II的關系,則將G1作為一條新的目標鏈,單獨存放在目標鏈表中,并在統計表中累計G1發生的次數;如果目標鏈為空,直接將G1作為目標鏈存在目標鏈表中,并在統計表中累計目標G1發生的次數;步驟三、預測目標,識別入侵意圖依次取出目標鏈表中的各個目標鏈,均按如下操作分別進行目標預測和入侵意圖的識別第(1)步取出目標鏈的最后一個目標的后果集作為匹配條件,在目標庫中搜索前提集與之相同的所有目標作為預測目標,并根據下式分別計算這些目標發生的概率;P(Goali,Goali+1)=αP0(Goali,Goali+1)+(1-α)Q(Goali,Goali+1)/Q(Goali)式中P0(Goali,Goali+1)為初始概率,取值范圍為
;Q(Goali,Goali+1)為統計表中目標Goali后目標Goali+1出現的次數;Q(Goali)為統計表中目標Goali出現的次數;α為調節因子,0<α<1,決定了統計數據所占的比例;第(2)步分別取出各個預測目標的后果集作為匹配條件繼續搜索后續目標,直到完畢,作為攻擊者的入侵意圖,其概率為各級預測目標概率的乘積。
2、根據權利要求l所述的一種基于概率推理的網絡入侵意圖識別方法,其特征在于在步驟三中,隨著數據的增多,減小a的數值以增大統計數據所占比重。
全文摘要
本發明涉及一種基于概率推理的網絡入侵意圖識別方法,包括以下步驟1.創建目標庫,包括目標知識表、事件目標映射表、統計表和目標鏈表;2.通過報警信息找到對應攻擊目標,更新目標鏈;3.依次取出目標鏈表中的各個目標鏈,分別進行目標預測和入侵意圖的識別。本發明將入侵檢測系統的報警抽象成攻擊目標,在目標層次上進行因果關聯來理解攻擊行為和預測后續攻擊目標,識別其真實意圖,忽略了攻擊細節,提高了計算效率,也便于處理出現并發意圖的情況。
文檔編號H04L12/24GK101505304SQ20091008085
公開日2009年8月12日 申請日期2009年3月24日 優先權日2009年3月24日
發明者姚淑萍, 武 彭, 胡昌振 申請人:北京理工大學