有些需要说明的要素如下:
1、如果漏洞既可远程利用,又可以本地利用,取值应该为远程利用的分值。
2、攻击复杂度的分值由原先的低/高变为低/中/高,参见:http://www.first.org/cvss/draft/accepted/060103.html
3、需要认证的例子,如需要预先有Email、FTP帐号等。
有些有用的参考资源如下:
CVSS评分计算器:http://nvd.nist.gov/cvss.cfm?calculator
CVSS的最近更新:http://www.first.org/cvss/draft/
一些文档及胶片:http://www.first.org/cvss/links.html
2.2 CVSS评分方法
2.2.1 基本评价
基本评价指的是该漏洞本身固有的一些特点及这些特点可能造成的影响的评价分值,该分值取值如下:
AccessVector = case AccessVector of
local:
0.7
remote:
1.0
AccessComplexity = case AccessComplexity of
high:
0.6
medium:
0.8
low:
1.0
Authentication = case Authentication of
required: 0.6
not-required: 1.0
ConfImpact = case
ConfidentialityImpact of
none:
0
partial:
0.7
complete: 1.0
ConfImpactBias = case ImpactBias of
normal:
0.333
confidentiality: 0.5
integrity: 0.25
availability: 0.25
IntegImpact = case IntegrityImpact
of
none:
0
partial:
0.7
complete: 1.0
IntegImpactBias = case ImpactBias of
normal:
0.333
confidentiality: 0.25
integrity: 0.5
availability: 0.25
AvailImpact = case AvailabilityImpact
of
none:
0
partial:
0.7
complete: 1.0
AvailImpactBias = case ImpactBias of
normal:
0.333
confidentiality: 0.25
integrity: 0.25
availability: 0.5
BaseScore = round_to_1_decimal(10 * AccessVector
* AccessComplexity
* Authentication
* ((ConfImpact * ConfImpactBias)
+ (IntegImpact * IntegImpactBias)
+ (AvailImpact * AvailImpactBias)))
2.2.2 生命周期评价
因为漏洞往往同时间是有紧密关联的,因此这里也列举出三个与时间紧密关联的要素如下:
Exploitability = case Exploitability of
unproven:
0.85
proof-of-concept: 0.9
functional:
0.95
high:
1.00
RemediationLevel = case RemediationLevel of
official-fix:
0.87
temporary-fix: 0.90
workaround:
0.95
unavailable:
1.00
ReportConfidence = case ReportConfidence of
unconfirmed:
0.90
uncorroborated:
0.95
confirmed:
1.00
TemporalScore = round_to_1_decimal(BaseScore * Exploitability
* RemediationLevel
* ReportConfidence)
2.2.3 环境评价
每个漏洞会造成的影响大小都与用户自身的实际环境密不可分,因此可选项中也包括了环境评价,这可以由用户自评。
CollateralDamagePotential = case CollateralDamagePotential of
none:
0
low:
0.1
medium:
0.3
high:
0.5
TargetDistribution = case
TargetDistribution of
none:
0
low:
0.25
medium:
0.75
high:
1.00
EnvironmentalScore = round_to_1_decimal((TemporalScore + ((10 -
TemporalScore)
* CollateralDamagePotential))
* TargetDistribution)
三、示例
3.1 一个漏洞的评分实例
这个例子是Apache Web
Server分块编码远程溢出漏洞,该漏洞的描述为(参考http://www.nsfocus.net/vulndb/2975):
Apache在处理以分块(chunked)方式传输数据的HTTP请求时存在设计漏洞,远程攻击者可能利用此漏洞在某些Apache服务器上以Web服务器进程的权限执行任意指令或进行拒绝服务攻击。
分块编码(chunked encoding)传输方式是HTTP
1.1协议中定义的Web用户向服务器提交数据的一种方法,当服务器收到chunked编码方式的数据时会分配一个缓冲区存放之,如果提交的数据大小未知,客户端会以一个协商好的分块大小向服务器提交数据。
Apache服务器缺省也提供了对分块编码(chunked
encoding)支持。Apache使用了一个有符号变量储存分块长度,同时分配了一个固定大小的堆栈缓冲区来储存分块数据。出于安全考虑,在将分块数据拷贝到缓冲区之前,Apache会对分块长度进行检查,如果分块长度大于缓冲区长度,Apache将最多只拷贝缓冲区长度的数据,否则,则根据分块长度进行数据拷贝。然而在进行上述检查时,没有将分块长度转换为无符号型进行比较,因此,如果攻击者将分块长度设置成一个负值,就会绕过上述安全检查,
Apache会将一个超长(至少>0x80000000字节)的分块数据拷贝到缓冲区中,这会造成一个缓冲区溢出。
对于1.3到1.3.24(含1.3.24)版本的Apache,现在已经证实在Win32系统下,
远程攻击者可能利用这一漏洞执行任意代码。在UNIX系统下,也已经证实至少在OpenBSD系统下可以利用这一漏洞执行代码。据报告称下列系统也可以成功的利用:
* Sun Solaris 6-8 (sparc/x86)
* FreeBSD 4.3-4.5 (x86)
* OpenBSD 2.6-3.1 (x86)
* Linux (GNU) 2.4 (x86)
对于Apache
2.0到2.0.36(含2.0.36),尽管存在同样的问题代码,但它会检测错误出现的条件并使子进程退出。
根据不同因素,包括受影响系统支持的线程模式的影响,本漏洞可导致各种操作系统下运行的Apache
Web服务器拒绝服务。
在CVSS评价中,它的示例如下:
----------------------------------------------------
BASE
METRIC
EVALUATION
SCORE
----------------------------------------------------
Access
Vector
[Remote]
(1.00)
Access
Complexity
[Low]
(1.00)
Authentication
[Not-Required] (1.00)
Confidentiality
Impact
[Partial]
(0.70)
Integrity
Impact
[Partial]
(0.70)
Availability
Impact
[Complete] (1.00)
Impact
Bias
[Availability] (0.25)
----------------------------------------------------
BASE
FORMULA
BASE SCORE
----------------------------------------------------
round(10 * 1.0 * 1.0 *
1.0 * (0.7 * 0.25) +
(0.7 * 0.25) + (1.0 * 0.5))
==
(8.50)
----------------------------------------------------
----------------------------------------------------
TEMPORAL
METRIC
EVALUATION
SCORE
----------------------------------------------------
Exploitability
[Functional] (0.95)
Remediation
Level
[Official-Fix] (0.90)
Report
Confidence
[Confirmed] (1.00)
----------------------------------------------------
TEMPORAL
FORMULA
TEMPORAL SCORE
----------------------------------------------------
round(8.50 * 0.95 * 0.90
* 1.00)
==
(7.00)
----------------------------------------------------
----------------------------------------------------
ENVIRONMENTAL
METRIC
EVALUATION
SCORE
----------------------------------------------------
Collateral Damage
Potential [None - High] {0 - 0.5}
Target
Distribution [None
- High] {0 - 1.0}
----------------------------------------------------
ENVIRONMENTAL
FORMULA
ENVIRONMENTAL SCORE
----------------------------------------------------
round((7.0 + ((10 - 7.0)
* {0 - 0.5})) *
{0 - 1.00})
==
(0.00 - 8.50)
----------------------------------------------------
3.2 漏洞评分表图例
这里是一个CVSS表格的例子:
该例可以从以下地址下载:
样例:cvss-sample-1.1draft1.xls
空白表格:cvss-blank-scoring-1.1draft1.xls
四、应用实例
4.1 Nessus中的应用
在比较流行的免费漏洞扫描工具Nessus中,已经部份地将CVSS中的基本评价(Base
Score)用于进行漏洞评价,取代了原先的“Risk
factor”取值,举例而言:
ASP-DEv XM Forum IMG Tag Script Injection Vulnerability的Risk
factor现在描述如下:
Medium / CVSS Base Score : 5
(AV:R/AC:L/Au:NR/C:P/A:N/I:P/B:N)";
这段话的含义为:该漏洞的影响为中,CVSS基本评价分值为5分,其中分项取值表格
----------------------------------------------------
BASE
METRIC
EVALUATION
SCORE
----------------------------------------------------
Access
Vector
[Remote]
(1.00)
Access
Complexity
[Low]
(1.00)
Authentication
[Not-Required] (1.00)
Confidentiality
Impact
[Partial]
(0.70)
Integrity
Impact
[Partial]
(0.70)
Availability
Impact
[None]
(0.00)
Impact
Bias
[Normal]
(0.333)
----------------------------------------------------
BASE
FORMULA
BASE SCORE
----------------------------------------------------
round(10 * 1.0 * 1.0 *
1.0 * (0.7 * 0.333) +
(0.7 * 0.333) + (1.0 *
0.333))
==
(4.66)
4.2 推荐使用甚至CVSS的补丁策略
一个可选的CVSS补丁策略可以是将补丁的优先权分为Patch Level
1-4,每个等级有不同的应对方式:
CVSS分值 优先级别 补丁SLA
0
P4 可以自由决定
1-3
P3 3-6个月
4-6
P2 最多4周
7-10
P1 最多2周
五、参照:微软威胁评价体系介绍
在微软的漏洞威胁评价体系中,包括以下几方面的要素:
Microsoft Product Vulnerability:Yes/No/Patch Not Available
Vectors of Attack
New Vector of Attack:Yes/No
Distribution Potential:High/Medium/Low
Unique Data Destruction:Yes/No
Significant Service Disruption:Yes/No
微软在补丁发布时会有漏洞危急程度的描述,如:CRITICAL、MODERATE等等,都是基于以上要素进行分析的结果,例如CRTTICAL级别漏洞,各要素的取值范畴为:

当然,作为商业评价体系,微软的漏洞评价方法公开部份有限,因此仅能作为参考。
六、参考资料
1. A Complete Guide to the Common Vulnerability Scoring
System(CVSS)
2. PSS Security Team - Security Alert Severity Matrix
3. The Common Vulnerability Scoring System
4. CVSS FAQ
5. CERT Vulnerability Scoring
6. Example of CVSS base patching policy