Exploit Database

Exploit Database 是最大的公开漏洞利用库。截至目前,Exploit Database中有45450个漏洞利用。图1左是按照漏洞利用类型分类的漏洞利用数和公布时间,图1右是按照平台分布的漏洞利用。统计数据表明web应用是2003之后最流行的漏洞利用。

图1(左)按照漏洞利用类型分类的漏洞利用数和公布时间(右)按照平台分布的漏洞利用

图2是CVSS 2.0评分和漏洞利用的严重等级。49%的漏洞利用为严重等级为high(CVSS >=7),45%的漏洞利用为严重等级为medium(4=

图2. 2000年后公布的漏洞按严重等级划分

漏洞、补丁和漏洞利用之间的时间差

为更好地理解公开漏洞利用的影响,研究人员分析了漏洞利用和相关的CVE编号。此外,还有的漏洞利用没有对应的CVE编号,有些漏洞利用的CVE编号可能还没有公布。目前,Exploit Database中有11079(约26%)的漏洞利用有对应的CVE编号。本研究只关注那些有CVE编号的公开漏洞利用,并分析了漏洞发现、公开漏洞利用以及发布补丁的时间。

图3 是漏洞发现到公开CVE编号的时间线。精确的漏洞发现时间一般是不知道的,但分配CVE-ID的时间和CVE在CVE数据库中发布的时间是可以查到的。一般来说,CVE公布的时间就在厂商发布补丁之后的。一旦补丁发布,攻击者就可以通过逆向补丁来恢复出漏洞。从中可以看出,大多数的漏洞利用开发和公布的时间在补丁发布后的一周内。一些厂商可能会选择延迟CVE发布的时间来给用户更多的时间去更新补丁。

当CVE正式公布后,与漏洞相关的信息就会全部公开。此时,安全厂商开始开发漏洞签名和保护策略。大多数的攻击者也开始进行漏洞利用。在这场攻防对抗的游戏中,速度决定成败。也就是说CVE公布的时间、补丁和漏洞利用发布的时间对安全来说都是非常重要的。

图3. 漏洞发现/公布、补丁发布和漏洞利用公布的时间

图4. 补丁发布后几周内漏洞利用公布的数量

图4是补丁发布后每周漏洞利用公布的数量。Week 1表示漏洞补丁发布后1周内漏洞利用公布的数量。对0 day漏洞,补丁发布日期前公布漏洞利用的week为负值。因为漏洞补丁发布的时间不在Exploit Database和CVE库中,因此研究人员对2015年以来的500个高危漏洞利用作为样本进行了分析。分析发现,14%的漏洞利用在补丁发布前公开,23%的漏洞利用是在补丁发布后1周内公开的,有50%的漏洞利用是在补丁发布后一个月公开的。平均情况下,漏洞利用是在补丁发布后37天公开的。

图5是CVE公布后几周内漏洞利用公开的数量。与图4类似,漏洞利用公布时间早于CVE编号发布时间的week数为负。研究人员发现,有80%的漏洞利用公布时间早于CVE发布时间。一般来说,漏洞利用的发布时间比CVE的发布时间早23天。此外,还有75%的漏洞利用没有对应的CVE编号。

研究人员分析CVE数据库后发现,并不是所有的CVE都是在补丁发布后立刻公布的。因此,CVE发布后,漏洞利用已经发布了,这也说明攻击者比安全研究人员快一步。

图 5. CVE公布后几周内漏洞利用公开的数量

CVE编号分配后,CVE的状态就会变成reserved(预留)。预留的CVE的详细信息在CVE官方发布后不会公开。截至目前,研究人员分析了CVE列表中的177043条记录,并计算了预留的CVE数。

图6是1999年以来公布的CVE和预留CVE数量。平均来看,在CVE-ID分配40天后,CVE就会公布。但仍有超过10000个CVE的预留状态超过2年。这表明漏洞发现和CVE公布之间有很长的时间延迟。虽然有很多厂商会在补丁发布后尽快公布CVE,但仍有厂商没有及时更新CVE 状态。这些数也解释了为什么又这么多的漏洞利用在CVE官方发布之前就公开了。

图6. 公布的CVE和预留的CVE数量(按年)

结论

研究人员分析的这45450个公开的漏洞利用只是漏洞利用中的一小部分。许多漏洞利用其实并没有公开,只私人拥有或在黑市交易。研究中并没有将这些数量纳入。研究再次确认了及时修复补丁和更新的重要性。随着补丁的发布,机器被黑的可能性就变大了,因此建议用户在补丁发布后尽快更新和修复。

参考及来源:https://unit42.paloaltonetworks.com/state-of-exploit-development/

声明:本文来自嘶吼专业版,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。