2023 年已知被利用最多的十大CWE漏洞排名

作者:Uncle_Tom

原文链接:2023 年已知被利用最多的十大CWE漏洞排名-云社区-华为云

1. 2023 年已知被利用最多的十大CWE漏洞排名

2023年12月14日,CWE 的网站上公布了美国网络安全和基础设施安全局(Cybersecurity & Infrastructure Security Agency(CISA),简称 CISA), 管理的"已知被利用漏洞目录(Known Exploited Vulnerabilities Catalog (KEV), 简称 KEV)"中 2023 年被利用最多的 10 大 CWE 漏洞排名。

  • 2023 年被利用最多的 10 大 CWE 漏洞排名
排名 CWE 分类 得分 KEV 数量 平均 CVSS
1 CWE-416:释放后使用 CWE-1399:内存安全 73.99 44 8.54
2 CWE-122:堆缓冲区溢出 CWE-1399:内存安全 56.56 32 8.79
3 CWE-787:跨界内存写 CWE-1399:内存安全 51.96 34 8.19
4 CWE-20:输入验证不恰当 CWE-1406:不正确的输入验证 51.38 33 8.27
5 CWE-78:OS命令中使用的特殊元素转义处理不恰当(OS命令注入) CWE-1409:注入问题 49.44 25 9.36
6 CWE-502:不可信数据的反序列化 CWE-1415:资源控制 29.00 16 9.06
7 CWE-918:服务端请求伪造(SSRF) CWE-1396:访问控制 27.33 16 8.72
8 CWE-843:使用不兼容类型访问资源(类型混淆) CWE-1416:资源生命周期管理 26.24 16 8.61
9 CWE-22:对路径名的限制不恰当(路径遍历) CWE-1404:文件处理 19.90 14 8.09
10 CWE-306:关键功能的认证机制缺失 CWE-1396:访问控制 12.98 8 8.86

1.2. KEV 排名分析

这个排名是按具体的缺陷漏洞 CVE 映射到缺陷的分类 CWE 后做出的。

  • 软件弱点枚举(Common Weakness Enumeration (CWE))

    这里的"弱点"是软件、固件、硬件或服务组件中的一种情况,在某些情况下,这可能会导致漏洞的引入。CWE列表和相关的分类法是一种语言,可用于识别和描述CWE方面的这些弱点。通常,CWE描述漏洞的根本原因。

  • CVE 映射到 CWE

    CWE Top 25 是发生频率最高和最严重的 CVE 记录的弱点的年度列表。发生频率是通过数据集中根本原因与特定 CWE 相关的 CVE 记录数来衡量的,严重性是通过计算这些 CVE 记录的平均 CVSS 分数来衡量的。

    但是,漏洞是否被利用并不是漏洞报告过程(即 CVE 报告程序)的必要部分。

    通过检查已知被利用的漏洞的 CWE 根本原因映射,我们获得了攻击者利用弱点的新视角,而不是开发人员和研究人员最常报告的弱点。

  • KEV Top 10 的数据分析范围

    分析人员分析了 289 条 CVE 记录,包括 KEV 目录中的所有 2021 年和 2022 年 CVE 记录(截至 2023 年 3 月 27 日,即 2023 年 CWE 前 25 名的所有 NVD 数据被提取之日)。

  • KEV Top 10 的诞生

    与 2023 年 CWE 前 25 名一起,有史以来第一个 KEV 前 10 名弱点列表(使用与 2023 年前 25 名相同的评分方法)提供了组织在降低风险时可以使用的进一步信息。

1.3. KEV 十大排名的分类统计

2023 年初,在 CWE 网站上发布了 View-1400:软件保障趋势的综合分类,将所有条目分组为大规模软件保障研究感兴趣的类别。这既是为了更好的支持使用安全语言开发等策略消除弱点,也是为了帮助跟踪公开披露的漏洞数据中弱点的趋势。

  • 2023 年被利用最多的 10 大 CWE 漏洞分类
    下面的饼图,显示了十大 KEV 被利用的 CWE 漏洞分类的百分比。具体分类见前表表的"分类"列。
  • 2023 年被利用最多的 10 大 CWE 漏洞类别和分析数结合树状图
    下面的树状图,显示了十大 KEV 被利用 CWE 漏洞的类别与各个 CWE 条目的分析分数相结合的示意图。

注: 缺陷的分类,可参考:应用软件的缺陷分类

2. 已知被利用漏洞目录 KEV 介绍

2021 年,美国网络安全和基础设施安全局(CISA) 开始发布:已知被利用的漏洞目录(KEV)。此目录中的条目是已通过常见漏洞和披露 CVE 计划报告,并被观察到已经被利用的漏洞。由于是已经发现被利用的 CVE 漏洞,所以 CISA 建议组织监视 KEV 目录,并使用其内容来帮助确定组织系统中修正活动的优先级,以降低入侵的可能性。

