網路攻擊圖可以連結各個主機已知的漏洞,模擬攻擊者可行的所有路徑,以往僅能倚靠人工判斷分析,但現在已有不少網路安全工作者專注於攻擊圖的自動化產生,因此本篇將介紹攻擊圖相關知識以及生成工具的使用,為安全評估提供更便利且更專業的分析。
5. 取得攻擊圖
在終端機執行「graph_gen.sh [輸入檔路徑] -v -p」指令後,即可於當前資料夾下看到AttackGraph的dot、eps、pdf等各種格式檔案的攻擊圖,如圖10所示,而其中pdf檔案開啟畫面如圖11所示。
|
▲圖10 執行結果檔案狀況。 |
|
▲圖11 AttackGraph.pdf內容。 |
實例演練
隨著網路的便利,辦公地點已不侷限集中在鄰近的區域,A企業就設有5台伺服器分別提供不同的服務,讓位於各個國家各個縣市的各個分公司的員工,即使使用自己的電腦、非主公司的區域網路,也能連結到自己公司的各個伺服器主機,以方便辦公,其中伺服器主機包括Citrix Server、File Server、Web Server、VPN Server與CommServer,網路拓樸結構如圖12所示。該公司的網管人員B對所有主機掃描過後,於其中4台伺服器主機發現共4個漏洞,如表5所示。經查詢CVE弱點資料庫後可以先得知,於Citrix伺服器中所發現的漏洞CVE-2010-0490,存在於IE6至IE8瀏覽器中;於Comm伺服器中所發現的漏洞CVE-2010-0483,存在於Windows作業系統VBScript應用系統中;在VPN伺服器中所發現的漏洞CVE-2010-0492,存在於IE8瀏覽器中;於dataHistorian伺服器內發現的漏洞CVE-2010-0494,存在於IE6至IE8瀏覽器中。而攻擊者可以藉由IE6至IE8的瀏覽器連結此公司各個對外服務伺服器,並透過執行跨網站指令碼(Cross-site Scripting,XSS)攻擊,在目標主機上執行任意程式碼而取得最高權限,達成攻擊目標。
|
▲圖12 網路拓樸示意圖。 |
再透過查詢NVD後,從其所整合的CVSS分數(表5),得知VPN、Critix的嚴重程度最高,其次Comm,最後Data Historian。但僅考量單一漏洞的資訊可能導致網管人員B在計畫處理流程與制定決策的過程中不夠全面,也可能於修復過程中多做無用的功夫。除此之外,為了再考慮各個漏洞之間的相互作用影響結果,他決定使用MulVAL工具產生攻擊圖,進一步了解攻擊者可以利用的方式,且繪製成攻擊圖,也能更清楚方便地向其他人傳達目前網路存在的問題及後續解決動作。
表5 各主機漏洞
製作輸入檔
因伺服器數量多,內容僅以部分伺服器示意,其他即不一一贅述。
設定攻擊者可能目標
attackerLocated(internet).
attackGoal(execCode ([伺服器名稱],
user)).
在本例中,攻擊者可以藉由網路連結到該公司的網路,而該公司的重要資料可以於citrixServer、commServer、vpnServer與dataHistorian主機中來獲取,因此設定citrixServer與commServer,實際設定內容如下:
attackerLocated(internet).
attackGoal(execCode(citrixServer,
user)).
attackGoal(execCode(commServer,
user)).