網路攻擊圖可以連結各個主機已知的漏洞,模擬攻擊者可行的所有路徑,以往僅能倚靠人工判斷分析,但現在已有不少網路安全工作者專注於攻擊圖的自動化產生,因此本篇將介紹攻擊圖相關知識以及生成工具的使用,為安全評估提供更便利且更專業的分析。
相關背景知識說明
以下說明常見的弱點術語,並介紹目前主流的弱點掃描技術。
常見弱點術語
先說明何謂通用弱點評價系統(CVSS),然後介紹常見的弱點資料庫,包括CVE、OVAL以及NVD,並比較三者之間的差異。
通用弱點評價系統(CVSS)
通用弱點評價系統(Common Vulnerability Scoring System,CVSS)其評價之度衡量主要可以分為基本、時間、環境等三個分類。
基本度衡量反映一個不隨時間或使用者環境變化的漏洞特徵。又包含可利用性指標(反映漏洞可以被利用的簡單程度和技術手段)與影響指標(該漏洞造成的影響);時間度衡量反映一個隨時間變化,但不隨使用者環境變化的漏洞特徵;環境度衡量反映一個與某個特定使用者環境相關且獨特的漏洞特徵。
對於欲評價的漏洞,使用這個系統所定義的度衡量中所細分的每個指標,一一衡量其漏洞的狀態之後,再經由一個個相對應的指標權重加乘計算,最後即可得到CVSS分數,這個分數的範圍會介於0~10,而通常可以依照表1的分數範圍來判定風險危害程度。
表1 CVSS分數所代表的風險危害等級
各類弱點資料庫比較
CVE(Common Vulnerabilities & Exposures)、OVAL(Open Vulnerability and Assessment Language)與NVD(National Vulnerability Database)三者皆為弱點資料庫,其收錄的資料格式整理如表2所示,其中因CVE發起的時間最早,所以OVAL與NVD可補強CVE資訊內容的不足之處。
表2 CVE、OVAL與NVD之比較
弱點掃描技術
弱點掃描屬於一種網路探測技術,會先對網段中每台主機的網路掃描,得知其TCP/IP埠的分配與開啟狀態、所開放的相關服務(如FTP、HTTP)、軟體版本(如FileZilla、Chrome)以及作業系統(如IIS、Microsoft Server)資訊之後,再根據公開或本身營運公司自己蒐集的弱點特徵資料庫進行比對,找出所有作業系統與使用的軟體已知的弱點或漏洞資訊製作成報表,而報表中將包含弱點的修補建議,如圖3所示。常見的弱點掃描工具有Nessus與OpenVAS,兩者簡要特點比較如表3所示。
|
▲圖3 弱點掃描報表。(資料來源:https://hackertarget.com/openvas-scan/)
|
表3 Nessus與OpenVAS之比較
攻擊圖
傳統的弱點掃描技術是一種基於特徵資料庫規則的弱點評估方法,它僅將一個個偵測到的弱點獨立顯示(圖3),而無法綜合評估這些弱點相互作用所產生的潛在威脅,於是攻擊圖為了補足掃描工具所缺乏的多漏洞組合考量,選擇從攻擊者的角度出發,在綜合分析多種網路配置和弱點訊息的基礎上,枚舉所有可能的攻擊路徑,並以圖形化的方式闡述攻擊者如何結合多個漏洞成功入侵,從而幫助防禦者直觀地了解目標網路內各個弱點之間的關係、弱點與網路安全配置之間的關係,以及由此產生的潛在威脅。
對於網路營運商來說,攻擊圖技術可以向用戶解釋一個網路系統容易遭受攻擊的原因,並顯示出攻擊者較容易藉由連接哪一台主機的哪種服務,入侵到真正資料存放的主機上;對於網路管理者來說,此技術以更清晰的圖示表明各個漏洞應處理的優先順序,以及建議採取的安全措施。
因過去攻擊圖的生成多依靠人工判斷製作,但隨著網路拓樸複雜性的提高,節點數量規模越來越大而導致圖形越來越複雜,須開始借助電腦的計算能力,藉此本文所介紹的攻擊圖工具為MulVAL,可以在攻擊圖的判斷上發揮更大的效益。
工具操作流程
本文操作環境使用Linux系列作業系統Ubuntu 16.04桌面版(64位元),並以終端機(Terminal)為主進行使用操作,操作流程如圖4所示。
|
▲圖4 實作操作流程。 |