CWE 4.6 和 OWASP TOP10(2021)

2023-11-29 03:18
文章标签 2021 top10 4.6 owasp cwe

本文主要是介绍CWE 4.6 和 OWASP TOP10(2021),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【摘要】 新发布的CWE4.6标准,加入了OWASP 2021 TOP10的视图。OWASP TOP10将Web应用中的漏洞按照其发生率、检测能力、影响和可利用性设定了一个优先级排名,帮助组织按照漏洞的优先级,关注、理解、正确识别、减轻在应用程序中这些漏洞造成的危害。同时也为检测工具厂商对这些安全问题的检测提出了要求。

1. CWE 4.6

CWE的更新,并没有因为疫情的影响,仍然保持着每年3-4个版本的更新速度,可见软件安全的重要性。这个月初4.6版本如约而至。我们来看下这次的更新,都有哪些亮点。

1.1. CWE V4.5 vs V4.6

通常可以从两个角度的对比CWE版本的变动,快速得到大致的差异信息。

1.1.1. CWE节点类型和数量的变动

每个CWE由一个唯一的编号表示一个弱点的分类节点,每个节点由他的类型确定它的节点种类,共有8种不同类型的节点类型。 所以每种节点类型数量的变化可以直接反映这个版本的变化大小和变动方式。 每个版本的都有一个链接反映节点数量的变化。

先来看下两个版本CWE节点数量上的差异:

CWE节点分类Version 4.5Version 4.6
弱点(Weakness)922924
分类(Category)316326
视图(View)4446
Deprecated6161
汇总13431357

从这个表的差异,不难看出:

  • 只增加了两个弱点,整体变动不大。目前CWE已经经过了15年左右的发展,基本上处于稳定状态,不太有过多的CWE弱点的节点增加;
  • 视图(View)增加了两个。视图是以不同的研究人员角度出发,对某些弱点的一个汇总的视图。在视图之下通常是分类(Category)节点对某类弱点(Weakness)的一个分类。所以视图的增加通常会伴随着分类(Category)节点的增加, 这次就增加了20个分类(Category)节点。

注,关于CWE节点的说明,请参看《话说CWE 4.2的新视图》。

1.1.2. 从CWE XML schema变化看CWE 4.6的变动

CWE的所有信息是通过XML格式定义保存的,所以定义xml格式的schema文件xsd,就成了洞察CWE结构变化的最好方法。
每次CWE的版本,都会有一个链接来查看Schema的变化, 你也可以直接比较两个版本的Schema。

  • 比较两个版本的schema文件,发现只有以下两个变动,如下图:
    在这里插入图片描述

    • 检测方法枚举值(Detection Method Enumeration)的变动

      • 增加了"形式化验证(Formal Verification)"。形式化的方法已经开始逐步从学术走向了实际应用, 但形式化的方法依然会带来极高的验证成本;
      • 增加了"模拟/仿真(Simulation / Emulation)"。 通常这个方法用于硬件安全的验证。
    • 有效性枚举值()的变动

      • 增加了"不鼓励的常见做法(Discouraged Common Practice)"。 也就是说这个安全消减措施的无效,不建议使用。避免了采取一些习惯性认为有效,实际上确无效的安全措施。

1.1.3. 新增的CWE节点

  • CWE-1341(重复释放同一个资源或句柄(Multiple Releases of Same Resource or Handle))
    在这里插入图片描述

如图,CWE-1341(重复释放同一个资源或句柄), 位于:CWE-710(编程规范违背) --> CWE-675(对资源的重复操作)下面。是我们熟悉的内存问题:CWE-415(双重释放)的上一级。 增加这个节点的原因,除了内存的双重释放,资源或文件句柄也存在着双重释放的问题。

例如下面的代码,在第二次释放文件句柄的时候,会返回一个错误值。

