CVSS评分策略分析及近年来满分漏洞盘点
01? 引言
近兩年正如許多安全公司的研究員親身經(jīng)歷的那樣,網(wǎng)絡(luò)攻擊量顯著增加,重大漏洞被相繼爆出并伴隨著在野利用。如去年年底的log4shell(CVE-2021-44228)和今年爆出的spring4shell(CVE-2022-22965)在安全圈里都掀起了不小的風浪。由于在分析spring漏洞時cve編號還沒有出來,自評影響力也沒那么“核彈級”,后續(xù)就沒怎么關(guān)注這個漏洞的。最近突然想看看這個漏洞的CVSS評分,看看官方是怎么給這漏洞做影響力定義的。查看后發(fā)現(xiàn)該漏洞CVSSV2.0評分為7.5,CVSS3.1的評分為9.8。那么CVSS的評分依據(jù)究竟是什么?2.x和3.x的評分標準區(qū)別在哪?是否分數(shù)越高就表示漏洞危害越大?近年來又有哪些CVSS評分為滿分的漏洞?本篇文章想就這些問題跟大家簡單聊一聊。
02? CVSS評分依據(jù)
2.1 CVSS評分指標
CVSS全稱為Common Vulnerability Scoring System,即“通用漏洞評分系統(tǒng)”,是一個行業(yè)公開的標準。其被設(shè)計用來評測漏洞的嚴重程度,并幫助確定所需反應(yīng)的緊急度和重要度。CVSS是安全內(nèi)容自動化協(xié)議(SCAP)的一部分,通常CVSS和CVE一同由美國國家漏洞庫(NVD)發(fā)布并保持數(shù)據(jù)的更新。CVSS標準由FIRST制定,并由其組織團隊SIG(The CVSS Special Interest Group)改進和推廣。通過漏洞難易程度以及對機密性、完整性、可用性的影響綜合評估后,生成一個0到10分之間的評分值來評估漏洞的嚴重程度。
CVSS的評分指標由三部分組成:
1、基礎(chǔ)評價(Base Metric Group):
評估漏洞本身固有的一些特點及這些特點可能造成的影響。基礎(chǔ)評價指的是一個漏洞的內(nèi)在特征,該特征隨時間和用戶環(huán)境保持不變,基礎(chǔ)評價是CVSS評分里最重要的一個指標,我們一般說的CVSS評分都是指漏洞的基礎(chǔ)評價得分。
2、生命周期評價(Temporal Metric Group):
此指標衡量當前利用技術(shù)或代碼可用性的狀態(tài),是否存在任何補丁或解決方法或者漏洞報告的可信度等。生命周期評價幾乎肯定會隨著時間的推移而改變。
3、環(huán)境評價(Environmental Metric Group):
這些指標使分析師能夠根據(jù)受影響的IT資產(chǎn)對用戶組織的重要性定制CVSS評分,并根據(jù)組織基礎(chǔ)結(jié)構(gòu)中組件的情況的分配分值。
2.2 基礎(chǔ)評價對比
不同版本的CVSS對以上三個維度的評價方式略有不同,CVSS2.0在基礎(chǔ)評價階段主要評估攻擊途徑、攻擊復(fù)雜度、認證、機密性、完整性和可用性幾個方面,評分要素如下表所示:
最終基礎(chǔ)評價的計算方式為
基礎(chǔ)評價得分=10*攻擊途徑*攻擊復(fù)雜度*認證*((機密性*機密性權(quán)重)+(完整性*完整性權(quán)重)+(可用性*可用性權(quán)重))CVSS3.1相比于2.0在評價要素和分值上都做了調(diào)整,評價因子如下表所示:
CVSS3.1基礎(chǔ)評價的計算方法也比2.0要復(fù)雜許多,評分由可利用性評分和影響度評分兩部分構(gòu)成:
基礎(chǔ)評價得分=可利用性評分+影響度評分要計算這兩個分值我們需要先了解CVSS3.0開始引用的一個新機制——“作用域”,作用域反映了軟件組件中的漏洞會否影響其以外的資源或獲得其以外的權(quán)限,有“固定”和“變化”兩種形態(tài),分別表示:
unchanged(U) 固定:
被利用的漏洞只能影響由同一當局管理的資源。在這種情況下,脆弱組件和受影響組件是同一個。
changed(C)? 變化:
被利用的漏洞可能會影響超出脆弱組件預(yù)期授權(quán)權(quán)限的資源。在這種情況下,脆弱組件和受影響組件并非同一個。
可利用性評分的計算方式比較簡單,注意其中權(quán)限要求部分會隨著作用域的變化而變化,最終計算公式為:
可利用性評分=8.22*攻擊途徑*攻擊復(fù)雜度*權(quán)限要求*用戶交互影響度評分要稍微復(fù)雜些,其計算方式為:
當作用域=固定:影響度分值=6.42*ISCbase當作用域=變化:影響度分值=7.52*(ISCbase?0.029)?3.25*(ISCbase-0.02)^15其中:ISCbase=1-[(1-機密性影響)×(1-完整性影響)×(1-可用性影響)]2.3?生命周期評價對比
CVSS2.0和CVSS3.1對生命周期評價的要素基本一致,都包括了利用代碼成熟度、補丁完善水平和報告可信度三個方面,差別主要在具體的分值上,評價標準對比表如下所示:
計算方式比較簡單,2.x和3.x都一樣:
生命周期評價得分=10*利用代碼成熟度*補丁完善水平*報告可信度2.4?環(huán)境評價對比
CVSS2.0和CVSS3.1在環(huán)境評價的要素和記分方式上差別很大。CVSS2.0的環(huán)境評價要素如下表所示:
計算公式為:
環(huán)境評價得分=[生命周期評價+(10-生命周期評價)*危害影響程度]*目標分布范圍CVSS3.1的環(huán)境評價要素主要由保密性需求、完整性需求和可用性需求構(gòu)成,如下表所示:
計算公式比較復(fù)雜,和2.2里講的“作用域”有一定關(guān)系,同時有“有修正”和“無修正”兩種計算方式。首先我們需要計算出2.2里基礎(chǔ)評分指標的“影響度評分”。
當影響度<=0時,環(huán)境評價分值為0
當影響度>0 且 “無修正”:環(huán)境評價分值為
Roundup(Roundup(Min[(M.影響度分值+M.可利用度分值),10])*利用代碼成熟度*補丁完善水平*報告可信度)當影響度>0 且 “有修正”:環(huán)境評價分值為
Roundup(Roundup(Min[1.08*(M.影響度分值+M.可利用度分值),10])*利用代碼成熟度*補丁完善水平*報告可信度)其中:
1、Roundup為保留小數(shù)點后一位并向上取整(小數(shù)點后第二位大于零則進一)
2、Min為比較前后兩值,取小者
3、M. 代表被修正后的分數(shù),若對應(yīng)項無修改,則為原值。
4、影響力修正得分公式為:
作用域為固定:影響度修正分=6.42*ISCModified作用域為變化:影響度修正分=7.52*(ISCModified?0.029)?3.25*(ISCModified-0.02)^15其中:ISCModified=Min(1-[(1-M.機密性影響*M.機密性需求)*(1-M.完整性影響*M.完整性需求)*(1-M.可用性影響*M.可用性需求)],0.915)5、可利用度修正得分公式為:
M.可利用度分值=8.22*M.攻擊途徑*M.攻擊復(fù)雜度*M.權(quán)限需求*M.用戶交互2.5?漏洞等級
CVSS2.0對漏洞等級的定義有低、中、高三個級別,CVSS3.0開始補充了“嚴重”這個級別,具體如下表所示,表中的CVSS分數(shù)均代表的基礎(chǔ)評價分數(shù):
03? 評分案例分析
那么是否CVSS評分越高的漏洞就真的越嚴重呢?我們可以先來看看CVSS對歷史經(jīng)典漏洞永恒之藍(CVE-2017-0143)的評分結(jié)果:
永恒之藍漏洞的嚴重性和影響力自然不必多說,但CVSS3.X的最終評分僅為8.1分,甚至都沒有進入嚴重級別(Critical)這一檔。由于永恒之藍爆發(fā)時還沒有3.1的標準,我們可以先通過3.0的標準(與3.1基本一致)來分析下該漏洞為什么在CVSS的評分不高。
永恒之藍漏洞的評分詳情為:
CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
參考2.2小節(jié)里CVSS3.1的評分標準,這里:
AV(Attack Vector)代表攻擊途徑
AC(Attack Complexity)代表攻擊復(fù)雜度
PR(Privileges Required)代表權(quán)限要求
UI(User Interaction)代表用戶交互
S(Scope)代表作用域
C(Confidentiality Impact)代表機密性影響度
I(Integrity Impact)代表完整性影響度
A(Availability Impact)代表可用性影響度
最終結(jié)果為:
失分項主要有兩個地方,一是攻擊復(fù)雜度評價給的高,通俗點講就是該漏洞的利用難度較高。因為永恒之藍是一個遠程溢出漏洞,poc和exp調(diào)試比較困難。
另外該漏洞的作用域評價為固定,因為該漏洞只影響SMB協(xié)議,不涉及其他組件、服務(wù)或協(xié)議。從2.2小節(jié)里可以看出,作用域一是會影響“權(quán)限要求”項的評分,二是會影響基礎(chǔ)評價里“影響度”的評分公式。由于永恒之藍漏洞由于權(quán)限要求評價項為“無”,因此這里只會對“影響度”的評分造成影響,以上兩個原因造成了永恒之藍漏洞的CVSS評分并沒有大家想的那么高。
另外一些看上去不怎么起眼的漏洞CVSS卻會給出較高的評分,例如Samba遠程代碼執(zhí)行漏洞(CVE-2021-44142),這個漏洞在Samba默認配置下并不會觸發(fā),同時利用穩(wěn)定性也不高,暴露面中規(guī)中矩,但CVSS卻給了8.8分,比永恒之藍評分還要高,評分詳情為:
CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
可以看出僅因該漏洞的利用復(fù)雜度比永恒之藍低,總體評分就比永恒之藍高了,這從漏洞影響面來看顯然是不太科學(xué)的。
此外篇頭提到的兩個漏洞log4shell(CVE-2021-44228)和spring4shell(CVE-2022-22965)的評分分別為10分和9.8分,事實上這兩個漏洞在評分上所有選項都是最高分,唯一區(qū)別是一個作用域可變,一個作用域固定,最終影響了計算公式:
Log4j2:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
Spring:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
這里CVSS對作用域的定義還是比較客觀的,因為log4j2是一個組件,只要調(diào)用了log4j2相應(yīng)版本這個系統(tǒng)就會受到威脅,因此作用域為可變;而Spring4Shell只是一個框架,作用域為固定。事實上如果一個漏洞作用域為固定,換言之該漏洞只影響某個獨立的組件,那么該漏洞注定得不到10分,最高分也只有9.8分,這也是為什么我們能看到那么多9.8分的經(jīng)典漏洞的原因。
04? CVSS滿分漏洞盤點
以CVSS3.1為參考標準,從2021年以來至今,9-10分的漏洞共有1586個,其中滿分的漏洞共有69個。
以下為從2021年至今的滿分漏洞清單列表,事實上并不是所有的漏洞都能配得上滿分。這些漏洞被評為滿分的原因主要還是因為漏洞復(fù)雜度低、利用條件低且能影響多個組件,對漏洞實際影響范圍、危害程度和利用穩(wěn)定性等因素在基礎(chǔ)評分里并未體現(xiàn)。感興趣的同學(xué)可以自行做一個分析:
?
點擊閱讀https://mp.weixin.qq.com/s/OVFsUZkjaK8TgothZjBd5A
總結(jié)
以上是生活随笔為你收集整理的CVSS评分策略分析及近年来满分漏洞盘点的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信小程序云数据库请求数据并将请求到的数
- 下一篇: 给div加边框