本帖最后由 深信服认证 于 2022-11-25 14:52 编辑
一、漏洞评估概述 漏洞是网络安全中非常重要元素,作为网络安全从业人员,大家都会接触到一些漏洞。有些网络安全从业者甚至是主动去挖掘漏洞。那么对于不同漏洞,究竟有多少价值,能带来多大危害呢?或者作为网络安全从业者,有没有在白帽子社区提交漏洞后,自己觉得是一个超级难挖的漏洞,希望可以得到一个高危漏洞的评价,而官方却给出一个中危漏洞。让自己的挑灯夜战显得更加苍白无力。
今天,我们就一起聊一聊如何科学的评估漏洞的危害。我们这里“科学”是指参照国家标准《GB/T 30279-2020 信息安全技术 网络安全漏洞分类分级指南》进行评估。包括漏洞的分类,漏洞评估的方式,漏洞评估维度以及如何对不同维度具体赋值进行评估等内容。最后结合深信服的安服实践经验,列举一些漏洞分组的实践例子。
首先聊一下漏洞分类,因为漏洞的种类复杂且产生的原因各异,所以在漏洞分类过程中,有些分类可能会和我们平时所理解的漏洞分类不太一样。但漏洞分类标准只是一种推荐方式,各组织在实现时,也可以按自己的要求、理解进行划分。在《GB/T 30279-2020 信息安全技术 网络安全漏洞分类分级指南》(以下简称“国标30279”)中,漏洞的分类可以参照下图。 二、漏洞评估方式 评估漏洞等级有两种方式,分别是“技术”评估和“综合”评估。
技术评估是指技术人员(如开发人员、渗透测试人员、安全分析人员)从技术视角评估漏洞的危害程度,比如漏洞的访问路径是远程访问还是本地访问,漏洞是否需要账号登录等,漏洞对保密性造成的影响等。
综合评估是在用户使用产品视角,评估漏洞在“特定时期”的危害。综合评估除了包含前面技术评估以外,还特别强调特定时期的危害。比如漏洞还没有发布官方补丁程序,漏洞的被利用成本很高,比如有EXP在圈内流通,但是只有极少数人有等。
三、漏洞评估维度 漏洞评估有三个维度,分别是“被利用性”、“影响程序”、“环境因素”。分别描述如下。
3.1 漏洞被利用难易程度
3.1.1 漏洞访问路径 访问路径是指触发漏洞的路径前提,反应漏洞触发时与受影响组件最低接触程度。访问路径共分为四级,依次是网络、邻接、本地、物理。 网络,理解为互联网或任意网络访问该系统,如我们常见的RCE漏洞。 邻接,理解为局域网或通过堡垒机、跳板机、无线WIFI才能访问的系统。 本地,理解为必须在本机执行操作,如常见的本地提权漏洞 物理,理解为物理接触才能触发漏洞,如长按路由器的reset按键,后触发了SSH的弱口令登录。
3.1.2 漏洞的触发要求 触发要求是指成功利用漏洞,对系统环境的要求。分为2类,即低与高。 低要求,是指成功利用漏洞的可能性非常高,对受影响组件无特殊要求,默认的配置参数、普遍的运行环境即可。 高要求,是指漏洞在特定环境下才容易利用,比如要修改默认配置。
3.1.3 漏洞的权限需求 权限需求是指触发漏洞需要的权限。分为3类,即无、低、高。 无是指无需任何登录,即公开访问或者匿名访问都可以触发漏洞。 低是指需要普通用户登录。 高是指需要特殊权限的用户登录,如管理员。
3.1.4 漏洞的交互条件 交互条件是指触发漏洞是否需要额外的主体参与交互。分为2类,即需要、不需要。 不需要是指漏洞利用者独立就能完成漏洞的触发工作。 需要是指,触发漏洞时,需要除漏洞利用者外,需要其他用户操作,如XSS漏洞,需要受害者点击链接,才能造成脚本的执行。
3.2 漏洞对“三要素”的影响 漏洞对三要素的影响是触发漏洞时对受影响组件的损害程度,可以参照信息安全定义的三要素影响来进行判断,即判断漏洞对保密性、完整性、可用性的影响。每个方向上又分为三个等级,即严重影响、一般影响、无影响。具体不再赘述。
3.3环境因素对漏洞评级影响 3.3.1 漏洞被利用成本 漏洞被利用成本是指在特定时期攻击者利用漏洞的成本是指攻击者为了利用漏洞而花费的代价。分为3级,即低、中、高。 低,是指触发漏洞不需要额外花费,如EXP在网上公开。 中,是指触发漏洞所需要一定的成本,但不太高。可能要付费加入某些组织获取EXP,或者需要购买特定的软件、硬件、资源实现漏洞利用。 高,是指触发发漏洞需要大量代价。如暗网出售的竞价出售黑客工具,通常需要大量金钱或一定人脉关系才能获取。
3.3.2 漏洞修复难度 漏洞修复难度是指在特定时期修复漏洞的成本。分为3级,即高、中、低。 高,是指当前没有成熟、有效的修复方案。比如没有官方补丁,也不知道漏洞具体的攻击原理与攻击过程。 中,是指已有修复方案,但修复方案需要额外花费,比如需要购买安全软件,并部署后可以防止此类攻击,或修复方案不够成熟,需要进一步论证,有可能带来其他负面影响。 低,是指已有成熟的方案,比如厂商的补丁已发布。
3.3.3 漏洞影响力 漏洞影响力表达了漏洞对当前环境的影响程度,以及受漏洞影响的组件重要程度。 比如windows操作系统漏洞,在不同环境(企业网络)中影响可能不一样,因为有的企业使用大量windows,有的企业没有使用windows。再比如Oracle数据库,通常承载环境中比较核心的数据与业务,那么Oracle数据库的漏洞,影响会比较大。漏洞影响力可以分为四级,依次是高、中、低、无
漏洞影响力 | 影响资产占比 | 受影响系统重要程度 | 高 | 高于50% | 重要系统 | 中 | 10%~50% | 较重要系统 | 低 | 10%以下 | 不重要系统 | 无 | 无任何影响 |
四、漏洞评估维度评分 参照第三章漏洞评估维度,漏洞共有三个评估维度,每维度赋值为0-9分。
4.1 漏洞被利用难易程度评分 具体可以参照国标30279的附录A,这里选取部分截图,供大家学习理解。
4.2 漏洞的影响评分 参照漏洞对信息安全三要素保密性、完整性、可用性的影响,如对保密性与完整性影响为严重,对可用性影响一般,则计为严重影响次数为2,一般影响次数为1。漏洞影响维度打分为8。具体参照下表
4.3 环境因素评分 具体可以参照国标30279的附录C,这里选取部分截图,供大家学习理解。
五、漏洞分级评分 参照第二章,漏洞分级 评估有两种评估方式,即技术评估与综合评估。 技术评估是从漏洞被利用难易程度与漏洞的影响两个维度评分。 综合评估是在技术评估基础上,加入了环境因素影响进行评估。
5.1 漏洞技术评分 具体可以参照国标30279的附录D,这里选取部分截图,供大家学习理解。
5.2 漏洞综合评分 具体可以参照国标30279的附录E,这里选取部分截图,供大家学习理解。
六、漏洞分级实践 深信服参照《GB/T 30279-2020 信息安全技术 网络安全漏洞分类分级指南》,结合自身多年在安全服务领域的积累,拟定了渗透测试漏洞评级标准。下面我们选取部分进行说明。
6.1 Robots.txt信息泄漏分级实践 漏洞分类:信息泄漏 漏洞名称:Robots.txt信息泄漏 测试描述:robots.txt文件编辑的太过详细,反而会泄露网站的敏感目录或者文件,比如网站后台路径,从而得知其使用的系统类型,从而有针对性地进行利用。 评分表如下: 评分维度 评分维度 | 细节维度 | 具体赋值 | 评分 | 技术评级 | 被利用性评分 | 访问路径 | 网络 | 9 | 中危 | 触发要求 | 低 | 权限要求 | 无 | 交互条件 | 不需要 | 三要素影响 | 保密性 | 一般 | 1 | 完整性 | 无 | 可用必 | 无 |
评分表说明如下: 被利用性评分9,参照国标30279附录A评分 三要素影响评分1,参照国标30279附录B评分 最后的技术评级“中危”,参照国标30279附录D评分
6.2 反序列化漏洞分级实践 漏洞分类:综合利用 漏洞名称:反序列化漏洞 漏洞描述:Java序列化就是把对象转换成字节流,便于保存在内存、文件、数据库中,Java中的ObjectOutputStream类的writeObject()方法可以实现序列化。
评分表如下: 评分维度 | 细节维度 | 具体赋值 | 评分 | 技术评级 | 被利用性评分 | 访问路径 | 网络 | 8 | 高危 | 触发要求 | 低 | 权限要求 | 低 | 交互条件 | 不需要 | 三要素影响 | 保密性 | 严重 | 8 | 完整性 | 一般 | 可用必 | 严重 |
评分表说明如下: 被利用性评分8,参照国标30279附录A评分 三要素影响评分8,参照国标30279附录B评分 最后的技术评级“高危”,参照国标30279附录D评分
6.3 特定环境的反序列化漏洞分级实践 假设某政务部门,对网络安全有较高要求(属于关键信息基础设施定义的系统)。需要及时跟进漏洞状态。该政务部门在收到关于最新的反序列化漏洞的威胁情报后。对该反序列化漏洞进行评级,那么评分表会参照该政务部门具体的环境影响。
假设该政务部门并没有使用该受影响组件,那么漏洞评分表会变为: 评分维度 | 细节维度 | 具体赋值 | 评分 | 技术评级 | 综合评级 | 被利用性评分 | 访问路径 | 网络 | 8 | 高危 | 低危 | 触发要求 | 低 | 权限要求 | 低 | 交互条件 | 不需要 | 三要素影响 | 保密性 | 严重 | 8 | 完整性 | 一般 | 可用必 | 严重 | 环境影响 | 利用成本 | 高 | 4 | | 修复难度 | 高 | 漏洞影响力 | 低 |
评分表说明如下: 被利用性评分8,参照国标30279附录A评分 三要素影响评分8,参照国标30279附录B评分 技术评级“高危”,参照国标30279附录D评分 环境影响评分4,参照国标30279附录C评分 结合技术评级高危,与环境影响评分4,最终参照参照国标30279附录E,得出综合评级低危
七、总结
漏洞技术评级参照两个维度,即利用漏洞的难易程度和漏洞会造成的影响程度。从技术层面,这两者是权衡影响较小的维度进行评分。比如影响很大的漏洞,但利用困难,那么最终漏洞评级不会很高。
漏洞综合评级,在技术评级之后,再结合特定环境因素。在技术评级和环境因素中也是权衡影响较小的维度进行评分。比如技术层面特别高危的漏洞,在特定环境下(比如该组织并没有该受影响组件),可以变成低危漏洞。
本文作者:黄浩:深信服教学教研中心副主任,深信服安全服务认证专家(SCSE-S),产业教育中心资深讲师、CISSP认证注册信息系统安全师,中国计算机学会会员,暨南大学网络空间学院校外实践指导老师,深圳大学专业学位研究生校外导师,深圳信息职业技术学院产业学院副教授,湖南省数字经济促进会特聘讲师,中国高校计算机大赛-网络技术挑战赛评审;对企业网络安全框架设计、业务逻辑安全与防御体系有深刻认识;擅长DDoS攻击防御、操作系统安全防护、密码学、企业安全架构、取证溯源、应急响应等多个方向的课程。 |