char b[2000];
FILE *f = fopen("dbl_cls.c", "r");
if (f)
{b[0] = 0;fread(b, 1, sizeof(b) - 1, f);printf("%s\n'", b);int r1 = fclose(f);printf("\n-----------------\n1 close done '%d'\n", r1);int r2 = fclose(f); // Double closeprintf("2 close done '%d'\n", r2);
}
  • CWE-1342(瞬时执行后微架构状态造成信息泄漏(Information Exposure through Microarchitectural State after Transient Execution))
    在这里插入图片描述

处理器在不正确的微指令辅助(microcode assists)或预测执行(speculative execution)后,处理器没有正确清除微架构状态,从而导致信息泄漏。这种瞬时执行的痕迹可能会保留在微体系结构缓冲区中,从而导致微体系结构状态发生变化,攻击者可以使用侧信道分析获取敏感信息。例如,加载值注入 (LVI) REF-1202 可以利用将错误值直接注入中间加载和存储缓冲区。

注:这个问题属于CPU架构指令集和设计的问题,这个不是我的研究领域,跳过。

1.1.4. 新增的视图

  • CWE-1343(2021最重要的硬件弱点(Weaknesses in the 2021 CWE Most Important Hardware Weaknesses List))
    这个不是我的研究领域,跳过。

  • CWE-1344(OWASP 2021 TOP10 弱点(Weaknesses in OWASP Top Ten (2021)))
    这个的视图体现了OWASP 九月分发布的 OWASP TOP10 (2021)。 这个是OWASP 自2017 年之后,时隔四年,再次发布TOP10。接下来我们重点看下这个视图。

2. CWE-1344 OWASP TOP10(2021)

Web应用程序安全性项目(Open Web Application Security Project (OWASP))是一个开放的社区, 该社区致力于使组织开发、购买和维护的应用程序和api,可以被信任。

OWASP已经先后在:2004,2007,2010,2013,2017,先后发布了OWASP TOP10,指出了Web应用软件存在的高危安全问题,
并为每种漏洞按照其发生率、检测能力、影响和可利用性设定了一个优先级排名,从而帮助组织按照漏洞的优先级,关注、理解、正确识别、减轻在应用程序中这些漏洞造成的危害。 同时也为检测工具厂商对这些高危的安全问题的检测提出了要求。

2.1. OWASP TOP10(2021)

OWASP TOP10涉及CWE最大发生率平均发生率CVSS平均可利用度CVSS平均影响度最大测试覆盖率平均测试覆盖率发生总数NVD CVE总数
A01:2021-中断访问控制3455.97%3.81%6.925.9394.55%47.72%318,48719,013
A02:2021-加密故障2946.44%4.49%7.296.8179.33%34.85%233,7883,075
A03:2021-注入3319.09%3.37%7.257.1594.04%47.90%274,22832,078
A04:2021-不安全的设计4024.19%3.00%6.466.7877.25%42.51%262,4072,691
A05:2021-安全配置错误2019.84%4.51%8.126.5689.58%44.84%208,387789
A06:2021-易受攻击和过时的组件327.96%8.77%5.005.0051.78%22.47%30,4570
A07:2021-标识和身份验证失败2214.84%2.55%7.406.5079.51%45.72%132,1953,897
A08:2021-软件和数据完整性故障1016.67%2.05%6.947.9475.04%45.35%47,9721,152
A09:2021-安全日志记录和监控故障419.23%6.51%6.874.9953.67%39.97%53,615242
A10:2021-服务器端请求伪造(SSRF)12.72%2.72%8.286.7267.72%67.72%9,503385

2.2. OWASP2017和2021 TOP10的变化

OWASP2017和2021 TOP10的变化,如下图:
在这里插入图片描述

2.2.1. A01:2021-中断访问控制

从第五位上升到第一位。数据表明,平均而言,3.81%的受测应用程序具有一个或多个常见CWE,其中CWE在此风险类别中的出现次数超过318,000次。映射到该问题的CWE多达34个,比任何其他类别都多。

2.2.2. A02:2021-加密故障

相较2017年上移一位,动到第二名,以前称为A3:2017-敏感数据泄露,敏感数据泄露是症状而不是根本原因。更新后的名称侧重于与加密相关的故障根因。此类别通常会导致敏感数据泄露或系统泄露。

