2021年11月16日,美国网络安全和基础设施安全局(CISA)根据行政命令EO
14028的要求发布了《网络安全事件和漏洞响应手册》。手册规定的漏洞响应过程包括识别、评估、修复、报告通知4个步骤,其中评估部分的第一句话提到“使用特定相关者漏洞分类法(Stakeholder-
specific Vulnerability
Categorization,简称SSVC)之类的方法,确定环境中是否存在漏洞,以及底层软件或硬件的重要性”。CISA为什么着重点名SSVC,它在漏洞评估方面又有哪些特点?本文将对此进行介绍和分析。
一、 SSVC基本理念
1、 CVSS不足之处
通用安全漏洞评分系统(CVSS)是目前使用最为广泛的漏洞严重程度评估标准,漏洞的CVSS分值通常与CVE编号一起由美国国家漏洞库(NVD)发布。但CVSS存在一些不足:
(1) CVSS仅把技术严重度作为基本原则,而将时间和环境作为可选因素,三者都应该是评价漏洞的主要因素;
(2) 目前缺少通过CVSS分值指导决策的相关方法,并且由于度量的不确定性和指标的设计,从数值到定性的转换较为复杂;
(3) CVSS评分算法的参数不透明,相关工作组也没有证明公式的使用, 因此高CVSS分值并不代表漏洞将被普遍利用或具有公开的利用方法;
(4) CVSS基本分值是静态的,不随时间的推移而变化;
(5) 研究表明, 分析者对CVSS V3评分元素的解释并不一致。
2、 SSVC目标及总括
对组织和分析者来说,给定有限的资源,哪些漏洞应该被处理,哪些漏洞当前可以忽略,是需要解决的问题,而基于CVSS并不一定能够有效的实现。
正是考虑到这些,卡耐基梅隆大学软件工程研究所在设计新的漏洞评估体系SSVC之初就明确了目标:
输出是定性的决策,而非定量的计算,输入也是定性的;可对有限数量的相关者群体提出多元化建议;过程论证是透明的;结果是可解释的。
总体而言,SSVC是漏洞管理中操作的优先级排序系统,是基于决策树模型的模块化决策系统,避免一刀切的解决方案;SSVC是漏洞管理的概念性工具,对如何做出决策、决策中应包含哪些内容、如何清楚地记录和沟通决策等均有描述;SSVC面向各类漏洞管理相关者(同时也是供应链的主要参与成员),关注存在漏洞的情况下他们的处理决策。
截止目前,SSVC已发布3个版本,分别是2019年11月的V1.0版本、2020年12月的V1.1版本,以及2021年4月的V2.0版本。
二、 SSVC具体内容
1、 SSVC定义的漏洞管理相关者
可根据团队在供应链中执行的任务,将相关者划分为提供者、部署者或协调者。
(1) 提供者
即漏洞修复方案的提供者,一般可认为是软件生产者。提供者通常会收到其产品的一个或多个版本的漏洞报告,他们需将报告信息分解为一组受该漏洞影响的产品或版本,也就是将漏洞与受影响产品进行关联,并最终为受影响产品提供修复或缓解方案。
(2) 部署者
即漏洞修复方案的部署者,一般可认为是信息系统使用者。部署者通常从提供者获得针对其部署产品的修复或缓解方案,他们必须决定是否将其部署到特定实例上。部署者漏洞管理流程的核心是数据的整理,包括产品版本部署实例清单的维护、漏洞与修复或缓解方案的对应、修复或缓解方案与产品版本的对应等。
(3) 协调者 协调者是SSVC
V2.0中新增的角色,指的是漏洞协调披露(CVD)中促进协同响应过程的个人或组织机构,包括计算机安全事件响应小组(CSIRT)、对国家负责的CSIRT(如US-
CERT)、产品安全事件响应小组(PSIRT)、安全研究组织、漏洞赏金和商业经纪人等。不同协调者的差异很大,对SSVC的使用方法也可能不同。协调者的工作往往与一份独立的漏洞报告相关,也可能会根据工作流程的要求重新组织报告,如合并、拆分、扩充、缩减等。
2、 各相关者的漏洞优先级决策结果
SSVC定义了三类相关者根据漏洞轻重缓急的不同情况,应做出的具体处理决策,即处理漏洞的优先级决策结果。
(1) 提供者漏洞优先级决策结果
表1 提供者漏洞优先级决策结果
(2) 部署者漏洞优先级决策结果
表2 部署者漏洞优先级决策结果
(3) 协调者漏洞优先级决策结果SSVC以CERT/CC为例给出,包括两类:
· 关于协调的决策结果 目标是CERT/CC在收到漏洞报告时分析人员可获得这些信息,决策结果共有3种:
表3 关于协调的决策结果
· 关于发布的决策结果 CERT/CC在某个时间点上往往必须决定何时或是否发布关于漏洞的信息,共有“发布”和“不发布”两种决策结果。
3、 各相关者可能的决策点
决策点是各相关者做出漏洞优先级决策结果的判断依据,每个决策点又有若干决策值。SSVC
V2.0中定义的提供者和部署者的决策点7项,协调者(以CERT/CC为例)关于协调的决策点7项、关于发布的决策点3项。
(1) 提供者和部署者决策点 · 可利用性(Exploitation) 即主动利用漏洞的证据,适用于提供者和部署者。其决策值包括:
表4可利用性决策值
· 技术影响(Technical Impact) 即漏洞被利用后的技术影响力,适用于提供者和部署者。其决策值包括:
表5 技术影响的决策值
· 效用(Utility) 基于攻击者可以利用该漏洞的假设,对其所做的努力进行比较,从而估计攻击者的收益,适用于提供者和部署者,其决策值包括:
表6 效用决策值
· 安全影响(Safety Impact)
即对受影响系统的安全(safety)危害,如身体健康、经济、社会、情感和心理健康等方面。其理念是相关者应知道供应链下游的直接消费者和自己软件的普遍用法,并应考虑对系统操作员和对他们所提供软件的用户的安全影响。其决策值包括:
表7 安全影响决策值
- 公共安全影响(Public Safety Impact) 提供者 必须对上面描述的广义安全影响有一个粗粒度的观点。其决策值包括:
表8 公共安全影响决策值
- 情景安全影响(Situated Safety Impact) 部署者
可能对广义安全影响有更细粒度的观点,将它与业务影响结合使用,以简化部署者的实现。 · 业务影响(Mission Impact)
即对组织业务基本功能(MEF)的影响,主要适用于部署者。其决策值包括:
表9 业务影响决策值
· 人员活动影响(Human Impact) 情景安全影响和业务影响的组合,适用于部署者。其决策值包括:
表10 情景安全影响决策值
· 系统暴露(System Exposure) 即受影响系统或服务的可访问攻击面,主要适用于部署者。其决策值包括:
表11 系统暴露决策值
(2) 协调者CERT/CC决策点 · CERT/CC关于协调的决策点 包括前面的“效用”和“公共安全影响”,以及5个新决策点:
表12 关于协调的决策点
· CERT/CC关于发布的决策点 包括前面的“可利用性”及两个新决策点: **- ** 增加的公共值(Public Value
Added) 询问来自协调者的发布对更广泛的社区有多大价值,其决策值基于漏洞现有公共信息的状态:
表13 增加的公共值的决策值
- 提供者投入(Supplier Involvement) 说明提供者处理漏洞的工作状态。其决策值包括:
表14 提供者投入的决策值
4、 各相关者的漏洞优先级决策树
给定一组有用的决策点和相应的特定相关者的决策结果,可将它们组合成关于要采取行动的优先级的综合决策集。这种决策集及相应推导过程可使用逻辑等多种形式表示,SSVC使用决策树表示此类信息(下列图中,矩形表示决策点、三角形表示决策结果)。
(1)
建议的提供者决策树该提供者决策树考虑了“可利用性”、“效用”、“技术影响”和“公共安全影响”4个决策点,组合为36条决策路径,其中决策结果为“立即”的13项、“有计划的”8项、“不定期”的13项、“推迟”的2项。
图1 建议的提供者决策树
(2) 建议的部署者决策树
该部署者决策树考虑了“可利用性”、“系统暴露”、“效用”和“任务影响”4个决策点,组合为108条决策路径,其中决策结果为“立即”的5项、“有计划的”69项、“不定期”的23项、“推迟”的11项。
图2
建议的部署者决策树
(3) 建议的协调者关于协调的决策树
该决策树中包含CERT/CC关于协调的所有决策点,组合为52条决策路径,其中决策结果为“协调”的17项、“跟踪”的15项、“拒绝”的20项。
图3
建议的协调者关于协调的决策树
(4) 建议的协调者关于发布的决策树
该决策树包含CERT/CC关于发布的所有决策点,组合为27条决策路径,其中决策结果为“发布”的13项、“不发布”的14项。
图4 建议的协调者关于发布的决策树
三、 未来工作及总结
卡耐基梅隆大学软件工程研究所将在以下方面继续提升SSVC:(1)
通过研究社会学方法收集需求,采用长期、结构化的访谈等获取从业者和决策者想从漏洞评价中得到的价值等的经验性依据;(2)
协调者方面除考虑CSIRT外,也将关注PSIRT的需求;(3)
SSVC目前未考虑因实施缓解或修复措施而产生的变更风险,下一步将提供评估变更风险或漏洞风险相关成本的方法;(4)
进行更深入的决策树测试,在决策树可靠之前,需要对不同的分析人员进行更多测试;(5) 考虑SSVC的国际化和本地化问题。
作者认为,SSVC作为一种漏洞评估方法,其特点主要体现为三个“面向”: 面向供应链,面向决策结果,面向实践经验
面向供应链, 相关者的角色可根据他们在供应链中执行的任务来确定,并且“安全影响”等决策点中也明确指出,相关者应考虑在供应链中对下游用户的安全责任;
面向决策结果, SSVC关注各相关者漏洞处理优先级的决策结果,更多结合定性的判定而非定量的计算,考虑的因素也更加多元;
面向实践经验,
SSVC体系中的决策点、决策值等内容会根据试验测试的结果来增删调整,而非仅靠理论定义,并且后期还将引入系统的结构化访谈等方法获得经验性数据。
最后
分享一个快速学习【网络安全】的方法,「也许是」最全面的学习方法:
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)
2、渗透测试基础(一周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等
3、操作系统基础(一周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)
4、计算机网络基础(一周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现
5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固
6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)
恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k。
到此为止,大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?
想要入坑黑客&网络安全的朋友,给大家准备了一份:282G全网最全的网络安全资料包免费领取!
扫下方二维码,免费领取
有了这些基础,如果你要深入学习,可以参考下方这个超详细学习路线图,按照这个路线学习,完全够支撑你成为一名优秀的中高级网络安全工程师:
还有一些学习中收集的视频、文档资源,有需要的可以自取:
每个成长路线对应板块的配套视频:
当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。
因篇幅有限,仅展示部分资料,需要的可以【扫下方二维码免费领取】