CWE4.8 -- 2022年危害最大的25种软件安全问题

CWE 4.8的变化

2022年过了一半了,继《CWE 4.7中的新视图 – 工业控制系统的安全漏洞类别》 发布还不到2个月, 6月底又出了一个版本 – CWE4.8。做为软件安全研究的重要标准,我们来看下这个版本有那些变化。

变化类型 Version 4.7 Version 4.8
弱点 926 927
分类 351 352
视图 47 48
废弃 62 62
汇总 1386 1389

下面我们来的看下具体弱点的变动。

1.1. CWE-1386:Windows 连接点/挂载点上的不安全操作

这是个新增的Windows的问题,具体位置如下图:


CWE-1386.png

这个新弱点被划分在CWE-664(在生命周期中对资源的控制不恰当)下CWE-706(使用不正确的解析名称或索引), 以及CWE-59(在文件访问前对链接解析不恰当(链接跟随))下的一个子弱点。

在 Windows 中,NTFS5 允许文件系统可以对对象生成重解析点(reparse points)。

  • 连接点: 应用程序可以创建从一个目录到另一个目录的硬链接,称为连接点。
  • 挂载点: 创建从目录到驱动器号的映射,称为挂载点。

Windows文件或者目录可以包含一个重解析点,它是一个用户自定义数据的集合。储存它们的程序和解析处理这些数据文件的系统过滤器能识别这些数据的格式。 当一个应用程序设置了一个重解析点,它在保存数据时将添加一个唯一的重解析标签用于标示所存储的数据。当一个文件系统打开一个带重解析点的文件时,首先尝试寻找由重解析点所标识文件格式关联的文件系统过滤器,如果找到文件系统过滤器,过滤器处理重解析点数据所指示的文件。如果没有找到过滤器,那么打开文件的操作失败。

CWE-1386是由于windows打开一个文件或目录时,如果该文件或目录关联到一个目标控制范围之外的连接点或挂载点,则可能允许攻击者使软件读取、写入、删除或以其他方式对未经授权的文件进行操作。

如果一个文件被特权程序使用,它可以被一个敏感文件的硬链接替换(例如,AUTOEXEC.BAT),那么攻击者可以提升特权。当进程打开文件时,攻击者可以冒用该进程的特权,诱骗特权进程读取、修改或删除敏感文件,阻止程序准确处理数据,操作也可以指向注册表和信号量。

例如:CVE-2021-26426,特权服务允许攻击者使用目录连接删除未经授权的文件,从而导致以 SYSTEM 身份执行任意代码。

1.2. CWE-1388:物理访问问题

这是个硬件设计上新增的硬件分类,具体如下图。


CWE-1388.png

老样子,硬件问题不是我的专长,不做过多的解读。

2. CWE-1387:CWE Top 25 (2022)

距离2021年的《CWE发布2021年最危险的25种软件缺陷》差不多刚好一年。岁月如梭,光阴似箭,好快!又是一年荷花盛。

  • 今年的排行榜
网页捕获_31-7-2022_122130_bbs.huaweicloud.com.jpeg

这个排名是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根据问题的发生率和严重程度的一个公式计算得分,最终得到问题的排名。

2.1. 排名变动情况

  • 具体变动如下图:


    top25-rank-change-2021-2022.png
  • 上升最快的名单:

    • 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的记分明细

