網路攻擊圖可以連結各個主機已知的漏洞,模擬攻擊者可行的所有路徑,以往僅能倚靠人工判斷分析,但現在已有不少網路安全工作者專注於攻擊圖的自動化產生,因此本篇將介紹攻擊圖相關知識以及生成工具的使用,為安全評估提供更便利且更專業的分析。
設定對外伺服器
hacl([伺服器名稱],internet,[協定],[埠]).
inCompetent([主機名稱]).
hasAccount([主機名稱],[伺服器名稱],[使用者帳號]).
在本例中,將開放citrixServer、commServer、webServer以及vpnServer對外的服務,設定citrixServer的實際內容如下:
hacl(citrixServer,internet,http
Protocol,httpPort).
inCompetent(victim_1).
hasAccount(victim_1,citrixServer,user).
設定非對外伺服器
netAccess([伺服器名稱],[協定],[埠]).
networkServiceInfo([伺服器名稱],
[程式名稱],[協定],[埠],[權限]).
在本例中,dataHistorian的連結資訊設定如下:
netAccess(dataHistorian,httpPro
tocol,httpPort).
networkServiceInfo(dataHistoria
n,mountd,httpProtocol,httpPort,
root).
經掃描的弱點資訊
vulExists([伺服器名稱], [弱點編號],
[程式名稱],[是否可遠端利用],[弱點作用影響])
本例中,經掃描結果後發現四個弱點,設定如下:
vulExists(citrixServer,'CVE-2010-
0490',ie,remoteClient,priv Escalation).
使用工具輸出攻擊圖
在執行「graph_gen.sh experiment/case.P -v -p」指令之後,產生的攻擊圖經簡化後如圖13所示,而輸入檔與節點對應的內容如圖14所示。
|
▲圖13 攻擊流程圖。 |
|
▲圖14 攻擊圖節點對應輸入檔內容。 |
解析攻擊圖
攻擊圖中的所有節點以三種形狀區分,其中矩形節點(如節點5、16、32等)表示原始狀態,說明了系統認證資訊,例如防火牆允許伺服器從外部網路連結;菱形節點(如節點1、3、12等)表示影響過後的狀態,即表示攻擊者可以在某系統獲取的權限,例如可在該系統中獲得程式碼執行的權限;而橢圓節點(如節點4、11、16等)則連結前備條件狀態與影響後果,例如攻擊者所連結的主機必須是擁有某個漏洞,才能被其利用後獲取某種程度的權限。
此例中,攻擊者將所有路徑方法歸結出三種,可成功駭進A公司內部網路裡的各伺服器主機:
5→4→3→2(利用漏洞CVE-2010-0490)→1(入侵citrixServer)
5→13→12→11(利用漏洞CVE-2010-0483)→10(入侵commServer)→21→20→19(利用漏洞CVE-2010-0494)→18(入侵dataHistorian)
5→28→27→26(利用漏洞CVE-2010-0492)→25(入侵vpnServer)
從結果攻擊圖可以發現,雖然透過工具掃描出總計四個漏洞,但可將攻擊者入侵途徑總結成僅三種管道,這也表示,對某一台伺服器而言(dataHistorian),單一漏洞並不可行,其中一個漏洞必定要有另外一個漏洞的搭配(前揭第二種路徑),才能攻破存有重要資料的伺服器主機,獲取最高權限後取得機密並破壞自己入侵的軌跡。
而這樣珍貴的資訊並無法僅從CVE或OVAL甚至NVD弱點資料庫中取得,尚須配合所處的網路設定與配置等全面的資訊提供,綜合分析過後,才可以了解這樣的相互關係存在,而這也為攻擊圖的重要地位做一個良好的佐證。如此一來,網管B除了可以透過CVSS分數得知各個漏洞的危害程度高低外,還可以從圖中發現,存在於DataHistorian的這個漏洞CVE-2010-0494,不僅危害程度相較其他漏洞低之外,它甚至可以在網管人員完成對應的修復補丁之前,搶先修復Comm伺服器的漏洞CVE-2010-0483後,便不再對DataHistorian造成威脅。
圖15為修復Comm漏洞後的攻擊圖,從圖中可以看出,原先存在於圖13的第二種可能攻擊手法已不復存在。
|
▲圖15 漏洞CVE-2010-0483修復完成後之攻擊圖。 |
結語
在資訊安全意識抬頭的時代裡,漏洞已然成為眾人關注的焦點。比起看到許多經掃描的漏洞結果數量,這裡希望藉由使用MulVAL工具的攻擊圖自動化產生,進一步將所擁有的種種資訊結構化,並預想攻擊者可行的攻擊路徑。如此一來,即可知道那些漏洞對攻擊者來說是可以利用的,另外也能夠得知,攻擊者可能不只依靠一個漏洞來達成他的目標,因此若是能先盡快成功修復該組合的其中一個,這樣攻擊者便無法再透過該路徑入侵某台主機。也就是說,其他存在於同一個組合中的漏洞,便可能不再為攻擊者所能利用,而須另覓其他可行方法,如此即可爭取更多時間修復其他漏洞,維持網路運作的安全。
<本文作者:中央警察大學資訊密碼暨建構實驗室(ICCL),民國87年12月成立,目前由王旭正教授領軍,實驗室成員共有20名,並致力於資訊安全、資料隱藏與資料快速搜尋之研究,以確保人們於網際網路世界的安全。(http://hera.im.cpu.edu.tw)>