明白漏洞評分可能是一項艱巨的任務,但是一個好的開始是首先了解風險,并能夠區分風險和漏洞。多年來,人們都在交替使用這兩種方法。
漏洞是指由于系統功能,配置或結構的某些方面的問題,使這些資源成為了潛在被濫用,利用或拒絕服務的目標。
風險則是威脅成為一個特定漏洞的可能性。
有很多方法可用于對漏洞進行排序,決定它們的風險等級。通用漏洞評分系統(Common Vulnerability Scoring System, CVSS)是其中最廣泛使用的行業標準。該系統現在有三個版本:CVSSv1, CVSSv2 和CVSSv3。CVSSv1發布于2005年,CVSSv2于2007年,而當前版本CVSSv3則發布于2015年。
為了更好地理解CVSS,我們需要知道評分系統是如何演變的。
圖1: CVSSv1 三個維度
CVSSv1旨在對信息系統漏洞進行排序,為終端用戶提供一個綜合評分,代表該漏洞的嚴重程度和風險。CVSS采用了模塊化評分體系,包含三個部分:基本維度(Base Metric Group),時間維度(Temporal Metric Group)和環境維度(Environmental Metric Group)。由這三個部分分別計算所得的分數,組成了一個0到10分的漏洞總體得分,10分代表最嚴重。
圖1.1 CVSSv1 基本維度
基本維度奠定了漏洞得分的基礎。基本維度包含訪問類型(Access Vector),完整性影響(Integrity Impact),影響偏差(Impact Bias),訪問復雜性(Access Complexity),保密性影響(Confidentiality Impact),可用性影響(Availability Impact)和身份驗證要求(Authentication)。這些核心特性不會隨時間而改變,即使添加了不同的目標環境,它們也不會改變。
圖1.2 CVSSv1 時間維度
時間維度包含了可利用性(Exploitability),修復級別(Remediation Level)和報告水平(Report Confidence)這些動態因素,會隨著時間推移而影響一個漏洞的緊迫程度。
圖1.3 CVSSv1 環境維度
環境維度決定了被發現的漏洞對組織機構和其利益相關者可能產生什么樣的影響。這一維度根據漏洞潛在附帶損害和目標分布來評估其風險。
顧名思義,基本維度是漏洞得分的基礎,時間維度和環境維度在此基礎上起到提高或降低分數的作用。CVSS SIG(Special Interest Group, 特別利益小組)后來指出CVSS存在嚴重的問題。最大的問題來自部分類別,零分和自變量。這些問題最終導致了不穩定或模棱兩可的風險得分。隨后2007年發布的CVSS2考慮了CVSS1存在的缺陷,并試圖改進它們。
CVSSv3則對CVSSv2存在的缺陷進行了改進。例如在CVSSv2中,漏洞評分是基于該漏洞對主平臺的總體影響,而在CVSSv3中,漏洞評分是基于對特定組件的影響。另一個常見的對CVSS的不滿是,人們認為CVSS沒有考慮漏洞暴露給攻擊者的時間。這個時間因素影響了一個漏洞被攻擊者利用進行攻擊的可能性。
安全公司Tripwire的評分系統則根據漏洞的年齡對其進行評分。
此外CVSSv2和v3的評分系統因為受限于兩個或三個“無”,低”或“高”選項,缺乏精確度。這意味著最終出現的分數總是那么幾個。這使得許多關于風險優先級的問題沒有得到解答,因為幾乎總是會有許多得分相同的漏洞出現。
Tripwire通過一個漏洞公開發布的天數(t),風險類別(r)和能成功執行攻擊的能力(s)來計算該漏洞的風險。風險類型(r)的得分為0到6分,0意味著“暴露”,而6代表了一個漏洞具有“遠程訪問權限”。
風險類別通過階乘來加大其權重。最后攻擊能力(s)的評分為1到6分,1分代表“自動利用”,6分則代表“沒有已知的利用能力”。攻擊能力的得分將進行平方,已獲得更精確的分數。
和CVSS相比,Tripwire漏洞評分能夠更準確地表示漏洞的風險。
圖3:Tripwire 方法
為了展示CVSSv2、CVSSv3和Tripwire的評分差異,我們選擇了2017年的10個漏洞。CVSSv2的平均得分為8.6,CVSSv3也是8.6,而Tripwire得分為13858。
圖4:Tripwire 評分數據
上圖的數據顯示了10個漏洞,以及其CVSS和Tripwire評分。CVE-2017-0920是一個很好的例子,說明了CVSS評分有時會極大地夸大一個漏洞相對于另一個漏洞的風險。
為了進一步比較三種評分系統,從上述圖表中截取了圖“A”和圖“B”中的CVE進行說明。
圖5(A):CVE-2017-0290 圖5(B):VE-2017-10271
圖A是一個Microsoft惡意軟件保護引擎遠程代碼執行漏洞,Tripwire給了它3943分,CVSSv2得分為9.3,CVSSv3為7.8。根據標準,CVSS將這個漏洞評為“高”。Tripwire得分是3943,代表低風險。
圖B是一個Oracle WebLogic漏洞,CVSSv2得分為5,CVSSv3為7.5。這個得分介于“中等”和“高”之間。Tripwire給這個漏洞打了13099分,因為CVE-2017-10271被記錄為一個可以遠程自動執行的漏洞。
Tripwire對這兩個漏洞評分的區別在于,Microsoft漏洞雖然確實可能被利用,但是需要用戶進行一些操作才能執行攻擊,例如讓用戶打開郵件點擊一個鏈接。相比之下,Oracle WebLogic漏洞具有自動攻擊的特性,無需和用戶互動,因此得分更高。
Tripwire漏洞評分系統為衡量企業網絡中的IT風險,提供了合理和有效的標準。這很重要,因為根據得分,組織機構可以通過將IT資源集中在優先級最高的目標上,有效地的進行降低網絡安全風險的工作。