KEV 目录向所有组织发送了明确的信息,要求根据漏洞直接或间接造成的损害,进行优先修复工作。组织应使用 KEV 目录作为其漏洞管理优先级框架的输入。漏洞管理框架(例如特定于利益相关者的漏洞分类模型( Stakeholder-Specific Vulnerability Categorization model(SSVC) 会考虑漏洞的利用状态,而 KEV 目录将充当该信息的权威存储库。组织还应考虑使用自动化漏洞和补丁管理工具,这些工具可以自动合并和标记 KEV 漏洞或确定其优先级。

2.1. KEV 目录更新的三个条件

被收录到 KEV 目录中需要满足以下三个条件:

2.1.1. 该漏洞分配了常见漏洞和披露 ID(CVE ID)

向 KEV 目录添加漏洞的第一个条件是 CVE ID。CVE ID(也称为 CVE 标识符、CVE 记录、CVE 名称、CVE 编号和 CVE)是公开已知网络安全漏洞的唯一通用标识符。

CVE 计划 由 CISA 赞助,由美国联邦政府资助的非营利性研发中心 (Federally Funded, Rsearch and Development Center(FFRDC))运营,该中心由 MITRE 公司运营。建立 CVE 的目的是识别、定义和编目公开披露的网络安全漏洞。CVE 目录中的每个漏洞都有一个编号(CVE ID)。这些漏洞由世界各地与 CVE 计划合作的组织发现、分配和发布。合作伙伴发布 CVE 记录以传达对漏洞的一致描述。信息技术和网络安全专业人员使用 CVE 记录来确保他们正在讨论同一问题,并协调他们的工作以确定漏洞的优先级和解决漏洞。

  • CVE的发布流程

获取 CVE ID 的过程从发现潜在的网络安全漏洞开始。CVE 编号机构(CVE Numbering Authority (CNA)) 会为该信息分配一个 CVE ID。CNA 是一个组织,有权将 CVE ID 分配给影响其独特商定范围内产品的漏洞。成为 CNA 是自愿的。CNA 可以是软件供应商、开源项目、协调中心、漏洞赏金服务提供商或研究小组。

CNA 创建 CVE 记录(包括说明和引用)后,MITRE 会将其发布到 CVE 网站上。

由美国国家标准与技术研究院 (National Institute of Standards and Technology(NIST)) 维护的 MITRE CVE 列表网站 cve.mitre.org/cve 和美国国家漏洞数据库(NVD)网站 nvd.nist.gov/ 提供了所有已分配 CVE 的列表。

NVD 与 CVE 同步,以便对 CVE 的任何更新都会立即显示在 NVD 上。 它通过安全清单参考、安全相关软件缺陷、错误配置、产品名称、影响指标和搜索引擎的数据库来增强 CVE List 提供的信息。

2.1.2. 有可靠的证据表明,该漏洞已被利用

这里的"可利用"(exploitable)是指攻击者利用漏洞的难易程度。评估包括:概念验证(proof-of-concept(PoC)) 的可用性、网络可访问性、非特权访问、可蠕虫性和执行漏洞利用所需的技能水平。可蠕虫性是指可以在没有用户交互的情况下从一台机器传播到另一台机器的网络攻击。分析漏洞的可利用性有助于确定漏洞的严重性。

漏洞的可利用性不是包含在 KEV 目录中的标准。相反,KEV 目录包含的主要标准是漏洞是否已被利用或正在被利用。这是指个人使用恶意代码来利用漏洞。关于 KEV 目录,主动利用和被利用是同义词。

被主动利用的漏洞是指: 有可靠证据表明,攻击者在未经系统所有者许可的情况下,在系统上执行恶意代码的漏洞。

  • 主动利用(Active exploitation)

    主动利用的两个关键要点是:攻击者的意图是成功利用,并且攻击是真实实施了。

    主动利用还包括:尝试利用(attempted exploitation)和成功利用(successful exploitation)。

    • 尝试利用(attempted exploitation)
      当攻击者在目标系统上执行代码,但由于系统不易受攻击或系统是蜜罐等原因而无法执行代码时,就会发生尝试利用。蜜罐是一种计算机安全机制,用于检测、偏转或以某种方式抵制未经授权使用信息系统的企图。在蜜罐上成功执行恶意代码被视为尝试利用,因为攻击者没有获取实际的目标信息。
    • 成功利用(successful exploitation)
      当攻击者成功利用目标系统上的易受攻击的代码,从而允许他们在该系统或网络上执行其他未经授权的操作时,就会发生成功利用。
  • 不构成主动利用的事件包括:

    • 扫描
    • 漏洞利用的安全研究
    • 概念验证(Proof of Concept (PoC))
      PoC 是漏洞的代码,执行时允许利用该漏洞。安全研究人员和供应商之间定期交换 PoC,以演示如何利用漏洞,并协助供应商开发漏洞补丁。公开 PoC 可能会增加攻击者在利用此漏洞的可能性。但是,PoC 的公开可用性并不自动表示该漏洞已经或将被利用。拥有公开可用的 PoC 并不是将漏洞包含在 KEV 目录中的必要条件。

2.1.3. 该漏洞有明确的修正操作,例如供应商提供的更新。

当受影响的组织需要采取明确的操作时,CISA 会将已知的被利用漏洞添加到目录中。CISA 强烈建议所有组织也这样做:

  • 根据供应商说明应用更新。安全供应商提供了更新,用户应应用该更新。
  • 如果受影响的产品已停产或无法以其他方式更新,则从代理网络中删除。

缓解措施是用户可以实施的临时解决方案,以防止漏洞被利用。

2.2. 已经收录的漏洞

到目前为止,KVE 已经收录了从 2020 年到 2024 年 1064 个已知被利用的漏洞。

可以从 KEV 的网站:www.cisa.gov/known-explo... 得到 CSV 和 Json 格式的漏洞列表。

  • KVE 漏洞样例
  • 漏洞按年统计
年份 漏洞数量
2020年 3
2021年 123
2022年 732
2023年 193
2024年 13
总计 1064

3. 2023 KEV 排名统计方式

已知被利用漏洞(KEV)目录中显示的 CVE 记录最初是由 CVE 编号机构(CNA)或美国国家漏洞数据库(NVD)分析师分配的 CWE 映射。CWE Top 25 团队对这些映射进行了自己的独立分析,不仅考虑了每个 CVE 记录中直接引用的参考文献,还考虑了任何公开可用的漏洞或文章,这些漏洞或文章有助于进一步确定最准确的映射。

CWE 团队与每个相关的 CNA 分享了其映射和理由,以提供审查机会。如果 CNA 反对任何映射,他们被要求提供替代方案和理由。

CWE 团队总共分析了 289 条 CVE 记录,包括截至 2023 年 3 月 27 日(为 2023 年 CWE Top 25 提取所有 NVD 数据的那一天)的 2021 年和 2022 年 KEV 目录中的所有 CVE 记录。使用 2023 年 CWE Top 25 的方法,通过计算出的分析分数对 CWE 进行排名,该分数考虑了发生率(CWE 映射到 KEV CVE 的次数)和严重程度(CWE 映射到 KEV CVE 的平均 CVSS 分数)。

由于该数据集远小于完整的 2023 年 CWE Top 25 名(即 ~45,000 条 CVE 记录),因此分析分数与 CWE Top 25 名中的分数不同,并且排名对微小的数据变化非常敏感。排名 10 之后,即使数据中一条 CVE 记录的差异也会导致排名变化。例如,数据集中排名第 11 位的 CWE 只有 6 次出现,并且与排名第 10 位的 CWE 相比,得分大幅下降。正因为如此,Top 25 团队认为 Top 10 列表为社区提供了最有意义的数据。

与 2023 年 CWE Top 25 不同,2023 年 Top 10 KEV 弱点映射未归一化为: CWE-1003 视图:漏洞简化映射的弱点(即 NVD 用于映射的 CWE)。选择这样做是为了在数据集较小的情况下保持 KEV CWE 映射的粒度,并确保最准确和最具体的映射。因此,前 10 个 KEV 弱点列表中可能存在属于相关弱点的同一 CWE 树的弱点。这是由于某些 CVE 记录具有更具体的信息,可以进行更精确的映射,而其他 CVE 记录仅具有更通用的信息。

注:关于 CWE TOP 25 以及统计计算方式详见:

4. KEV Top 10 和 CWE Top 25

下表给出了2023 年 CWE Top 25 和 2023 年 KEV Top 10 的匹配关系。

表格中"-"表示没有匹配关系。

TOP25排名 CWE TOP25得分 KEV数量 KEV10排名 KEV10得分
1 CWE-787:跨界内存写 63.72 70/34 3 51.96
2 CWE-79:在Web页面生成时对输入的转义处理不恰当(跨站脚本) 45.54 4 - -
3 CWE-89:SQL命令中使用的特殊元素转义处理不恰当(SQL注入) 37.27 6 - -
4 CWE-416:释放后使用 16.71 44/44 1 73.99
5 CWE-78:OS命令中使用的特殊元素转义处理不恰当(OS命令注入) 15.65 23/25 5 49.44
6 CWE-20:输入验证不恰当 15.50 35/33 4 51.38
7 CWE-125:跨界内存读 14.6 2 - -
8 CWE-22:对路径名的限制不恰当(路径遍历) 14.11 16/14 9 19.90
9 CWE-352:跨站请求伪造(CSRF) 11.73 0 - -
10 CWE-434:危险类型文件的不加限制上传 10.41 5 - -
11 CWE-862:授权机制缺失 6.90 - -
12 CWE-476:空指针解引用 6.59 0 - -
13 CWE-287:认证机制不恰当 6.39 10 - -
14 CWE-190:整数溢出或超界折返 5.89 4 - -
15 CWE-502:不可信数据的反序列化 5.56 14/16 6 29.00
16 CWE-77:在命令中使用的特殊元素转义处理不恰当(命令注入) 4.95 4 - -
17 CWE-119:内存缓冲区边界内操作的限制不恰当 4.75 7 - -
18 CWE-798:使用硬编码的凭证 4.57 2 - -
19 CWE-918:服务端请求伪造(SSRF) 4.56 16/16 7 27.33
20 CWE-306:关键功能的认证机制缺失 3.78 8/8 10 12.98
21 CWE-362:使用共享资源的并发执行不恰当同步问题(竞争条件) 3.53 8 - -
22 CWE-269:特权管理不恰当(Improper Privilege Management) 3.31 5 - -
23 CWE-94:对生成代码的控制不恰当(代码注入) 3.30 6 - -
24 CWE-863:授权机制不正确(Incorrect Authorization) 3.16 0 - -
25 CWE-276:缺省权限不正确 3.16 0 - -
- CWE-122:堆缓冲区溢出 - -/32 2 56.56
- CWE-843:使用不兼容类型访问资源(类型混淆) - -/16 8 26.24

从上图可以看到:2023 年 KEV Top 10 和 2023 年 CWE Top 25 中出现的 CWE 集之间存在一些有趣的差异:

  • 一些漏洞类型在 2023 年 CWE Top 25 名中的得分较低,但在 KEV Top 10 名漏洞中的得分较高;
  • 2023 年 CWE Top 25 中出现的一些漏洞根本没有出现在 KEV Top 10 的漏洞中。

许多因素可以解释这些差异。这些漏洞包括但不限于以下漏洞类型:

  • 一些漏洞类型通过代码扫描工具轻松找到。所以这些类型虽然被发现,但很多已经被检查到并进行了修复,所以没有在KEV Top 10 中出现;
  • 一些漏洞类型很容易被利用。例如KEV Top 10 中前三名的内存类问题,很容易被攻击者利用。
  • 漏洞分析时是采用对攻击者最有利的状况下的结论。这可能导致在实际的应用环境中并不容易被攻击者快速利用,从而一些漏洞并没有在KEV Top 10 中出现。

5. 结论

  • KEV Top 10 为我们提供了攻击者利用漏洞的新视角,而不是开发人员和研究人员最常报告的CVE,以及由 CVE 统计得到的 CWE Top 25;
  • KEV Top 10 分的数据主要为已知被利用的漏洞,计算得分时可以避免大量 CVE 数据对统计结果的稀释作用,相比 CWE Top 25 得到的排名更接近实际的危害性;
  • KEV Top 10 为我们提供了一个更接近实际漏洞被利用进行攻击可能性的指导。便于在漏洞管理和防护上,采用更高的优先级对这些漏洞进行防护和采取消减措施,从而降低系统被攻击的可能性;
  • 了解 CWE Top 25 中报告的漏洞非常重要,但与KEV Top 10 中可被利用的漏洞知识相结合,可提供更高水平的信息。

6. 参考

相关推荐
feilieren2 小时前
信创改造 - TongRDS 替换 Redis
java·spring boot·后端
hani19902 小时前
beikeshop 与swoole结合,让网站打开飞起
后端·swoole
knoci3 小时前
【Go】-go中的锁机制
后端·学习·golang
Mike_188702783513 小时前
深入探索Golang的GMP调度机制:源码解析与实现原理
开发语言·后端·golang
不7夜宵3 小时前
Golang 反射
开发语言·后端·golang
AskHarries3 小时前
Spring Cloud Consul实现选举机制
java·后端·spring cloud·consul
山山而川粤4 小时前
大连环保公益管理系统|Java|SSM|Vue| 前后端分离
java·开发语言·后端·学习·mysql
尘浮生4 小时前
Java项目实战II基于SpringBoot前后端分离的网吧管理系统(开发文档+数据库+源码)
java·开发语言·数据库·spring boot·后端·微信小程序·小程序
哎呦没4 小时前
企业OA管理系统:Spring Boot技术实现与案例研究
android·spring boot·后端
人才程序员5 小时前
详解Qt QStorageInfo 存储信息类
c语言·开发语言·c++·后端·qt·界面