通用弱点评价体系(CVSS)简介
http://www.xfocus.net
一、综述
弱点(vulnerabilities)是网络安全中的一个重要因素,在多种安全产品(如漏洞扫描、入侵检测、防病毒、补丁管理等)中涉及到对弱点及其可 能造成的影响的评价。但目前业界并没有通用统一的评价体系标准。通用弱点评价体系(CVSS)是由NIAC开发、FIRST维护的一个开放并且能够被产品 厂商免费采用的标准。利用该标准,可以对弱点进行评分,进而帮助我们判断修复不同弱点的优先等级。
二、通用弱点评价体系(CVSS)
2.1 CVSS的要素
通过下图可以看出通用弱点评价体系(CVSS)包含的要素及它们之间的相互关系:
CVSS-model-detailed-8.0.jpg
通用弱点评价体系(CVSS)的所有要素及其取值范围如下表所示:
CVSS-metric.jpg
有些需要说明的要素如下:
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.jpg
该例可以从以下地址下载:
样例: http://www.unnoo.com/files/uploadfile/research/cvss-sample-1.1draft1.xls
空白表格: http://www.unnoo.com/files/uploadfile/research/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级别漏洞,各要素的取值范畴为:
Microsoft-score.jpg
当然,作为商业评价体系,微软的漏洞评价方法公开部份有限,因此仅能作为参考。
六、参考资料
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
欢迎交流讨论,联系方式:
wulujia@unnoo.com
http://www.unnoo.com
通用弱点评价体系(CVSS)简介相关推荐
- Admui 通用管理系统快速开发框架简介
QQ194633530 简介 Admui是一个基于最新Web技术的企业级通用管理系统快速开发框架,可以帮助企业极大的提高工作效率,节省开发成本,提升品牌形象.您可以Admui为基础,快速开发各种MIS ...
- 吐血整理!12种通用知识图谱项目简介
作者:王楠 赵宏宇 蔡月 来源:大数据DT(ID:hzdashuju) 通用知识图谱大体可以分为百科知识图谱(Encyclopedia Knowledge Graph)和常识知识图谱(Common S ...
- 第1章 通用权限管理组件简介
为什么80%的码农都做不了架构师?>>> 本软件模块的严谨设计定位.精心编码实现.不断维护推广.持续优化改进主要是为了做一个可以高度重复利用辛苦的劳动成果,并有偿提供给所需的人 ...
- 通用漏洞评估方法CVSS 3.0 计算公式及说明
CVSS 3.0 计算公式及说明 一.基础评价 1. 基础评价公式为: 当 影响度分值 <= 0: 基础分值 = 0 当 0 < 影响度分值 + 可利用度分值 < 10: 作用域 = ...
- 南大通用GBase 8s性能简介
GBase 8s的目标是实现一个具有完善的事务处理能力的高性能的面向联机事务处理应用的安全数据库系统.因此,在保证系统安全性的前提下,还需要尽可能的提高数据库系统的性能,GBase 8s在实现上采用了 ...
- 通用能力抽屉原理简介
抽屉原理 基本概念 抽屉原理又称鸽巢原理,它是组合数学的一个基本原理,最先是由德国数学家狭利克雷明确地提出来的,因此,也称为狭利克雷原理. 把3个苹果放进2个抽屉里,一定有一个抽屉里放了2个或2个以上 ...
- 2月第二周安全要闻回顾:微软发通缉令 IBM关注犯罪
http://blog.51cto.com/J0ker/133319 本文同时发布在:[url]http://netsecurity.51cto.com/art/200902/110700.htm[/ ...
- 漏洞风险评估:CVSS介绍及计算
CVSS 通用弱点评价体系(CVSS)是由NIAC开发.FIRST维护的一个开放并且能够被产品厂商免费采用的标准.利用该标准,可以对弱点进行评分,进而帮助我们判断修复不同弱点的优先等级. CVSS : ...
- 通用漏洞评分系统 (CVSS)系统入门指南
通用漏洞评分系统 (CVSS) 是一个公共框架 ,用于评估软件中安全漏洞的严重性.这是一个中立的评分系统,让所有企业能够使用相同的评分框架对各种软件产品(从操作系统.数据库再到 Web 应用程序)的 ...
最新文章
- winforms 动态画折线 不用chart_QT charts 动态刷新曲线图
- HDLBits答案(18)_Verilog有限状态机(5)
- asyncore.loop()是什么?
- jQuery用正则查找元素:jQuery选择器使用
- Anaconda3+PyTorch安装教程
- 华为背锅?微博大V质疑华为P30 Pro拍月亮造假 公司称误导观众已开除
- pg安装部署linux_简简单单基于docker部署微服务网关
- 微信开发--开发模式简单配置
- JIRA 饼图中文乱码
- 【Java】Java_16 控制循环结构Break、Continue、Return
- LOJ 6278 数列分块入门2
- cvCompareHist() 直方图匹配
- pandas实现上采样和下采样
- js开发飞机大战需求文档
- CentOS安装打字游戏,typespeed
- springboot starter封装永中预览
- Matlab之读取shp文件函数shaperead
- MacBook Air无电源合盖外接显示器休眠解决方案
- GStreamer学习笔记
- 不同的 docker-compose 间怎么实现网络互通