2.2.3. A03:2021-注入

从2017年的第一位,滑落到第三位。应用程序对此类问题的测试覆盖率达到94%,最大发生率为19%,平均发生率为3.37%,映射到这一类别的33个CWE在274k次的应用中发生率第二高。跨站点脚本问题,在此版本中归于此类别的一部分。

2.2.4. A04:2021-不安全的设计

这个是2021年的新类别,重点是与设计缺陷相关的风险。作为一个有"安全左移"追求的企业,需要更多的威胁建模、安全的设计模式和原则以及参考架构。不安全的设计无法通过完美的实现来修复,安全起源于设计。

2.2.5. A05:2021-安全配置错误

从上一版的第六名上升到第五名。90%的应用程序都经过了某种形式的配置错误测试,平均发生率为 4.5%,并且有超过 208,000 次 CWE 映射到此风险类别。随着越来越多的人转向高度可配置的软件,看到这一类别的上升并不奇怪。A4:2017-XML 外部实体(XXE)被归为此类别的一个子类。

2.2.6. A06:2021-易受攻击和过时的组件

2017年为"使用具有已知漏洞的组件",这一类别从2017年的第九位上升到第六位,是我们难以测试和评估风险的已知问题。它是唯一一个未将任何常见漏洞和披露(CVE) 映射到所包含的 CWE 的类别,因此漏洞利用和影响权重采用了默认值5.0。

2.2.7. A07:2021-标识和身份验证失败

2017是"身份验证中断",从第二个位置向下滑动到第七位。现在包括与标识失败更相关的 CWE。这个类别仍然是前10名中不可或缺的一部分,标准化验证框架的可用性增加似乎对这类问题减少起到一定的帮助。

2.2.8. A08:2021-软件和数据完整性故障

2021年的新类别,侧重于在不验证完整性的情况下做出与软件更新、关键数据和 CI/CD 管道相关的假设。这类问题是CVE/CVSS影响度值最高的一个。A8:2017-不安全的反序列化并入到这个类别。

2.2.9. A09:2021-安全日志记录和监控故障

2017的A10:2017-日志记录和监控不足从之前的第十位上升到第九位。此类别已扩展为包含更多类型的故障,测试具有挑战性,并且在 CVE/CVSS 数据中不能很好地表示。但是,此类别中的故障可能会直接影响可见性、事件警报和取证。

2.2.10. A10:2021-服务器端请求伪造

2021新增加的类型。数据显示,发病率相对较低,测试覆盖率高于平均水平,漏洞利用和影响潜力的评分高于平均水平。

3. 参考

  • https://cwe.mitre.org/data/reports/diff_reports/latest.html
  • https://cwe.mitre.org/data/definitions/1344.html
  • https://owasp.org/Top10/
  • https://github.com/OWASP/Top10

这篇关于CWE 4.6 和 OWASP TOP10(2021)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/431240

相关文章

OWASP十大安全漏洞解析

OWASP(开放式Web应用程序安全项目)发布的“十大安全漏洞”列表是Web应用程序安全领域的权威指南,它总结了Web应用程序中最常见、最危险的安全隐患。以下是对OWASP十大安全漏洞的详细解析: 1. 注入漏洞(Injection) 描述:攻击者通过在应用程序的输入数据中插入恶意代码,从而控制应用程序的行为。常见的注入类型包括SQL注入、OS命令注入、LDAP注入等。 影响:可能导致数据泄

GPU 计算 CMPS224 2021 学习笔记 02

并行类型 (1)任务并行 (2)数据并行 CPU & GPU CPU和GPU拥有相互独立的内存空间,需要在两者之间相互传输数据。 (1)分配GPU内存 (2)将CPU上的数据复制到GPU上 (3)在GPU上对数据进行计算操作 (4)将计算结果从GPU复制到CPU上 (5)释放GPU内存 CUDA内存管理API (1)分配内存 cudaErro

