本發明涉及網絡安全領域,尤其是涉及一種面向多階段攻擊的攻擊路徑圖生成方法。
背景技術:
1、網絡設備的廣泛應用,使得網絡攻擊呈現出隱蔽性增加、持續性延長和復雜性增加的趨勢。現階段的網絡攻擊往往包含多個單獨的攻擊階段和攻擊路徑,從而產生大量的復雜、無序的攻擊報警數據。攻擊圖可以幫助防御者分析攻擊的邏輯關聯性,恢復攻擊者對目標網絡發起攻擊的方式和過程,進而發現攻擊者的攻擊意圖和策略,有助于防御者做出及時有效的應對措施。
2、經對現有技術的文獻檢索發現,hu等在2018年《chinese?journal?of?networkand?information?security》上發表了題為“survey?of?attack?graph?based?networksecurity?metric”一文提出了一種狀態攻擊圖構建方法,狀態攻擊圖能較好地反映網絡中節點狀態變化的過程。狀態攻擊圖的設計充分考慮了攻擊者的攻擊策略,通過展示攻擊者可能采取的各種步驟和路徑,幫助安全專業人員全面理解攻擊者的意圖和操作邏輯。但是隨著網絡中狀態的增加,狀態攻擊圖不能處理快速增長的狀態節點,并且在結構上不太直觀。
3、目前攻擊圖生成方法更關注于節點信息,未能處理大量冗余、虛假的報警數據,導致所生成的攻擊圖出現斷裂、錯誤等情況,因此難以融合多階段網絡攻擊所產生的多源攻擊數據。
技術實現思路
1、本發明的目的就是為了克服上述現有技術存在的缺陷而提供一種面向多階段攻擊的攻擊路徑圖生成方法。
2、本發明的目的可以通過以下技術方案來實現:
3、一種面向多階段攻擊的攻擊路徑圖生成方法,包括以下步驟:
4、s1:分析ids報警數據,根據報警密度、報警周期、報警目的地數量和報警源數量區分真實報警和虛假報警,并計算報警真實率;
5、s2:獲取攻擊行為,根據攻擊行為提取漏洞得分、攻擊成本和攻擊收益,計算攻擊參數,根據給你軌跡參數和報警真實率,計算攻擊的內部概率;
6、s3:獲取與攻擊行為相關的前置攻擊路徑;
7、s4:根據前置攻擊路徑和內部概率,計算當前攻擊發生的概率,進一步計算邊的條件概率分布,根據邊的條件概率分布得到攻擊路徑圖。
8、進一步地,報警密度為單位時間內生成的相關報警的數量,報警密度的表達式為:
9、
10、式中,related()為相關報警數量計算表達式,maxtime為ai相關報警最后一次發生的時間,mintime為ai相關報警最早發生的時間,m是報警的總數量,sip為ai和aj的地址相關性,stype為ai和aj的報警類型相關性。
11、進一步地,地址相關性的計算表達式為:
12、
13、式中,ai.sip和aj.sip分別為報警ai和aj的源ip,ai.dip和aj.dip分別為報警ai和aj的目的ip,ai.sport和aj.sport分別為報警ai和aj的源端口,ai.dport和aj.dport分別為報警ai和aj的目的端口。
14、進一步地,報警類型相關性的計算表達式為:
15、
16、式中,ai.alerttype和aj.alerttype分別為報警ai和aj的攻擊類型。
17、進一步地,內部概率的計算表達式為:
18、
19、式中,p(ei,k)為內部概率,score(vi)為漏洞得分,income(ei,k)為攻擊收益,true(ei,k)為報警真實率,cost(ei,k)為攻擊成本。
20、進一步地,漏洞得分的計算表達式為:
21、
22、式中,score范圍在[0,10];round()為四舍五入到小數點后兩位的函數;exp是漏洞可利用性指標;imp是漏洞影響指標;scope表示漏洞的影響范圍是否變化,u是未改變;c是改變。
23、進一步地,獲取前置攻擊路徑的步驟為:
24、假設節點vi和vj之間存在報警ei,k,ei,k為從節點i開始,經過第k條路徑到達j,根據攻擊節點vi的入度indegree(vi)的個數,比較攻擊之間的相關因子;
25、當indegree(vi)=0時,vi是初始節點,即報警ei,k沒有相關前置攻擊路徑,
26、當indegree(vi)=m≥1時,判斷vi的輸入邊的出現時間是否早于當前報警時間,若晚于當前報警時間,則vi是初始節點,否則將節點vi前置路徑中的每個元素對應的攻擊階段集與當前報警ei,k的攻擊階段集stage(ei,k)進行對比,當且僅當路徑對應的攻擊階段集的階段均小于stage(ei,k)時,該路徑屬于相關前置攻擊路徑集合。
27、進一步地,當前攻擊發生的概率為的計算表達式為:
28、
29、式中,aj∈pra(ei,k)為前置攻擊;n為ei,k的前置攻擊路徑數量;p(ei,k)為攻擊內在概率。
30、進一步地,邊的條件概率的計算表達式為:
31、p(ei,k=n|a1=x,a2=y,...,am=z)
32、=p(a1=x)·p(a2=y)·...·p(am=z)·p(ei,k)
33、式中,n、x、y、z為0或者1;a1,a2,...,am∈pra(ei,k);m為前置攻擊路徑的總數。
34、進一步地,攻擊路徑為有向圖,表達式為:
35、g=(v,e,x)
36、式中,g為攻擊路徑,v為節點集合,x為節點特征矩陣,e為節點之間有向邊的集合,表達式為:
37、e=(t,p,t)
38、p={pi,k|pi,k=p(ei,k|ei-1,1,...,ei-1,j-1,ei-1,j)}
39、式中,t為報警發生的時間,p為條件概率分布表,pi,k為攻擊ei,k與其相關的前置攻擊路徑之間的關聯程度,ei,k為從節點vi出發的第k條報警,j為前置攻擊路徑的總數,t為ei,k的攻擊類型。
40、與現有技術相比,本發明具有以下有益效果:
41、1)本發明通過篩選正確報警信息,考慮報警自身對于攻擊結果產生的影響以及相同節點間不同攻擊的關聯關系,因此能夠融合多階段網絡攻擊所產生的多源攻擊數據,將檢測得到的真實率與攻擊行為相結合,生成能夠真實反映網絡安全狀況的攻擊路徑圖,具有較高的準確度。
42、2)本發明通過地址相關和報警類型相關性,分析不同攻擊的關聯關系,通過漏洞得分,分析攻擊者利用特定漏洞的偏好,通過邊的條件概率量化攻擊之間的關聯強度,更關注攻擊過程而不是單個節點的狀態,突出信息的關聯性。
1.一種面向多階段攻擊的攻擊路徑圖生成方法,其特征在于,包括以下步驟:
2.根據權利要求1所述的一種面向多階段攻擊的攻擊路徑圖生成方法,其特征在于,所述報警密度為單位時間內生成的相關報警的數量,所述報警密度的表達式為:
3.根據權利要求2所述的一種面向多階段攻擊的攻擊路徑圖生成方法,其特征在于,所述地址相關性的計算表達式為:
4.根據權利要求2所述的一種面向多階段攻擊的攻擊路徑圖生成方法,其特征在于,所述報警類型相關性的計算表達式為:
5.根據權利要求1所述的一種面向多階段攻擊的攻擊路徑圖生成方法,其特征在于,所述內部概率的計算表達式為:
6.根據權利要求1所述的一種面向多階段攻擊的攻擊路徑圖生成方法,其特征在于,所述漏洞得分的計算表達式為:
7.根據權利要求1所述的一種面向多階段攻擊的攻擊路徑圖生成方法,其特征在于,所述獲取前置攻擊路徑的步驟為:
8.根據權利要求1所述的一種面向多階段攻擊的攻擊路徑圖生成方法,其特征在于,所述當前攻擊發生的概率為的計算表達式為:
9.根據權利要求1所述的一種面向多階段攻擊的攻擊路徑圖生成方法,其特征在于,所述邊的條件概率的計算表達式為:
10.根據權利要求1所述的一種面向多階段攻擊的攻擊路徑圖生成方法,其特征在于,所述攻擊路徑為有向圖,表達式為: