评定一个漏洞其业务风险的优先级是否高于另一个漏洞的机制一直令人担忧。从几十年前,保护业务应用程序和基础设施不受到完全披露的漏洞的影响开始,漏洞评分现在已经开始涉及胰岛素泵和电传飞控中模糊的缺陷,而这些缺陷可能会危及生命。
安全行业一直在努力 “评估” 一个新发现的漏洞所带来的威胁有多大,最近的行业实践更加关注如何进行这项评估工作。
随着漏洞赏金计划的发展和小型安全咨询公司垂直专业化,发现严重程度高的漏洞往往会给发现者带来直接的经济回报。因此,发现的漏洞的重要程度和危险程度都要高。在越来越多的情况下,营销团队会在全球范围内开展宣传活动,向公司发出警告、使其感到害怕并推动业务发展。
自从第一个商业漏洞扫描器开始用高、中、低这三类严重程度来分类其发现的漏洞以来,已经将近 25 年了。即使在那个时候,安全专业人士也会因为将严重性与 “风险” 混淆而犯错误。
在上世纪初,随着企业与千年虫争斗,第一代专业渗透测试咨询公司开始将诸如 “可利用性”,“被利用的可能性” 和 “被利用后的影响” 等因素纳入其日常报告和最终报告中,来区分严重程度相同的漏洞。客户喜欢额外的细节,但是这个评分系统高度依赖于顾问制表和报告结果的技能和经验。尽管 20 年前的渗透测试现在有了个新名字叫 Red Teaming(红队测试),并越来越多地在内部进行,但漏洞风险评分仍然很有价值——但它更像是一门艺术,而非科学。
也许在确定新漏洞(或威胁)的重要性方面最大的创新是通用漏洞评分系统 (Common Vulnerability Scoring System, CVSS)。当我在 Internet Security Systems(2006年被IBM收购)担任 X-Force 的负责人时,我很幸运能为该公司的产品做出了贡献,并帮助推动了整个产品的发展。作为(当时)主要的自动化扫描器和托管漏洞扫描供应商,2005 年 CVSS v1 量表的开发和使用改变了这个行业,并在量化漏洞特性的权重方面引发了新的争论,这种加权方法在今天的 CVSS 3.1 版本中仍然存在争议。
CVSS 旨在总结软件或设备中的漏洞在其所处环境中的严重性,而不是评估依赖于软件或设备的系统。因此当我听说 CVSS 评分被错误地用于评估漏洞对组织机构、设备制造商或终端用户构成的风险时,我深感担忧。
最近有一篇文章中指出了这一点,这篇文章认为漏洞评分存在的缺陷将患者的生命置于危险之中。一方面,研究人员指出尽管 CVSS 对新漏洞的评分仅为中等 (5.8分/ 10分),但是如果攻击者成功的利用该漏洞可以调整药物剂量水平,并有可能杀死病人。另一方面,医疗设备制造商认为由于漏洞得分相对较低,因此可能不需要加快修复该漏洞和后续的监管预警。
就 CVSS 而言,研究人员和医疗设备供应商都错了。CVSS 不是,也不应该被用来当作风险评分。
过去 20 年来,很多聪明的人改进了 CVSS 评分,使其作为一个严重性指标更加准确和有用,但他们一直在寻找通过量化环境因素和连锁影响,将其纳入风险评分中的方法。今天,CVSS 得分并不能被当做风险评分——它可能永远不能,因为每个行业对风险的评估都不一样,每个企业都有自己的风险因素,而外部人员不会知道。
我要提醒任何漏洞赏金猎人、安全分析师、软件供应商或设备制造商,不要依赖 CVSS 来决定需要优先修复的部分。它是风险计算中的一个重要变量,但它本身并不足以代表风险本身。
本文原作者:Gunter Ollmann,安全高管和技术专家,现任微软云与AI安全部CSO,曾供职于IBM。