CWE4.8:2022年危害最大的25种软件安全问题
摘要:我们来看下新版的《2022年危害最大的25种安全问题》在安全预防上会给了我们哪些安全提示。
本文分享自华为云社区《CWE4.8 -- 2022年危害最大的25种软件安全问题》,作者: Uncle_Tom 。
1. CWE 4.8的变化
2022年过了一半了,继《CWE 4.7中的新视图 – 工业控制系统的安全漏洞类别》发布还不到2个月, 6月底又出了一个版本 – CWE4.8。做为软件安全研究的重要标准,我们来看下这个版本有那些变化。

从汇总表可以看出:
- 新增1个弱点:Weakness-Base CWE-1386:Windows 连接点/挂载点上的不安全操作(Insecure Operation on Windows Junction / Mount Point);
- 新增1个分类:CWE CATEGORY: CWE-1388:物理访问问题(Physical Access Issues and Concerns)
- 新增1个视图:View CWE-1387:CWE Top 25 (2022)(Weaknesses in the 2022 CWE Top 25 Most Dangerous Software Weaknesses)。
下面我们来的看下具体弱点的变动。
1.1 CWE-1386:Windows 连接点/挂载点上的不安全操作
这是个新增的Windows的问题,具体位置如下图:

这个新弱点被划分在CWE-664(在生命周期中对资源的控制不恰当)下CWE-706(使用不正确的解析名称或索引), 以及CWE-59(在文件访问前对链接解析不恰当(链接跟随))下的一个子弱点。
在 Windows 中,NTFS5 允许文件系统可以对对象生成重解析点(reparse points)。
- 连接点: 应用程序可以创建从一个目录到另一个目录的硬链接,称为连接点。
- 挂载点: 创建从目录到驱动器号的映射,称为挂载点。
Windows文件或者目录可以包含一个重解析点,它是一个用户自定义数据的集合。储存它们的程序和解析处理这些数据文件的系统过滤器能识别这些数据的格式。 当一个应用程序设置了一个重解析点,它在保存数据时将添加一个唯一的重解析标签用于标示所存储的数据。当一个文件系统打开一个带重解析点的文件时,首先尝试寻找由重解析点所标识文件格式关联的文件系统过滤器,如果找到文件系统过滤器,过滤器处理重解析点数据所指示的文件。如果没有找到过滤器,那么打开文件的操作失败。
CWE-1386是由于windows打开一个文件或目录时,如果该文件或目录关联到一个目标控制范围之外的连接点或挂载点,则可能允许攻击者使软件读取、写入、删除或以其他方式对未经授权的文件进行操作。
如果一个文件被特权程序使用,它可以被一个敏感文件的硬链接替换(例如,AUTOEXEC.BAT),那么攻击者可以提升特权。当进程打开文件时,攻击者可以冒用该进程的特权,诱骗特权进程读取、修改或删除敏感文件,阻止程序准确处理数据,操作也可以指向注册表和信号量。
例如:CVE-2021-26426,特权服务允许攻击者使用目录连接删除未经授权的文件,从而导致以 SYSTEM 身份执行任意代码。
1.2. CWE-1388:物理访问问题
这是个硬件设计上新增的硬件分类,具体如下图。

老样子,硬件问题不是我的专长,不做过多的解读。
2. CWE-1387:CWE Top 25 (2022)
距离2021年的《CWE发布2021年最危险的25种软件缺陷》差不多刚好一年。岁月如梭,光阴似箭,好快!又是一年荷花盛。
今年的排行榜

这个排名是CWE的团队,依据美国国家标准与技术研究院 (National Institute of Standards and Technology(NIST))的 国家漏洞库(National Vulnerability Database(NVD)) 记录的披露漏洞(Common Vulnerabilities and Exposures(CVE)), 以及网络安全和基础设施安全局 (Cybersecurity and Infrastructure Security Agency(CISA))的已知披露漏洞目录(Known Exploited Vulnerabilities (KEV)), 通过通用缺陷评分系统(Common Vulnerability Scoring System (CVSS))对每个缺陷进行评分。排名统计了2020 到2021年的37,899 个CVE,每个CVE根据问题的发生率和严重程度的一个公式计算得分,最终得到问题的排名。
具体算法可参考 《话说CWE 4.2的新视图》。
2.1. 排名变动情况
具体变动如下图:

- 上升最快的名单:
- CWE-362:使用共享资源的并发执行不恰当同步问题(竞争条件): 从 33 上升到 22;
- CWE-94:对生成代码的控制不恰当(代码注入): 从 28 上升到 25;
- CWE-400:未加控制的资源消耗(资源穷尽): 从 27 上升到 23;
- CWE-77:在命令中使用的特殊元素转义处理不恰当(命令注入)): 从25 上升到 17;
- CWE-476:空指针解引用: 从 15 上升到 11。
- 下降最快的名单:
- CWE-306:关键功能的认证机制缺失: 从 11 下降到 18;
- CWE-200:信息泄露: 从 20 下降到 33;
- CWE-522:不充分的凭证保护机制: 从 21 下降到 38;
- CWE-732:关键资源的不正确权限授予: 从 22 下降到 30。
- 新进前25的有:
- CWE-362:使用共享资源的并发执行不恰当同步问题(竞争条件): 从 33 上升到 22;
- CWE-94:对生成代码的控制不恰当(代码注入): 从 28 上升到 25;
- CWE-400:未加控制的资源消耗(资源穷尽): 从 27 上升到 23;
- 跌出前25的有:
- CWE-200:信息泄露: 从 20 下降到 33;
- CWE-522:不充分的凭证保护机制: 从 21 下降到 38;
- CWE-732:关键资源的不正确权限授予: 从 22 下降到 30。
2.2. TOP 25的记分明细

2.3. 排名统计的改进
为了更好的让人们明白每一个缺陷的特性,在缺陷的映射上,尽量映射到更细力度的缺陷枚举类型上,比如base、Variant、Compound,这样有利于从更细粒度上解决问题。所以TOP 25中的CWE的类型正逐步从支柱(pillar)、类(Class) 向更细力度的缺陷枚举类型base、Variant、Compound上过度。
比如:
- Class/Pillar 从2020年的36%,降到现在的28%;
- Class 从2019年的43%,降到现在的16%;
- Base/Var/Comp 从2019年的 57%上升到84%;
- 对应到base类型的问题,从2019年的 50% 提升到现在的 76%。