2021-8-14 react笔记-2 创建组件 基本用法

1、目录解析 public中的index.html为入口文件 src目录中文件很乱,先整理文件夹。 新建components 放组件 新建assets放资源   ->/images      ->/css 把乱的文件放进去  修改App.js 根组件和index.js入口文件中的引入路径 2、新建组件 在components文件夹中新建[Name].js文件 //组件名首字母大写

2021-08-14 react笔记-1 安装、环境搭建、创建项目

1、环境 1、安装nodejs 2.安装react脚手架工具 //  cnpm install -g create-react-app 全局安装 2、创建项目 create-react-app [项目名称] 3、运行项目 npm strat  //cd到项目文件夹    进入这个页面  代表运行成功  4、打包 npm run build

[SWPUCTF 2021 新生赛]web方向(一到六题) 解题思路,实操解析,解题软件使用,解题方法教程

题目来源 NSSCTF | 在线CTF平台因为热爱,所以长远!NSSCTF平台秉承着开放、自由、共享的精神,欢迎每一个CTFer使用。https://www.nssctf.cn/problem   [SWPUCTF 2021 新生赛]gift_F12 这个题目简单打开后是一个网页  我们一般按F12或者是右键查看源代码。接着我们点击ctrl+f后快速查找,根据题目给的格式我们搜索c

Github 2024-09-07Rust开源项目日报Top10

根据Github Trendings的统计,今日(2024-09-07统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Rust项目10CUE项目1Python项目1Go项目1 Polars: Rust中的DataFrame接口和OLAP查询引擎 创建周期:1354 天开发语言:Rust, Python协议类型:MIT LicenseStar数量:2385

【面试个人成长】2021年过半,社招和校招的经验之谈

点击上方蓝色字体,选择“设为星标” 回复”资源“获取更多资源 长话短说。 今天有点晚,因为一些事情耽误了,文章发出来有些晚。 周末的时候和一个知识星球的读者1对1指导了一些应届生的学习路径和简历准备。 因为马上就要秋招了,有些公司的提前批已经启动。2021年已经过半了,各位。时间真是太快了。 正好周末抽了一点时间看之前买的关于面试的电子书,针对校招和社招的面试准备和需要注意的点在啰嗦几句。 校

【硬刚大数据之面试篇】2021年从零到大数据专家面试篇之Spark篇

欢迎关注博客主页:https://blog.csdn.net/u013411339 欢迎点赞、收藏、留言 ,欢迎留言交流! 本文由【王知无】原创,首发于 CSDN博客! 本文首发CSDN论坛,未经过官方和本人允许,严禁转载! 本文是对《【硬刚大数据之学习路线篇】2021年从零到大数据专家的学习指南(全面升级版)》的面试部分补充。 硬刚大数据系列文章链接: 2021年从零到大数据专家的

【硬刚大数据之面试篇】2021年从零到大数据专家面试篇之消息队列篇

📢欢迎关注博客主页:https://blog.csdn.net/u013411339 📢欢迎点赞 👍 收藏 ⭐留言 📝 ,欢迎留言交流! 📢本文由【王知无】原创,首发于 CSDN博客! 📢本文首发CSDN论坛,未经过官方和本人允许,严禁转载! 本文是对《【硬刚大数据之学习路线篇】2021年从零到大数据专家的学习指南(全面升级版)》的面试部分补充。 硬刚大数据系列文章链接:

【硬刚大数据之面试篇】2021年从零到大数据专家面试篇之SparkSQL篇

📢欢迎关注博客主页:https://blog.csdn.net/u013411339 📢欢迎点赞 👍 收藏 ⭐留言 📝 ,欢迎留言交流! 📢本文由【王知无】原创,首发于 CSDN博客! 📢本文首发CSDN论坛,未经过官方和本人允许,严禁转载! 本文是对《【硬刚大数据之学习路线篇】2021年从零到大数据专家的学习指南(全面升级版)》的面试部分补充。 硬刚大数据系列文章链接: