聚焦源代码安全,网罗国内外最新资讯!
编译:代码卫士
管理员跟上打补丁的步伐顶多算是具有挑战性,而对漏洞的优先级排序要难得多,原因就是CVSS评分缺乏上下文、厂商安全公告混乱不堪,以及不完整的修复方案让管理员拥有安全错觉。
这是趋势科技ZDI团队的研究员 Brian Gorenc 和Dustin Childs 在2022年黑帽大会上的论述,他们分享的题目是《预测晦涩时代的风险:读懂安全公告的字里行间》。
从2005年起,ZDI已向行业厂商提交了10000多个漏洞。ZDI 的沟通经理 Childs 指出,在此期间他发现了一个令人困惑的趋势:补丁质量在下降,围绕安全更新的沟通在减少。
他发现,“厂商发布漏洞补丁时就是产生真正问题的时候,或者说不准确或不完整的补丁信息可导致企业错误地预测漏洞风险。漏洞补丁也可成为exploit编写人员的福利,因为n-day 漏洞要比0day 漏洞更易于利用。”
01
CVSS评分和打补丁优先级的困扰
多数网络安全团队人员不足且背负压力,而“总是将所有软件版本更新至最新状态”的圣言对于没有足够资源的部门来说不一定总是合理的。这就是为何根据CVSS中的严重性评分对补丁进行排序成为很多管理员的应变之道。
然而,Childs 发现这种方法存在严重缺陷,可导致资源花在了可能永远不会被利用的漏洞上,原因就是CVSS评分并未提供足够的重要信息。他说道,“企业在排序打补丁优先级时经常只看CVSS的基本分,但CVSS实际上并没有评估可利用性、是否会遭在野利用。CVSS评分并未提出该漏洞存在于15个系统中还是存在于1500万个系统中,而且也并未说明是否存在于公开可访问的服务器中。”他还指出,“而且最重要的是,它并未说明该漏洞是否存在于对你所在企业而言至关重要的系统中。”
因此,即使漏洞的CVSS评分为10分,但其真正的影响可能不如关键标签提示的信息多。他指出,“邮件服务器如微软Exchange中的未认证RCE漏洞会得到很多exploit编写人员的青睐。而邮件服务器如Squirrel Mail 中的未认证RCE漏洞则不会获得同样的关注。”
为了弥补这种上下文差距,安全团队通常会查看厂商的安全公告。Childs 指出,厂商安全公告有自己的明显问题:它们通常以晦涩的表述实践安全。
02
微软补丁星期二公告缺乏详情
2021年,微软决定从安全更新指南中移除对漏洞的概述,而是通知用户称,CVSS评分足以评估漏洞的修复优先级。而这正是Childs 所诟病的变化。
他指出,“这种变化清除了需要判断风险的上下文。例如,信息泄露漏洞转储的是随机内存还是个人可识别信息?或者对于安全特性绕过而言,绕过了什么?这些writeup中的信息是不一致的而且质量各异,尽管这种变化招致一致批评。”
微软不仅“在用于给出明确指南的更新中删除或隐晦表达信息,而且现在还更难以判断基本的补丁星期二信息如每个月修复的漏洞数量是多少。现在你必须自己一个一个地统计,而这是我做过的最难的事情之一。”
另外,虽然现在仍然告知已遭活跃利用或公开已知漏洞的数量,但埋藏在安全公告里面。他指出,“例如,本月修复了121个CVE漏洞,很难从所有的漏洞中查到哪些遭活跃攻击。人们现在依赖于其它信息如博客和媒体文章而非本应具有权威性的厂商信息来判断漏洞风险。”
应该注意的是,微软强调了这一变化的重要性。该公司的安全响应中心副总裁 Aanchal Gupta 指出,微软将最初发布的CVE信息进行限制是为了保护用户安全。微软CVE信息提供了漏洞的严重性信息以及可利用性信息(以及是否已遭活跃利用),对于漏洞的利用信息发布是谨慎明智的。Gupta 指出,这样做的原因是让安全管理员拥有足够的时间打补丁,“如果在我们的CVE信息中,提供了漏洞可如何遭利用的全部详情,那将是对客户实施0day利用。”
03
其它厂商实践的晦涩性
微软并非在漏洞披露中提供极少详情的唯一一家厂商。Childs指出,很多厂商在发布更新时不会提供CVE编号,“他们只是说更新修复了多个安全问题。修复了多少漏洞?严重性如何?可利用性如何?有一家厂商最近甚至跟我们说,我们不会发布关于安全问题的公开安全公告。这真是胆大妄为。”
另外,一些厂商会要求对安全公告付费或将安全公告放在支持合同中,进一步隐藏了漏洞的风险。或者,它们将多个漏洞报告合并为一个CVE,尽管一个CVE漏洞通常代表的是一个唯一的漏洞。这就导致风险评估毫无用处。例如,如果你想购买一件商品,看到在某段时间内修复了10个漏洞,你可能会对这件新产品有相关的风险评估。然而,如果你知道这10个CVE代表的是100多份漏洞报告,那么你可能得出不同的风险评估结论。“
04
安慰剂式的补丁不利于优先级排序
除了上述讨论的问题,安全团队在补丁方面也面临问题。Childs指出,“安慰剂式的补丁”是指并未做出实质性的代码变更,这种情况并不罕见。
他表示,“因此该漏洞仍然存在且可利用,除了目前通知给攻击者外毫无用处。虽然发生这种情况原因不一,但确实发生了:这些漏洞太好了,我们不得不二次修复。”
他指出,补丁不完整的情况也经常发生;实际上,ZDI计划认为,研究人员所分析的10%到20%的漏洞是因为补丁不正确或不完整直接导致的。他以Adobe Reader 中一个整数溢出导致堆分配不够大,从而造成缓冲区溢出为例说明了这一点。他提到,“我们希望Adobe 将超过某个点的值设为不正确,修复这个问题;但实际上并非如此,就在更新发布的60分钟内,补丁就被绕过,因此他们不得不再次修复。节目重播可不止发生在电视节目中。”
05
如何对抗补丁优先级排序的阻力
最后,当提到补丁优先级排序时,有效的补丁管理和风险评估归纳为识别组织机构中的高价值软件目标,以及使用第三方来源确定针对既定环境最重要的补丁是什么。
然而,漏洞披露后的敏捷性是组织机构需要关注的另一个重要领域。
ZDI 的资深总监 Gorenc 指出,网络犯罪分子争分夺秒地将具有庞大攻击面的漏洞集成到自己的勒索软件工具集或利用包中,在企业修复之前利用新披露的漏洞。这些所谓的nday漏洞就是攻击者的“猫薄荷”,他们能够在48小时内逆向漏洞。
Gorenc 指出,“大多数情况下,攻击性社区使用的是存在公开补丁的nday漏洞。在披露时了解该漏洞实际是否将被利用很重要,但很多厂商并未提供与可利用性相关的信息。”
因此企业风险评估应当足够动态在漏洞披露后进行变更,安全团队应当监测威胁情报来源以了解某个漏洞何时被集成到利用包或勒索软件中,或者利用何时发布在互联网。
另外,企业需要考虑的一个重要时间线是在企业内真正推出补丁需要多久,以及在必要情况下是否拥有紧急资源予以应对。
Gorenc 解释称,“当威胁情况发生改变时(补丁修订、公开的PoC 以及利用发布),企业应当调配资源满足需求并对抗最新风险。不仅是最近公开和命名的漏洞,要观察威胁局势的情况、判断自己的资源并决定何时行动。”
代码卫士试用地址:https://codesafe.qianxin.com
开源卫士试用地址:https://oss.qianxin.com
推荐阅读
亲历漏洞研究最让人难受的地方:看到打补丁版本,才知漏洞一直近在眼前(详述)
高手已开发出 BlueKeep RCE PoC,微软再发打补丁警告
论写作和阅读能力的重要性:因文档问题,几乎所有 OS 厂商都在忙着打补丁
原文链接
https://www.darkreading.com/risk/patch-madness-vendor-bug-advisories-broken
题图:Pixabay License
本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。
觉得不错,就点个 “在看” 或 "赞” 吧~