排名 CWE NVD计数 Avg CVSS 总分
1 CWE-787:跨界内存写 4123 7.93 64.2
2 CWE-79:在Web页面生成时对输入的转义处理不恰当(跨站脚本) 4740 5.73 45.97
3 CWE-89:SQL命令中使用的特殊元素转义处理不恰当(SQL注入) 1263 8.66 22.11
4 CWE-20:输入验证不恰当 1520 7.19 20.63
5 CWE-125:跨界内存读 1489 6.54 17.67
6 CWE-78:OS命令中使用的特殊元素转义处理不恰当(OS命令注入) 999 8.67 17.53
7 CWE-416:释放后使用 1021 7.79 15.5
8 CWE-22:对路径名的限制不恰当(路径遍历) 1010 7.32 14.08
9 CWE-352:跨站请求伪造(CSRF) 847 7.2 11.53
10 CWE-434:危险类型文件的不加限制上传 551 8.61 9.56
11 CWE-476:空指针解引用 611 6.49 7.15
12 CWE-502:不可信数据的反序列化 378 8.73 6.68
13 CWE-190:整数溢出或超界折返 452 7.52 6.53
14 CWE-287:认证机制不恰当 412 7.88 6.35
15 CWE-798:使用硬编码的凭证 333 8.48 5.66
16 CWE-862:授权机制缺失 468 6.53 5.53
17 CWE-77:在命令中使用的特殊元素转义处理不恰当(命令注入) 325 8.36 5.42
18 CWE-306:关键功能的认证机制缺失 328 8 5.15
19 CWE-119:内存缓冲区边界内操作的限制不恰当 323 7.73 4.85
20 CWE-276:缺省权限不正确 368 7.04 4.84
21 CWE-918:服务端请求伪造(SSRF) 317 7.16 4.27
22 CWE-362:使用共享资源的并发执行不恰当同步问题(竞争条件) 301 6.56 3.57
23 CWE-400:未加控制的资源消耗(资源耗尽) 277 6.93 3.56
24 CWE-611:XML外部实体引用的不恰当限制(XXE) 232 7.58 3.38
25 CWE-94:对生成代码的控制不恰当(代码注入) 192 8.6 3.32

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%。
Year 2019 % 2020 % 2021 % 2022 %
Unique Class/Pillar CWEs 7 28% 9 36% 8 32% 7 28%
Unique Base/Variant/Compound CWEs 18 72% 16 64% 17 68% 18 72%
Mappings to Class 9548 43% 6450 30% 3058 17% 3626 16%
Mappings to Base/Var/Comp 12411 57% 14772 70% 14839 83% 19254 84%
Total Maps with Top 25 CWEs 21959 0% 21222 0% 17897 0% 22880 0%
Maps to All CWEs 26341 0% 27168 0% 24282 0% 30681 0%
Maps to Bases 10919 50% 12988 61% 13291 74% 17386 76%
Maps to Variants 799 4% 918 4% 807 5% 1021 4%
Maps to Compounds 693 3% 866 4% 741 4% 847 4%

3. 结论

  • 前十位的缺陷变动不大,主要还是内存读写造成的缓冲区溢出,以及外部输入校验所带来的各种注入问题;
  • 内存安全问题是C语言指针的灵活性给我们带来的后遗症,也一直是困扰我们的主要安全问题。现在安全性已经成为软件开发的重要需求。新兴的Rust语言是否能够给在内存管理方面带来较大的改善,还需要时间的证明;或者在内存安全和编程灵活性的平衡上,寻找一种更容易被广大开发者接受的新语言;
  • 外部输入引发的各种注入类问题,在今后相当长的一段时间会长期伴随者我们。零信任、供应链安全框架的提出,虽然在安全概念和设计指导上达到了一个新的高度,但在软件应用落地时,还取决于广大的开发人员对安全意识的逐步提高,从而在代码中有效的执行各种对外部输入的有效的检测,以及各种凭证的有效验证。当然凭证的校验可以通过使用安全模块来进一步降低开发中的安全风险;
  • 在TOP 25的数据统计上,CWE在尽量将各种软件问题归结到更细力度的问题分类上。通过这些年新版本的快速发布,已经增加了相当多的细分类型(Base/Variant/Compound)。 从2017年3.0的714个增加到了现在4.8版本的927个,增加了将近30%。这也说明我们对问题的认知程度在细化和加深,这更加有利于我们在安全防范中,采取更精细的检查和更具针对性的防范措施,从而降低安全防御的成本。

4. 参考

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,245评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,749评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,960评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,575评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,668评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,670评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,664评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,422评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,864评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,178评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,340评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,015评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,646评论 3 323
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,265评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,494评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,261评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,206评论 2 352

推荐阅读更多精彩内容