【网络安全常用术语解读】CVSS详解
什么是CVSS?CVSS是由哪個組織定義和維護的?CVSS主要用途是什么?CVSS 3.X與2.X版本主要有哪些區別?如何給一個CVE漏洞進行評分?讀完本文你將收獲所有答案。如還有其他相關疑問,歡迎留言討論。
1. 簡介
CVSS全稱是Common Vulnerability Scoring System,中文翻譯為通用漏洞評分系統,CVSS是一個用于溝通軟件漏洞特征和嚴重性的開放框架,它由FIRST(Forum of Incident Response and Security Teams)定義和維護。CVSS提供了一種方法來獲取漏洞的主要特征,并生成反映其嚴重性的數值評分,取值范圍[0,10],取值越高表明漏洞越嚴重,主要用于幫助組織或企業在漏洞管理流程中評估與定級漏洞。CVSS當前最新版本為3.1(2019年6月發布),關于CVSS 3.1版本的官方詳細介紹文檔可以點此下載,當前正在推進CVSS 4.0版本,解決了3.X版本中存在的一些問題。
Note: FIRST是一個美國的非盈利組織,FIRST成員主要來自教育、商業、供應商、政府和軍事等多種組織的團隊。FIRST旨在將來自世界各國的事件響應和安全團隊聚集在一起,以確保所有人都能安全上網。目前在中國有12個團隊加入了FIRST,如阿里、華為、中興、騰訊。
| ASRC | Alibaba Security Response Center |
| China Mobile | China Mobile Communications Co., Ltd. CN |
| CNCERT/CC | National Computer Network Emergency Response Technical Team / Coordination Center of China |
| Dahua PSIRT (Suspended) | Dahua Products Security Incident Response Team |
| Data Star Observatory | Beijing Data Star Observatory Co., Ltd. |
| Eversec | Eversec Technology Co.,Ltd |
| HSRC (Suspended) | Hikvision Security Response Center |
| Huawei PSIRT (Suspended) | Huawei Products Security Incident Response Team |
| OSRC | OPPO Security Response Center |
| Qi An Xin CERT | Qi An Xin Group |
| Tencent Cloud | Tencent Cloud Computing (Beijing) Co., Ltd |
| ZTE PSIRT | ZTE Product Security Incident Response Team |
2. CVSS組成
CVSS由三個度量組組成:
- 基礎度量組:表示漏洞的內在特性,這些特性不會隨時間和用戶環境而變化;
- 時間度量組:反映了漏洞隨時間變化的特性;
- 環境度量組:表示用戶環境特有的漏洞特性。
基礎組產生的分數范圍為0到10,然后可以通過對時間和環境度量進行評分來細化基礎得分,以便更準確地反映特定時間點用戶環境中的漏洞所造成的相對嚴重性。對時間和環境指標進行評分不是必須的,但建議對其進行更精確的評分。CVSS分數可通過向量字符串表示,如CVSS:3.1/AV:A/AC:H/PR:N/UI:R/S:C/C:N/I:L/A:L/E:P/MUI:N。接下來會分別詳細介紹以上三個度量組。
圖1:CVSS打分計算公式
2.1. 基礎度量組
基本度量組表示漏洞的內在特征,不隨時間和環境變化,基礎度量組由二個子度量組和一個范圍元素組成,
- 可利用性(Exploitability):反映了漏洞可利用的容易程度和技術手段,稱之為脆弱組件;
- 影響(Impact):反映了成功利用的直接后果,稱之為受影響的組件
- 范圍(Scope):這是CVSS v3.0中引入的一個關鍵功能,可用于衡量除易受攻擊組件之外的漏洞的影響
Note:易受攻擊的組件:通常是指軟件應用程序、模塊、驅動程序、硬件設備。
在對基礎度量進行評分時,應假設攻擊者對目標系統的弱點有深入了解,包括一般配置和默認防御機制(例如內置防火墻、速率限制、流量監控)。例如,利用導致可重復、確定性成功的漏洞仍然應視為攻擊復雜性的低值,與攻擊者的知識或能力無關。此外,特定于目標的攻擊緩解(例如,自定義防火墻過濾器、訪問列表)應反映在環境度量評分組中。
Note: 特定配置不應影響影響CVSS基礎得分的任何屬性
2.1.1. 可利用性度量
2.1.1.1. Attack Vector (AV) 攻擊向量
該指標反映了漏洞利用的可能性。為了利用易受攻擊的組件,攻擊者越遠(邏輯上和物理上),該度量值(以及因此的基礎分數)就越大。假設可以通過網絡利用漏洞的潛在攻擊者數量大于需要物理訪問設備才能利用漏洞的可能攻擊者數量,因此可以獲得更高的基本分數。
| Network (N) 網絡 | 通過網絡訪問可利用的漏洞,漏洞組件與網絡協議棧綁定。例如,攻擊者通過在廣域網(例如,CVE?2004?0230)上發送特制的TCP數據包,導致拒絕服務(DoS)。 |
| Adjacent (A) 相鄰網絡 | 通過相鄰網絡訪問可利用的漏洞,相比N,攻擊只限于同一個共享的物理網絡(藍牙和IEEE 802.11)或邏輯網絡(本地IP子網),或來自安全域其他有限的管理域(例如,MPLS) |
| Local (L) 本地網絡 | 通過本地網絡訪問即可利用的漏洞,漏洞組件未與網絡協議棧綁定,攻擊是通過讀、寫、執行能力發起的 |
| Physical § 物理訪問 | 通過物理訪問才能利用的漏洞,需要攻擊者物理上接觸或操控漏洞組件 |
Note: Network和Adjacent的攻擊是綁定協議棧的,而Local和Physic的攻擊是不綁定網絡協議棧的;
2.1.1.2. Attack Complexity(AC)攻擊復雜性
該度量描述了攻擊者無法控制的條件,攻擊者必須存在這些條件才能利用該漏洞。
| 低(L) | 不存在特殊的訪問條件或例外條件,攻擊者可以對漏洞組件進行反復攻擊 |
| 高(H) | 成功攻擊要求超出攻擊者控制的條件,即需要攻擊者投入一定的努力,在成功前針對 漏洞組件做好準備或執行工作 |
Note:攻擊者不可掌控的條件有中間人、序列號、共享秘鑰、難以贏得的競爭條件等。
2.1.1.3. Privileges Required (PR)所需權限
此度量描述攻擊者在成功利用漏洞之前必須擁有的權限級別。如果不需要特權,則基礎分數最高。
| 無(N) | 攻擊者在攻擊前未授權,在發起攻擊時也不需要訪問任何設置或文件 |
| 低(L) | 攻擊者需要一定權限,獲得正常影響某個用戶擁有的設置和文件的能力?;蛘邠碛械蜋嘞薜墓粽呖赡軗碛袃H影響非敏感資源的能力 |
| 高(H) | 攻擊者需要對組件的重要(如管理員)權限,可影響組件范圍的設置和文件 |
一般認為可以訪問系統的核心配置文件、重新復位設置、加載卸載驅動、對文件系統可以不受限的訪問等一個或多個特權的賬戶屬于影響力較高的賬戶,PR取值應為H。
2.1.1.4. User Interaction(UI)用戶交互
此度量描述了除攻擊者之外的用戶參與成功攻擊易受攻擊組件的要求。
| 無(N) | 對漏洞的利用不需要用戶交互 |
| 需要(R) | 要想成功利用漏洞需要提前做一些行動,如,只有在管理員安裝某個應用、點擊某個鏈接或打開某個文檔時攻擊者才能利用某個漏洞、 |
2.1.2. 影響度量
2.1.2.1. Confidentiality (C)機密性
機密性是指僅授權用戶可訪問和披露受限信息,以及防止未授權用戶訪問或披露。當受影響組件的損失最高時,基本得分最高。
| 高(H) | 機密性完全喪失,導致所有受影響組件中的資源泄露給攻擊者,雖然僅可以獲取某些受限信息,但泄露的信息會帶來直接且嚴重的影響 |
| 低(L) | 機密性有一定的喪失,攻擊者可以獲取某些受限信息,但圣獲得的信息無法控制或損失的數量或種類有限。信息泄露不會給受影響組件帶來直接、嚴重損失 |
| 無(N) | 受影響組件未受到機密性損失 |
2.1.2.2. Integrity (I) 完整性
Integrity指信息的可信度和真實性。
| 高(H) | 完整性完全破壞,或保護完全丟失,會帶來直接、嚴重的后果。比如,攻擊者可以修改受影響組件保護的任何文件 |
| 低(L) | 可能對數據進行修改,但攻擊者無法控制修改的結果,或修改量有限。數據的修改不會給受影響組件帶來直接、嚴重后果 |
| 無(N) | 受影響組件完整性沒有破壞 |
2.1.2.3. Availability (A) 可用性
機密性和完整性影響度量適用于受影響組件使用的數據(例如,信息、文件)的機密性或完整性損失,但該度量指受影響組件本身的可用性損失,例如網絡服務(例如,網絡、數據庫、電子郵件)。由于可用性是指信息資源的可訪問性,因此消耗網絡帶寬、處理器周期或磁盤空間的攻擊都會影響受影響組件的可用性。
| 高(H) | 可用性完全喪失,造成攻擊者能夠讓受影響組件拒絕向合法用戶提供服務,該損害是可以持續或長期的,會帶來直接、嚴重的后果。比如,DDos攻擊 |
| 低(L) | 性能降低或資源可用性受到干擾,即使多次利用漏洞,攻擊者也不能完全向合法用戶拒絕服務,總體上不會給受影響組件帶來直接、嚴重后果 |
| 無(N) | 受影響組件可用性沒有影響 |
Note:可用性取值為H時,表明在某個時間點有全部資源不可訪問的情況。
2.1.3. Scope(S)范圍
范圍度量描述一個易受攻擊組件中的漏洞是否會影響組件中超出其安全范圍的資源。
| 無改變(U) | 被利用的漏洞僅能對同一個授權主體所管理的資源產生影響,即漏洞組件和受影響組件是同一個組件 |
| 改變(C) | 被利用的漏洞可以對超出存在漏洞組件授權之外的資源產生影響,漏洞組件和受影響組件不是同一個組件 |
Note:Scope是Authorization Scope的簡稱,所以Scope是個授權域,即對某些資源(文件、內存、CPU等)有特定的權限。Scope取值為C時,AV/AC/UI/PR基于漏洞組件選擇,然后分別對漏洞組件和受影響組件分別選擇C/I/A的評分,最后選擇較高的評分作為最終評分。
2.2. 時間度量組
時間度量組反映了有漏洞特征可能會隨時間而變化,但不會在用戶環境中變化。例如,一個簡單易用的漏洞工具包的出現會增加CVSS分數,而創建一個官方補丁會降低它。
Note: 由于該度量組平時很少用到,在此不做詳細展開,更多細節可以查看官方文檔,點擊下載。
2.3. 環境度量組
環境度量組表示與特定用戶環境相關且獨立的漏洞特征??紤]因素包括是否存在安全控制措施(用于降低被攻擊的部分或全部損失或風險),以及技術基礎設施中易受攻擊系統的重要性。
Note:由于該度量組平時很少用到,在此不做詳細展開,更多細節可以查看官方文檔,點擊下載。
3. CVSS在線計算
打開網址https://www.first.org/cvss/calculator/3.1,基于上面介紹的評分維度進行勾選,系統會自動算出CVSS基礎評分。
在已知道打分向量的前提下可以直接把打分向量拼接在網址后面,按下回車系統自動選擇對應取值并完成打分計算。如
https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:A/AC:H/PR:N/UI:R/S:C/C:N/I:L/A:L/E:P/MUI:N
4. 嚴重級別劃分
出于某些場景,對基礎、時間和環境分數進行文本表示是有用的,常用的為嚴重級別劃分,具體如下
| 無(None) | 0.0 |
| 低(Low) | 0.1 - 3.9 |
| 中(Medium) | 4.0 - 6.9 |
| 高 (High) | 7.0 - 8.9 |
| 致命 (Critical) | 9.0 - 10.0 |
5. 向量字符串表示
向量字符串是一組CVSS度量的文本表示。它通常用于以簡潔的形式記錄或傳輸CVSS度量信息。
CVSS v3.1向量字符串以標簽“CVSS:”和當前版本的數字表示“3.1”開頭。度量信息以向量的形式出現,每個度量前面都有一個正斜杠“/”,用作分隔符。每個度量都是縮寫形式的度量名稱、冒號“:”及其相關度量值。具體見下表:
| Base | Attack Vector (AV) | [N,A,L,P] | Yes |
| Base | Attack Complexity (AC) | [L,H] | Yes |
| Base | Privileges Required (PR) | [N,L,H] | Yes |
| Base | User Interaction (UI) | [N,R] | Yes |
| Base | Scope (S) | [U,C] | Yes |
| Base | Confidentiality ? | [H,L,N] | Yes |
| Base | Integrity (I) | [H,L,N] | Yes |
| Base | Availability (A) | [H,L,N] | Yes |
| Temporal | Exploit Code Maturity (E) | [X,H,F,P,U] | No |
| Temporal | Remediation Level (RL) | [X,U,W,T,O] | No |
| Temporal | Report Confidence (RC) | [X,C,R,U] | No |
| Environmental | Confidentiality Requirement (CR) | [X,H,M,L] | No |
| Environmental | Integrity Requirement (IR) | [X,H,M,L] | No |
| Environmental | Availability Requirement (AR) | [X,H,M,L] | No |
| Environmental | Modified Attack Vector (MAV) | [X,N,A,L,P] | No |
| Environmental | Modified Attack Complexity (MAC) | [X,L,H] | No |
| Environmental | Modified Privileges Required (MPR) | [X,N,L,H] | No |
| Environmental | Modified User Interaction (MUI) | [X,N,R] | No |
| Environmental | Modified Scope (MS) | [X,U,C] | No |
| Environmental | Modified Confidentiality (MC) | [X,N,L,H] | No |
| Environmental | Modified Integrity (MI) | [X,N,L,H] | No |
| Environmental | Modified Availability (MA) | [X,N,L,H] | No |
例如,如果基礎度量值為“攻擊向量:網絡,攻擊復雜性:低,所需權限:高,用戶交互:無,范圍:不變,機密性:低,完整性:低、可用性:無”,并且沒有指定的時間或環境度量,則會產生以下向量:
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:N
6. 案例:心臟出血漏洞CVE-2014-0160
此漏洞會發送一個畸形的心跳請求到服務器,服務器內存會作出響應從而引發漏洞,主要原因是OpenSSL在驗證心跳請求的有效性之前就將心跳包后的內存信息發送給了攻擊者。
基礎打分計算如下:
解釋:
AV取值N – 通過遠程發送心跳包即可執行攻擊
AC取值L – 攻擊者通過構造畸形心跳請求的難度不大
PR取值N – 整個攻擊過程不需要權限驗證
UI取值N – 無需截獲通信包來進行交互
S取值U – 只影響到了當前服務器內存上的數據
C取值H – 內存數據泄露給了攻擊者
I取值N – 數據未被修改
A取值N – 系統正常運行
7. 常見問題解答
7.1. 版本發布歷史
- 2019年6月 CVSS 3.1
- 2015年6月 CVSS 3.0
- 2007年6月 CVSS V2
7.2. CVSS 3.1相比3.0,主要有哪些變化點?
根據CVSS v3.0計算器代碼創建了CVSS v3.1計算器,主要是對度量描述的更改和對基礎公式的小修改。
7.3. CVSS與SCAP有什么關系?
安全內容自動化協議(SCAP:Security Content Automation Protocol)是由美國國家標準與技術研究院(NIST)制定的一套安全規范,可以使技術安全操作得到自動化和標準化。2007年,美國國家標準與技術研究所(NIST)將CVSS v2.0作為其安全內容自動化協議(SCAP)的一部分。
8. 參考
https://www.first.org/cvss/user-guide
總結
以上是生活随笔為你收集整理的【网络安全常用术语解读】CVSS详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【JAVA】快速排序
- 下一篇: js获取手机设备型号,兼容h5