揭开CVSS的神秘面纱
一、CVSS到底是什么?
雖然軟件漏洞的潛在影響不應該被低估,但是對每個漏洞給予同等重要性是不科學的,同時也是不合理的。因此,我們需要一個專業評分標準對每個漏洞的嚴重程度進行優先級排序,以便企業和安全團隊可以從容的理解和修復每個已知漏洞。于是CVSS應運而生。
CVSS(The?Common Vulnerability Scoring System通用漏洞評分系統)是一個行業標準,由FIRST.org編寫并更新。FIRST是一個總部設在美國的非營利組織,在全球擁有超過500個成員組織,它的權威性因此得到了有效的保證。
CVSS提供了信息安全漏洞嚴重程度的數值,0-10代表不嚴重到致命威脅。CVSS評分通常被用作漏洞管理程序的一部分,以提供漏洞之間的比較點,以便優先修復嚴重程度高的漏洞。
二、評分標準
CVSS現在的版本是V3.1,其更新目的是解決V2中的一些已知缺點。
CVSS評分由三組指標組成:基礎、時間、環境。每組指標都有一些基礎評分因素。
1.CVSS Base Metrics
基礎因素代表了漏洞本身的特征。這些特征不會隨著時間的推移而改變,也不依賴實際使用的可利用性或企業設置的補償手段。公開的嚴重程度排名,例如NIST的NVD中列出的那些,僅指CVSS基礎評分。
基礎CVSS分數的簡單可用性為修復優先級排序提供了一個簡便的起點,但它的用途有限,因為它沒有考慮到實際應用中的使用率、補丁的可用性、或其他環境因素。
CVSS基礎因素由三個子評分元素組成:可利用性(Exploitability)、范圍(Scope)和影響(Impact)
①可利用性:可利用性由漏洞組件的特征組成,它又由四個子元素構成。
A.攻擊向量:這個分數根據利用漏洞所需的訪問級別而變化。對于可以遠程執行的攻擊,它的得分要高于需要實體存在的攻擊。
B.攻擊復雜度:這個得分隨攻擊者控制范圍之外的因素而變化。對于需要攻擊者進行額外工作的漏洞攻擊(例如盜取共享密鑰或中間人攻擊),它的得分要高于不需要這種額外工作的攻擊。
C.特權許可:這個分數根據攻擊者進行攻擊所需的特權而變化。需要管理特權才能利用的漏洞比不需要身份驗證或攻擊者升級特權的漏洞得分更高。
D.用戶交互:這個分數隨攻擊者是否必須招募一個參與者來完成他們的任務而變化。如果攻擊者能夠在沒有實際用戶參與的情況下自主操作,則得分會更高。
②范圍:與一個組件中的漏洞是否可以感染到其他組件有關。如果存在感染可能性,則該得分會較高。
③影響:側重于攻擊者可以通過利用相關的漏洞實現的實際結果,它又由三個子因素構成。
A.機密性:該得分隨攻擊者獲得訪問的數據量而變化。如果受影響系統上的所有數據都可以被攻擊者訪問,那么得分會更高。如果沒有數據可以訪問,得分會較低。
B.完整性:該分數隨攻擊者改變受影響系統上數據的能力而變化。如果大范圍的修改數據,則該分數將會很高。
C.可用性:該分數隨著被利用系統可用性的丟失而變化。如果由于變化,系統不再支持對授權用戶可訪問或可使用,那么該得分將會較高。
2.CVSS Temporal Metrics
CVSS時間因素是隨時間變化的因素,該因素可以衡量漏洞的當前可利用性,以及修復補丁的可用性。時間因素又包含三個子因素。
①利用代碼成熟度:在存在利用漏洞的方法之前,它是相對良性的。與大多數軟件一樣,可用于進行攻擊的代碼會漸漸成熟,隨著時間的推移變得更加穩定和被廣泛可用。當這種情況發生時,該分數將會增加。
②修復級別:當第一次發現漏洞時,可能沒有補丁或其他可用的解決方案。但隨著時間的推移,修復措施會變得越來越多也越來越可用,于是該分數也會隨之降低。
③報告置信度:置信度測量驗證水平,表明一個漏洞時真實的和可利用的。
3.CVSS Environmental?Metrics
CVSS環境因素允許企業根據安全需求和基礎因素的修改來更改CVSS分數。該因素包含兩個子因素。
①安全要求:描述了有關資產的關鍵性。任務關鍵數據和資產的得分高于不太重要的數據和資產。
②修改的基本標準:企業可以根據已經實施的修復措施選擇修改相應的CVSS基礎分數。
三、定性評級
CVSS分數為0-10分,對于最新的標準?CVSS v3.1,它的評級標準如下:
四、CVSS和CVE有什么不同?
當涉及到安全漏洞時,有太多的簡寫需要識別:CVE、CVSS、NVD、NIST。其中CVE代表Common?Vulnerability Enumeration(通用漏洞枚舉),它是一個所有公開漏洞的列表,由Mitre公司建立。NIST是美國的“工信部”,它建立了NVD(美國國家漏洞數據庫),其中的數據直接應用了Mitre?CVE列表中的數據。
在NVD中,安全人員可以看到分配給每個CVE的CVSS分數。
總結
以上是生活随笔為你收集整理的揭开CVSS的神秘面纱的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: JUnit单元测试案例——异常测试(测试
 - 下一篇: 前端测试 —— 技术选型及入门