1.NVD(主要的信息源,收录了最完整的CVE漏洞);
3.ZDI(主流的漏洞二道贩子,买了不少可用漏洞,其中差不多一半没有CVEID);
5.CNVD和CNNVD(国内最主要的两个国家级漏洞库,收集和展示了大量国产软件的漏洞);
6.推特(最及时的漏洞信息披露和讨论信息源);
7.以及各个安全厂商、研究机构、安全研究人员的个人Blog及安全媒体。
简单做些比例计算,先看下CVE对已知漏洞的覆盖度,可以看到无CVEID的漏洞占到了三分之一。
这里的结论是,CVE远未覆盖全部已知漏洞,即使NVD这样资源丰富的机构,也只记录了已知漏洞的70%左右,国产软件的漏洞基本不覆盖,所以,单纯依赖NVD是不可行的,维护自己的漏洞库非常有必要。而且,这里没有体现的是,NVD漏洞库的一个更大问题,接下来会说到。
有Exploit的漏洞比例仅占5%左右。
有公开技术细节的漏洞实际利用不多,引申出来的结论是绝大多数漏洞在技术层面都不会被仔细研究,而且现实情况下,即使有Exploit也不一定有实际的利用发生,还取决于漏洞的易用性、可达性、软硬件流行度及漏洞所影响系统的价值。
真正观察到被野外利用的漏洞部分,只占总量的1.8%左右。
形成实际危害的漏洞占比非常低,所以基于威胁情报的漏洞实际威胁跟踪,对漏洞处理优先级的设定,应该起到事半功倍的效果。
已有野外利用的667个漏洞中,319个有公开Exploit,另外的348个没有,也就是说一半多不存在公开的Exploit。
半数在野利用漏洞只被少数人所用,加之0day漏洞的存在,基于已知漏洞的快速修补并不能完全消除威胁,攻击面管理也相当重要。
这里是Gartner对漏洞管理的最新报告中数据:IBMX-Force对近10年来的漏洞被利用情况也做过一个统计。可以看到,这里的数据虽然跟我们的统计结果有些差异,但数量级是一样的千级。近年来尽管每年的漏洞数量都在创新高,但被利用的漏洞数却相当稳定,10%不到。
我们还可以看看漏洞管理厂商Qualys对漏洞被利用情况的统计,尽管有差不多三分之一的漏洞有技术细节,但真正被利用来做攻击的漏洞也是千级。
02
奇安信的漏洞情报运营
接下来,开始介绍奇安信的漏洞情报运营实践。近年来,国内陆续有一些厂商开始做漏洞情报,声称基于漏洞优先级排序技术(VPT,VulnerabilityPriorityTechnology)提供更有价值的漏洞信息服务。为什么会有这么个提法?一个大的漏洞库不能满足用户的需求吗?是的,不满足,而且是非常的不满足。
基于长期的情报运营实践,我们认为,漏洞情报作为威胁情报的一部分,与其他类型的威胁情报运营类似,运营的过程需要起到收集器、过滤器和富化器的作用。
通过对原始数据源的挖掘和实时信息采集,对漏洞进行多维度的属性标定,保证漏洞信息的全面性和及时性;分析团队依据完善的流程和专业经验,对漏洞的影响面和技术细节进行研判,把真正重要的漏洞过滤出来,保证信息的准确性和处理优先级的可靠性;对于确认的重要漏洞,我们需要富化漏洞信息的上下文,跟踪漏洞的现时威胁状态,关联相应的安全事件,给出切实可行的处理方法,提供除补丁链接以外的其他威胁缓解措施建议。
》收集器:提供多维漏洞信息整合及属性标定
漏洞情报相对传统漏洞库区别最大的地方,在于对漏洞本身技术层面以外维度的持续动态跟踪,一般的漏洞库的核心信息只会涉及软硬件影响面(厂商、应用及版本),和漏洞本身技术层面的评估(威胁类型、利用场景、危害大小等),这些信息还远远不够,为了有效管控漏洞导致的风险,通常需要知道得更多。
这里是我们对2021年底核弹级漏洞ApacheLog4j任意代码执行漏洞(CVE-2021-44228)的标签实例,随着影响此漏洞实际风险的因素的持续迭代,这些标签会随时新增和更新。
我们对漏洞的多维度属性做了全面的跟踪和标记,以下是一些分类标签的例子:
漏洞是否已经有了公开的技术细节、概念验证代码(PoC)、武器化的Exploit工具,这会直接影响漏洞转变为现实的攻击。
漏洞是否已经有了野外的利用,这体现了漏洞是否已经从潜在威胁转化为了现实威胁。
漏洞是否已经被已知的漏洞利用攻击包或大型的僵尸网络集成作为获取对系统控制的途径,这标志着漏洞现实威胁的提升。
所有上面这些属性都应该通过运营被标记出来,以方便用户实现有效的处理优先级排序。
漏洞情报需要支持基于标签的搜索,让用户非常方便地获取匹配特定属性的漏洞集合。这些标签还应该有对应的分类和描述,让用户能更深入地了解漏洞导致的威胁。
收集完漏洞信息,做持续的跟踪进行多维度的属性标定以后,接下来就需要做过滤,这里必须先完成漏洞所导致实际风险的准确判定。
a.准确的漏洞导致的实际安全风险判定
我们知道,目前平均每年新增上万个漏洞,平均到每天百级的漏洞被公开出来,如果全部对其分析验证需要巨量的资源投入,这对任何厂商和组织都是不可能完成的任务,操作层面上既无可能也无必要。根据我们前面对于漏洞图景的分析,事实上每年新公开的漏洞只有极少数需要被认真研究。处理流程上,我们需要根据漏洞的影响面、威胁类型及验证条件,筛选出值得深入分析的漏洞,再通过多种渠道收集或自研PoC进行技术验证,这是漏洞情报运营过程中专业度要求最高的环节。
漏洞运营的目标也不仅仅告诉用户哪些漏洞关键,同样重要的,需要告诉用户哪些看起来高危的漏洞所对应的风险名不副实。典型的例子还是2021年12月爆发的Log4j漏洞,当时在网络上掀起了腥风血雨。
聚光灯效应下一些衍生漏洞随之出现,号称能远程命令执行或导致拒绝服务,分析团队对那些漏洞研究分析之后确认这些漏洞要不利用条件苛刻要不只影响非默认配置,在绝大多数场景下并没有什么实际威胁,随即发布了相应的风险通告做了技术上的澄清。
另外,让我们来看一下两个CVSS评分相近漏洞的对比:
虽然两个漏洞的CVSS评分看起来相差无几,都接近于最高得分,事实上CVSS分数高于9.0的漏洞超过13000个,占比总漏洞数超过6%,但由于一系列非CVSS考察维度属性的差别,导致漏洞的实际威胁天差地别,Log4j的是真正的核弹级,而Samba的这个虽然被用于PWN2OWN的比赛,但在绝大多数场景下基本可以归到鸡肋级。
对于过滤出来的重要漏洞,我们则会尽可能地去完善其技术信息。这里是我们对微软支持诊断工具漏洞的深度研判报告。
报告里会包含漏洞的基本描述,和影响其实际威胁程度的当前状态标记。
详细的威胁向量判定和危害描述,还会包括详细的处置步骤信息。
当然,也会提供漏洞相应的POC及验证方法,以及主机层或网络层的漏洞利用检测方案。
这种漏洞深度分析报告我们每年会有百级,涉及那部分影响面巨大而又威胁等级最高的漏洞,也是奇安信漏洞情报情报的核心输出之一。
b.可信的综合性漏洞处理优先级排序
这里是Qualys对19万个CVE漏洞的CVSS评分对应威胁级别分布的统计,可以看到绝大部分为中高级别,超过一半的高危评价,high和critical的占到了51%,仅基于这样的评级分布其实很难设定可用的处理优先级排序,这也是CVSS除了只是对技术特性做静态评价以外广受诟病的地方。
而且,仅基于CVSS评分基本上很难对漏洞的实际风险做出有效的评估,其他诸如漏洞是否默认配置受影响、利用的易用性稳定性、攻击者所能接触到的资产量级、漏洞利用的其他前置条件,都对漏洞的实际风险有极大影响,而对这些维度信息的判定因为很难自动化,对其准确研判需要投入非常大的资源,所以在就因为非常难以准确量化或被排除在CVSS评分体系以外,或难以得到准确的判定。
CVSS评分高于9.0的漏洞数量有13000多个,其中有3300(25%)多个漏洞存在对应的Exploit,这个比例不算低,但只有580多个漏洞被标记存在野外利用,占比这类高危漏洞不到5%的比例。所以,即便是CVSS眼里技术层面风险度非常高的漏洞,真正被用于网络攻击的概率也不高。这个难题需要通过结合威胁情报来缓解,漏洞情报多维度标签为用户提供了基于漏洞现时状态进行优先级排序的可能。
目前各大主流漏洞库收录的漏洞数超过21万个,这里插一句,以我们对各类软件的漏洞挖掘经验估计,实际已知和未知的漏洞数应该至少高一个数量级,对于已知的这21来万个漏洞,之前也提到过,我们还特别把存在野外利用和存在利用代码或技术细节的漏洞标记了出来,再加上部分影响面很大漏洞,我们将这些漏洞定义为关键漏洞。
处理优先级从极少数的在野利用漏洞到存在利用代码和工具的漏洞,再到存在技术细节的,最后到大部分没有任何细节的漏洞,处理优先级台阶式的快速下降。结合其他的多维度属性标定,用户根据自有环境中的资产情况对漏洞处置形成符合自身安全需求的处理优先级排序。
已有在野利用的漏洞已经具备现实的威胁,无疑应该被设定为最高的处理优先级,组织内部一旦发现需要尽快修补,美国网络安全与基础设施安全局(CISA,Cybersecurity&InfrastructureSecurityAgency)发布了一个包含970多个已知存在野外利用的漏洞列表,奇安信CERT目前也已经标记了超过4500个在野利用漏洞,这个列表也已经对外发布,这是每个组织必修的漏洞列表。
对于漏洞分析的及时性要求,在每年全国范围的攻防演习这样的极端高对抗场景下得到了最充分的体现。在2022年的演习中我们研判了上百条漏洞信息,超过10%的谣言,50%多的历史已知漏洞,接近40%的新近漏洞,其中差不多一半为0day漏洞,是否历史已知漏洞基本的结论需要在1个小时内出来,在有相对较多细节的条件下0day漏洞的复现2小时内完成。
第三,发现关键漏洞的Exploit或PoC公开。当有新的漏洞相应Exploit或POC被公布出来,我们会经过基本的无害性确认以后通知客户,同时会启动可用性的验证,确认可用以后会给漏洞打上”奇安信CERT验证”的标签。
第四,发现关键漏洞的在野利用案例。出现实际的在野利用,是漏洞从潜在威胁转化为现实威胁的重大转折点,一旦监测到需要立即通知用户尽快采取措施修补处置。
第五,发现关键漏洞的新修补和缓解方案。让用户尽快知道有新的缓解和解决方案才能在与攻击者的竞速中取胜。
2021年,奇安信CERT发布了涉及40多个重点厂商,300余条漏洞的147篇实时安全风险通告以及数百条漏洞重要状态的实时更新。
》富化器:提供包含详细操作步骤的处置措施、可被集成的开放API接口
a.可行的包含详细操作步骤的处置措施
除了全面性、及时性、准确性,提供有效的补丁、缓解措施和可落地解决方案是漏洞情报实现其价值的重要一环,这里再详细说一下。
我们先问一句,我们看到的大量漏洞通告里的漏洞处置建议真的都靠谱吗?答案是不一定。
不知道大家还记不记得2017年底暴露出来的CPU硬件的漏洞?可以用来导致内核信息泄露从而最终实现权限提升,这类漏洞非常底层,影响过去20年来几乎所有的CPU,最可怕的问题还在于它们很难被修补。
漏洞出来以后,当年的US-CERT马上发布了一个漏洞通告,给出了最初的解决方案,你没看错,是ReplaceCPUhardware,你觉得这是一个可行的操作吗?是不是觉得US-CERT那帮人的脑子跟那个有漏洞的CPU一样有问题?
当然,随着CPU和操作系统的厂商陆陆续续的输出相应的补丁,US-CERT也随之更新了自己的通告,给出了相对可操作的安装软件更新的解决方案,但至少初期的一些软件处理方案在很多场景下会导致机器的性能很大下降。所以,对于相对复杂些的漏洞,初期给出来的处理方案未必真的能解决问题,除了简单的打补丁以外,应该有更多可供选择的永久或临时性处置方法。
另外,我们也应该知道漏洞补丁其实有很大的局限性。
因为打补丁受各种现实条件的限制,比如在重大活动中核心服务器出于性能和稳定性的考虑,一旦安装补丁导致宕机后果不堪设想,有些补丁打完以后需要重启机器的操作是不允许的,更不用提0day漏洞暂时无补丁可打的情况。因此很多时候,安装补丁并不是漏洞威胁处置的第一选择。
因此对于很多重要漏洞,需要组织技术团队开发主机或网络虚拟补丁,寻找通过调整机器配置暂时规避漏洞利用的临时解决方案,输出经过验证的step-by-step的操作步骤,帮助客户迅速上手进行风险规避,以后在合适的时机进行彻底修复。这里是对一个Weblogic漏洞进行修补操作的详细步骤描述的例子。
去年的时候还出现了个影响面及威胁巨大的ProxyLogon漏洞,NOX安全监测平台持续更新6次安全风险通告,不断对缓解措施进行完善,最终提供了两千余字详细描述的可行操作步骤;对于Log4Shell漏洞,NOX安全监测平台给出的完整处置建议涵盖了漏洞排查、攻击排查、修复版本、产品解决方案以及多种不同场景下经过验证的有效缓解措施,这个完整的处置建议在奇安信多家客户单位的一线应急响应中起到了重要作用。
b.灵活的可被集成的开放API数据接口
当然,为了能够自动化地融入到用户自有的漏洞修补处置流程,我们的漏洞情报还要提供灵活的可被集成的开放API数据接口。
对外的输出形式,不仅提供基于多维属性筛选的Web访问界面,还提供结合化的数据,可以通过在线API接口获取。
奇安信漏洞情报还通过API提供更多功能,甚至需要的时候还可以根据用户的需求定制,集成到自有漏洞处理流程。
对外的输出形式,不仅提供基于多维属性筛选的Web访问界面,还提供在线数据获取的API接口及离线数据包,用户可以根据自己需要集成到自有漏洞处理流程。