注:CWE的枚举类型详见:《话说CWE 4.2的新视图》。
3. 结论
- 前十位的缺陷变动不大,主要还是内存读写造成的缓冲区溢出,以及外部输入校验所带来的各种注入问题;
- 内存安全问题是C语言指针的灵活性给我们带来的后遗症,也一直是困扰我们的主要安全问题。现在安全性已经成为软件开发的重要需求。新兴的Rust语言是否能够给在内存管理方面带来较大的改善,还需要时间的证明;或者在内存安全和编程灵活性的平衡上,寻找一种更容易被广大开发者接受的新语言;
- 外部输入引发的各种注入类问题,在今后相当长的一段时间会长期伴随者我们。零信任、供应链安全框架的提出,虽然在安全概念和设计指导上达到了一个新的高度,但在软件应用落地时,还取决于广大的开发人员对安全意识的逐步提高,从而在代码中有效的执行各种对外部输入的有效的检测,以及各种凭证的有效验证。当然凭证的校验可以通过使用安全模块来进一步降低开发中的安全风险;
- 在TOP 25的数据统计上,CWE在尽量将各种软件问题归结到更细力度的问题分类上。通过这些年新版本的快速发布,已经增加了相当多的细分类型(Base/Variant/Compound)。 从2017年3.0的714个增加到了现在4.8版本的927个,增加了将近30%。这也说明我们对问题的认知程度在细化和加深,这更加有利于我们在安全防范中,采取更精细的检查和更具针对性的防范措施,从而降低安全防御的成本。
4. 参考
CWE4.8:2022年危害最大的25种软件安全问题的更多相关文章
- 摘:SQL Server数据类型的25种
我们大家都知道数据类弄是数据的一种基本属性,其主要是表示数据在实际操作中所表示信息的类型.任何一种计算机语言都定义了自己的数据类型. 当然,不同的程序语言都具有不同的特点,所定义的SQL Server ...
- 《Flutter 动画系列一》25种动画组件超全总结
动画运行的原理 任何程序的动画原理都是一样的,即:视觉暂留,视觉暂留又叫视觉暂停,人眼在观察景物时,光信号传入大脑神经,需经过一段短暂的时间,光的作用结束后,视觉形象并不立即消失,这种残留的视觉称&q ...
- PHP的25种框架
本篇文章给大家分享的内容是25种PHP框架 -有着一定的参考价值,有需要的朋友可以参考一下. 世界流行框架汇总 在项目开发中,一些架构和代码都是重复的,为了避免重复劳动,于是各种各样的框架诞生了. 在 ...
- Ext.js 中 25种类型的Ext.panel.Tool
通过Ext.panel.Panel的tools配置项来设置Ext.panel.Tool实例. 要注意的一点是,Ext框架提供的Ext.panel.Tool仅包含按钮图标而具体的点击事件处理函数需要我们 ...
- C#中使用FreeImage库加载Bmp、JPG、PNG、PCX、TGA、PSD等25种格式的图像(源码)。
其实我一直都是喜欢自己去做图像格式的解码的(目前我自己解码的图像格式大概有15种),但是写本文主要原因是基于CSDN的这个帖子的: http://bbs.csdn.net/topics/3905104 ...
- 一文洞悉Python必备50种算法!资深大牛至少得掌握25种!
一.环境需求 二.怎样使用 三.本地化 3.1扩展卡尔曼滤波本地化 3.2无损卡尔曼滤波本地化 3.3粒子滤波本地化 3.4直方图滤波本地化 四.映射 4.1高斯网格映射 4.2光线投射网格映射 4. ...
- 道高一丈,且看CWE4.2的新特性
摘要:CWE在今年2/24发布4.0,首次将硬件安全漏洞纳入了CWE中,6/25发布4.1, 8/20就发布了4.2. 1. 按照惯例,先说故事 我们先说下CWE的幕后老板--MITRE[1]. MI ...
- PyCharm 2022.2 发布了,支持最新 Python 3.11 和 PyScript 框架!
来源:Jet Brains官网:翻译:Python猫 原文:https://blog.jetbrains.com/pycharm/2022/07/2022-2 通常而言,使用新潮的或者快速发展的技术, ...
- 来啦来啦|开源 * 安全 * 赋能 - .NET Conf China 2022
大会介绍 .NET Conf China 2022 是面向开发人员的社区峰会,延续 .NET Conf 2022 的活动,庆祝 .NET 7 的发布和回顾过去一年来 .NET 在中国的发展成果,它是由 ...
- 华为C语言编程规范
DKBA华为技术有限公司内部技术规范DKBA 2826-2011.5C语言编程规范2011年5月9日发布 2011年5月9日实施华为技术有限公司Huawei Technologies Co., Ltd ...
随机推荐
- AT通讯总结(56K猫调制解调器Modem)型号I-56EM
1.关闭流控RTS与DTR AT&D0&K0\r\n 2.保存到非易失性存储 AT&W\r\n 3.向800001音频拨号 ATDT800001\r\n 4.接听 ATA\r\ ...
- 市二模&中考游记
市二模 过于久远,记不清了.当时由于不想写游记浪费备考时间所以没写. 然后就是我现在真的记不住,算了不写了( 大概是 140+150+135.5+89+68 吧. 中考 内容以各类奇闻逸事为主( \( ...
- 博弈论(Nim游戏 , 有向图游戏)
博弈论专题 Nim游戏 内容: 有 n 堆石子,每堆石子的石子数给出,甲乙两人回合制取石子,每次可以取任意一堆石子的任意多个(可以直接取完,但不能不取),每个人都按照最优策略来取(抽象),问先手必胜或 ...
- AdaBoost算法解密:从基础到应用的全面解析
本文全面而深入地探讨了AdaBoost算法,从其基础概念和原理到Python实战应用.文章不仅详细解析了AdaBoost的优缺点,还通过实例展示了如何在Python中实现该算法. 关注TechLead ...
- 链表K个节点的组内逆序调整问题
链表K个节点的组内逆序调整问题 作者:Grey 原文地址: 博客园:链表K个节点的组内逆序调整问题 CSDN:链表K个节点的组内逆序调整问题 题目描述 LeetCode 25. Reverse Nod ...
- 解决Vscode中代码格式化时老换行
问题: 小颖用vscode的格式化代码后发现代码老是换行,有时看起来就很难受,比如下面的: 问度娘后终于弄好啦,记录下,省的以后换电脑了重装了vscode又不会了,主要是百度给的解决方法好几个,但有的 ...
- .NET开源的处理分布式事务的解决方案
前言 在分布式系统中,由于各个系统服务之间的独立性和网络通信的不确定性,要确保跨系统的事务操作的最终一致性是一项重大的挑战.今天给大家推荐一个.NET开源的处理分布式事务的解决方案基于 .NET St ...
- 有什么巨好用Excel数据分析技巧?
当涉及Excel数据分析时,以下是一些非常实用的技巧和功能,供您参考.这里将为您提供关于数据整理.数据清洗.统计分析.可视化和高级分析等方面的技巧. 一.数据整理与清洗: 导入数据:使用 Excel ...
- 叮咚,你的微信年度聊天报告请查收「GitHub 热点速览」
本周热点项目 WeChatMsg 是一个微信记录提取工具,据说它还能帮你分析聊天记录.生成你的年度聊天报告.而又到了年底,部分不幸的小伙伴要开始写年度总结了,这时候 self-operating-co ...
- Prometheus+Grafana 监控平台实践-搭建&常用服务监控&告警
前言 Prometheus 是一个开放性的监控解决方案,通过各种 Exporter 采集当前主机/服务的数据,和 Grafana 相结合可以实现强大的监控和可视化功能 本篇将分享使用 docker c ...