针对网络脆弱性的攻击图分析方法总结
簡介
目前,有很多網絡攻擊、網絡脆弱性的評估方法,如攻擊樹、Petri網、攻擊圖等。攻擊圖在1997年被提出,已經成為解決網絡安全問題廣泛使用的方法之一。由于網絡拓撲本身就是圖結構,攻擊圖方法主要描述從初始節(jié)點到目標節(jié)點的攻擊路徑,可以用來描述攻擊者的攻擊行為。攻擊圖模型用有向無環(huán)圖來描述抽象的網絡拓撲,并顯示網絡攻擊的節(jié)點、路徑和后果。攻擊圖中的每個節(jié)點可以根據不同的攻擊圖表示方法來表示主機、漏洞或網絡設備。-從節(jié)點A到B的邊表示攻擊者可以從A到達節(jié)點B。通過構建攻擊圖,安全人員可以發(fā)現潛在的安全問題。
目錄
簡介
一、攻擊圖理論的基本框架
1.基本方法
2.攻擊圖生成方法
3.攻擊圖計算任務?
4.攻擊圖分析方法
二、基于圖算法的攻擊圖分析方法
1.圖路徑算法
2.圖節(jié)點的重要性排序算法
3.兩種算法比較
三、基于貝葉斯網絡的攻擊圖分析方法
四、基于馬爾科夫模型的攻擊圖分析方法
五、基于成本優(yōu)化算法的攻擊圖分析方法
1.基于代價最小化算法的攻擊圖分析方法
2.基于博弈論的攻擊圖分析方法
六、基于不確定性的分析方法
1.不確定路徑
2.不確定節(jié)點
3.零日攻擊
七、攻擊圖示例
一、攻擊圖理論的基本框架
1.基本方法
攻擊圖的研究框架如圖1所示。首先,收集有關網絡拓撲、漏洞、網絡配置和網絡連接等信息。其次,使用這些信息來生成可視化的攻擊圖。然后,根據圖的定義和安全分析的要求,對圖進行數學描述,以便對節(jié)點、邊和攻擊路徑進行定量分析。最后,分析結果可以為各種攻擊圖的應用提供依據。攻擊圖分析方法是攻擊圖研究和應用的關鍵。因此,在后續(xù)的二到六節(jié),我們將重點放在框架中的“分析方法”模塊上。
圖1?攻擊圖的研究框架攻擊圖的頂點可以是:
-
主機、權限、漏洞、服務等相關元素;
-
一些網絡安全狀態(tài);
-
取決于攻擊行為分析的要求。
不同與頂點,攻擊圖中的邊通常表示攻擊的實施。
2.攻擊圖生成方法
生成方法分為3步:a.可達性分析 -> b.攻擊模板建立 -> c.攻擊圖構造
對于大規(guī)模攻擊圖,化簡方法包括:a.路徑修剪? b.網絡屬性壓縮? c.屬性匹配時間縮短
目前也有生成攻擊圖的工具,如:
? ? ?a. MulVAL:Linux-based、Prolog邏輯語言(描述節(jié)點配置和漏洞)、Graphviz繪制攻擊圖;
? ? ?b.?NetSPA:分析防火墻規(guī)則和漏洞信息建立網絡模型,并進行可達性分析。由于在攻擊模式下缺乏學習能力,NetSPA需要手動創(chuàng)建漏洞規(guī)則集。
? ? ?c.?TVA:使用Nessus漏洞掃描程序自動將掃描的漏洞映射到網絡設備的描述;提供從初始狀態(tài)到目標狀態(tài)的攻擊路徑;需要手動創(chuàng)建一個規(guī)則集。
3.攻擊圖計算任務?
為評估網絡以及找到網絡薄弱環(huán)節(jié),需要在攻擊圖的基礎上進行計算任務:網絡脆弱性分析、節(jié)點安全強化、攻擊路徑預測和不確定性分析。
網絡脆弱性分析主要包括兩方面:1. 在網絡受到攻擊前,分析可能的攻擊路徑,以及對路徑上的高風險節(jié)點進行防御。2.分析攻擊行為,預測后續(xù)目標,并針對攻擊采取相應的對策。
網絡加固方面需要綜合考慮:需要加強的節(jié)點、成本與效益的平衡,以及有針對性的網絡防御方法。所有這些任務都需要嚴格的建模分析。
攻擊路徑預測:漏洞和攻擊路徑通常是可追蹤的。雖然在一個特定的攻擊中有許多攻擊路徑,但是如何識別最可能使用的路徑需要全面考慮。另外,網絡配置的動態(tài)性要求網絡防御機制需要隨著網絡安全技術和企業(yè)服務的發(fā)展而不斷更新。因此,攻擊圖有必要對網絡配置引起的安全問題進行不確定性分析。
4.攻擊圖分析方法
?目前,沒有一種分析方法能夠完成上述所有的計算任務。因此,應根據具體任務,選擇相應的分析方法。分析方法分類和特點如圖2所示,在二到六節(jié)具體說明。
圖2 分析方法分類和特點二、基于圖算法的攻擊圖分析方法
攻擊圖算法可以概括為兩類:一種是基于圖路徑的,另一種是基于節(jié)點的。
1.圖路徑算法
攻擊圖的一般研究方法是基于有向無環(huán)圖的各種圖路算法。算法中設計了最短路徑、平均路徑長度和擴展安全度量等度量網絡安全的指標。具體方法及優(yōu)缺點如表1所示。這些方法也可以結合CVSS分數表示節(jié)點的危險系數。
| 名稱 | 說明 | 優(yōu)點 | 缺點? |
| 最短路徑算法 | 攻擊圖中的最短路徑是指在到達攻擊目標的過程中,覆蓋漏洞數量最少的路徑。其思想是利用各種圖算法,如Dijkstra算法、Floyd算法等。 | 直觀。 | a.該方法不考慮攻擊圖中最短路徑的個數,有多條經過節(jié)點數量相同的最短路徑時,不能很好地評估;b.該方法是一種粗粒度度量,對網絡節(jié)點的微小變化不敏感。 |
| 路徑計數法 | 該算法試圖找到攻擊路徑的數目,它表示攻擊者可以選擇多少種不同的方法來到達目標。路徑越多,網絡越不安全。 | 比最短路徑更敏感,更容易預測攻擊行為。 | 路徑的數量沒有反映攻擊代價以及到達目標的難易程度。 |
| 平均路徑長度 | 平均所有攻擊路徑的長度來度量對目標網絡攻擊的代價。 | 綜合考慮了所有的攻擊路徑,在網絡安全加固方面有很好的表現。 | 該方法對攻擊圖的路徑變化不敏感。 |
| 路徑綜合方法 | a.對攻擊圖中所有攻擊路徑長度進行歸一化;b.計算路徑長度的標準差、分布和中位數。 | 更加綜合全面地評估。 | 未考慮節(jié)點因素。 |
2.圖節(jié)點的重要性排序算法
為了找到節(jié)點的安全加固位置,需要考慮節(jié)點重要性排序方法。常用的節(jié)點重要性排序算法是PageRank。
該算法首先分析特定網絡可能受到攻擊的路徑,生成攻擊模型,然后將其轉化為攻擊圖。節(jié)點表示特定的狀態(tài)(例如,數據庫服務器端口是否打開)。邊表示狀態(tài)之間的轉換(例如,開放端口狀態(tài)可能導致數據庫服務器的入侵)。葉節(jié)點表示錯誤狀態(tài),這是攻擊者最終獲得的一種特權。攻擊圖節(jié)點的排序本質是狀態(tài)轉換的預測。該排序算法得到圖中PR值最高的葉節(jié)點,節(jié)點表示的錯誤狀態(tài)是攻擊者最可能獲得的特權。對其他非葉節(jié)點進行排序將顯示最有可能被攻擊者利用的攻擊路徑(例如,如果表示數據庫服務器上某個端口的打開狀態(tài)的節(jié)點具有較高的PR值,則表示攻擊者更有可能使用此端口發(fā)起攻擊)。PageRank算法找出最有可能被攻擊的路徑,并為加強脆弱節(jié)點提供建議。然而,網絡通常是動態(tài)變化的。因此,需要頻繁地重構相應的攻擊圖,算法的計算量也不容忽視。
為了解決這個問題,有學者采用GNN(Graph Neural Network)對攻擊圖節(jié)點進行排序。GNN學習圖中對象的拓撲依賴性(例如一個節(jié)點相對于其相鄰節(jié)點的排名)。與其他機器學習算法相比,GNN不需要歸一化的向量數據,同時GNN能保證收斂性。雖然這種方法與PageRank的基本思想相同,但它為動態(tài)網絡變化提供了更好的解決方案。實驗結果表明,GNN算法的訓練精度與PageRank算法相當。GNN需要很長的訓練時間,但訓練完成后,攻擊圖的測試速度很快,更適合處理頻繁的動態(tài)變化。
3.兩種算法比較
| 圖路徑算法 | 圖節(jié)點算法 |
| 不需要研究和分配節(jié)點狀態(tài)的概率。因此,這些方法中的變量更顯式,可以用代數方法求解。 | 節(jié)點重要性排序的分析方法考慮了節(jié)點的一般狀態(tài)。 |
| 路徑分析算法的靈敏度普遍較低,開發(fā)難度也被忽略。 | 克服了路徑分析方法中存在的問題。 |
三、基于貝葉斯網絡的攻擊圖分析方法
貝葉斯網絡是一種概率圖網絡。它通常用于不確定性分析和推理領域。貝葉斯網絡根據已經發(fā)生的事件,利用因果關系來估計未知事件發(fā)生的概率。基于貝葉斯網絡的攻擊圖用三元組(節(jié)點、邊和概率表)表示。攻擊圖中的節(jié)點表示漏洞、權限等,邊表示節(jié)點之間的依賴關系。概率表是條件概率分布,用于記錄被攻擊節(jié)點的條件概率。概率的值通常由專業(yè)領域的專家確定。基于貝葉斯的攻擊圖分析中的攻擊圖示例如圖3所示。
圖3?基于貝葉斯的攻擊圖示例從A到E的五個節(jié)點表示系統(tǒng)的漏洞或通過漏洞獲得的權限。概率表如圖所示。例如,當節(jié)點C被攻擊者成功攻擊時,節(jié)點E被攻擊的概率為0.5。當一個節(jié)點被識別為證據節(jié)點,即攻擊事件已經發(fā)生時,利用貝葉斯公式可以得到其他節(jié)點狀態(tài)的概率。
四、基于馬爾科夫模型的攻擊圖分析方法
馬爾可夫模型在攻擊圖分析中有著廣泛的應用。?可以分為四類,即馬爾可夫鏈(MC),馬爾可夫決策過程(MDP),隱式馬爾可夫模型(HMM)和部分可觀測馬爾可夫模型決策過程(POMDP)。它們的關系如表3所示。
| ? | 不考慮決策行動 | 考慮決策行動 |
| 狀態(tài)可見 | 馬爾可夫鏈(MC) | 馬爾可夫決策過程(MDP) |
| 狀態(tài)不可見 | 隱式馬爾可夫模型(HMM) | 部分可觀測馬爾可夫模型決策過程(POMDP) |
?在馬爾可夫鏈中,用三元組(S,P,Q)表示攻擊圖,其中S表示系統(tǒng)中所有可能的狀態(tài),包括吸收狀態(tài)和瞬態(tài)。狀態(tài)由網絡資產、用戶權限等組成;P表示狀態(tài)轉移概率矩陣;Q表示狀態(tài)的初始概率。吸收馬爾可夫鏈如圖4所示。節(jié)點4是吸收狀態(tài),因為一旦進入就不可能離開。在攻擊圖中,吸收態(tài)可以看作攻擊目標。一旦到達該節(jié)點,攻擊就成功完成。
圖4 吸收馬爾可夫鏈隱馬爾可夫模型(HMM)在馬爾可夫鏈中加入了一個隱狀態(tài),可以用五元組(S,O,A,B,PI)來表示。S是一組隱藏狀態(tài),表示為系統(tǒng)的狀態(tài),即攻擊狀態(tài)。O是一組觀察狀態(tài),表示為物理組件(如主機和服務器)、網絡資產、權限或漏洞。A是狀態(tài)轉移概率矩陣。B是觀測符號概率矩陣,PI是初始狀態(tài)分布。如圖5所示.
圖5 隱馬爾可夫模型?圖中上層X1、X2和X3是隱藏狀態(tài),底層Y1、Y2、Y3和Y4是觀察狀態(tài)。隱藏狀態(tài)之間有一定的關系。例如,如果X1表示端口掃描的狀態(tài),則下一個狀態(tài)更可能是“發(fā)送錯誤包”。隱藏狀態(tài)之間的關系由轉移概率矩陣A描述。同時,每個隱藏狀態(tài)對應于多個觀察狀態(tài)。例如,在X1(端口掃描)狀態(tài)下,我們可以觀察到Y1(來自snort和其他檢測工具的警告)和Y2(蜜罐捕獲)狀態(tài),它們具有一定的概率,由觀察符號概率矩陣B表示。
五、基于成本優(yōu)化算法的攻擊圖分析方法
攻擊圖除了尋找特定網絡的安全狀況外,另一個重要的任務是確定如何強化目標網絡。在網絡加固方面,必須考慮成本。任何措施都是有代價的,例如,部署一個新的包過濾防火墻是有代價的,錯誤地過濾掉包也會有代價。如果網絡攻擊的影響不嚴重或攻擊易于修復,則網絡加固的成本可能高于攻擊后修復的成本。從攻擊者的角度來看,如果攻擊的收益遠遠小于攻擊的時間和其他成本,攻擊者可能會放棄對網絡的攻擊。因此,確定是否需要加固以及哪些節(jié)點需要加固是很重要的。總體思想是獲得攻擊路徑和每個節(jié)點被攻擊的概率,然后計算節(jié)點加固的代價。
1.基于代價最小化算法的攻擊圖分析方法
對于一個特定的網絡,尋找網絡優(yōu)化的最小代價是一個NP完全問題。代價最小化算法同時考慮了漏洞的利用、所花費的時間和經濟代價。例如,在圖6所示的攻擊圖中,Ci表示初始條件,A和B是中間節(jié)點,G是目標節(jié)點,有兩條路徑通向目標節(jié)點。圖7顯示了圖6中相應的ROBDD(降階二元決策圖),可用路徑標記為1,而不可用路徑標記為0。
圖6 攻擊圖樣例 圖7 ROBDD假設ci的強化成本為C(c1)=10,C(c2)=1和C(c3)=15。網絡加固的成本是最小值{C(c2),C(c3),C(c2)+C(c1),C(c3)+C(c2)},因此,最低成本是1,c2應該加強。
2.基于博弈論的攻擊圖分析方法
網絡安全分析的本質是個人之間的博弈,即攻擊者和防御者之間的博弈。博弈論為網絡安全分析提供了合理的數學框架,有助于在考慮防御成本和收益的前提下選擇最優(yōu)策略。在網絡加固過程中,蜜罐是防御者降低網絡攻擊風險的常用工具。合法用戶不與蜜罐交互,因此蜜罐可以作為誘餌吸引攻擊者的注意。同時,它可以向防御者發(fā)送入侵警報。然而,蜜罐的建設成本和維護成本非常高。對于防御者來說,考慮如何正確部署蜜罐是非常重要的。另一方面,對于攻擊者來說,他們需要預測和避免蜜罐。因此,利用博弈論來模擬攻防雙方的相互作用,通過計算攻防雙方獲得的收益來確定對付攻擊者的最佳方法。
六、基于不確定性的分析方法
處理攻擊過程中的不確定性對網絡安全具有重要意義。在攻擊圖中引入新的方法來處理不確定性。不確定性來自幾個來源,例如網絡結構、攻擊動作、設備配置等。根據可分析的不確定性類型,大致有三種不確定路徑、不確定節(jié)點和零日攻擊的分析方法。
1.不確定路徑
在不確定圖模型中,每一條邊的存在都是未知的,可以用概率來描述。原不確定圖模型用三元(V,E,P)表示存在概率:V表示節(jié)點,E表示邊,P表示存在概率。攻擊路徑能否被利用取決于相應不確定圖中初始節(jié)點到目標節(jié)點的可達性,這可以通過總結不確定圖中所有可能世界中的路徑存在概率來計算。
2.不確定節(jié)點
移動終端可以自由接入網絡,為攻擊者入侵網絡提供了一種新的途徑。攻擊者甚至可以通過移動設備上的漏洞攻擊其他網絡節(jié)點。因此,需要在攻擊圖中引入移動設備節(jié)點。移動設備攻擊圖的分析方法具有很大的挑戰(zhàn)性。首先,移動設備是否存在于網絡中,存在的時間以及哪些網絡服務在其上開放都是未知的。其次,如何確定移動設備是否存在可利用的漏洞等問題仍然是很難解決的問題。
3.零日攻擊
零日漏洞是指已經發(fā)現但可能不為公眾所知的漏洞,并且官方尚未發(fā)布相關補丁。因此,它對網絡安全構成了極大的威脅。
七、攻擊圖示例
攻擊圖的一個主要的應用場景是針對網絡脆弱性分析。示例網絡拓撲結構如圖2所示,整個網絡由三個部分組成,即因特網(Internet)、非軍事區(qū)(DMZ)和信任區(qū)(trust zone)。DMZ包含一個DNS服務器和一個web服務器。信任區(qū)中有三個服務器,即FTP服務器、數據庫服務器和管理服務器。
圖2 示例網絡拓撲??表1列出了每臺服務器上的漏洞,表2中列出了服務器之間的通信規(guī)則。
表1 每臺服務器上的漏洞 表2 服務器之間的通信規(guī)則圖3顯示了基于網絡拓撲、漏洞和服務器之間連接的相應攻擊圖。
圖3 相應攻擊圖?
?
總結
以上是生活随笔為你收集整理的针对网络脆弱性的攻击图分析方法总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java-通过IP地址获得域名和主机名
- 下一篇: ddr老化测试_一种通过SOC测试DDR