乐趣区

关于安全:CWE发布2021年最危险的25种软件缺陷

摘要:CWE 最危险的 25 种软件缺陷,是 NVD 过来两年中遇到的最常见和影响最大的问题批示性的列表。CWE Top25 能够帮忙开发人员、测试人员和用户,以及项目经理、平安钻研人员和教育工作者深刻理解最重大和以后的安全漏洞。

本文分享自华为云社区《CWE 公布 2021 年最危险的 25 种软件缺陷》,作者:Uncle_Tom。

1. CWE 4.5 公布

7 月 20 日,CWE 公布了往年的第二个版本 CWE 4.5 版本。相比 CWE 4.4, 这次新增 4 个缺点和 1 个视图,还对缺点的名称、形容和关系等做了 139 处重要改变。

次要的改变有:

  • 对不再应用的 CWE 编号,在 CWE 的名称前加上了“DEPRECATED:”。这样使用者能够不必再看状态,就能够晓得这个 CWE 编号曾经停止使用了;

举例:

  • 记录 CWE 变更记录的节点“Content_History”,扩大到了顶层节点 Views, Categories, 和 Weaknesses。这样能够分明的看到每个节点在 CWE 版本演变过程中的变动状况。对于 CWE 节点的介绍能够参考《话说 CWE 4.2 的新视图》;
  • 语言枚举(LanguageNameEnumeration)的语言中,减少了 Rust,这样在利用平台(Applicable_Platform)和样例(Demonstrative_Example)节点就减少了 Rust 语言。目前 CWE 枚举的语言有 29 中之多,基本上涵盖了咱们业界的次要开发语言。从这个变动也能够看到 Rust 语言在业界的利用越来越多了;
<xs:simpleType name="LanguageNameEnumeration">
        <xs:annotation>
            <xs:documentation>The LanguageNameEnumeration simple type contains a list of values corresponding to different source code languages.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="Ada"/>
            <xs:enumeration value="ASP"/>
            <xs:enumeration value="ASP.NET"/>
            <xs:enumeration value="Basic"/>
            <xs:enumeration value="C"/>
            <xs:enumeration value="C++"/>
            <xs:enumeration value="C#"/>
            <xs:enumeration value="COBOL"/>
            <xs:enumeration value="Fortran"/>
            <xs:enumeration value="F#"/>
            <xs:enumeration value="Go"/>
            <xs:enumeration value="HTML"/>
            <xs:enumeration value="Java"/>
            <xs:enumeration value="JavaScript"/>
            <xs:enumeration value="JSP"/>
            <xs:enumeration value="Objective-C"/>
            <xs:enumeration value="Pascal"/>
            <xs:enumeration value="Perl"/>
            <xs:enumeration value="PHP"/>
            <xs:enumeration value="Python"/>
            <xs:enumeration value="Ruby"/>
            <xs:enumeration value="Rust"/>
            <xs:enumeration value="Shell"/>
            <xs:enumeration value="SQL"/>
            <xs:enumeration value="Swift"/>
            <xs:enumeration value="VB.NET"/>
            <xs:enumeration value="Verilog"/>
            <xs:enumeration value="VHDL"/>
            <xs:enumeration value="XML"/>
            <xs:enumeration value="Other"/>
        </xs:restriction>
    </xs:simpleType>
  • 减少了图像(<img>)节点, 这样能够 CWE 中通过图片援用来更好的对问题进行形容;

例如:CWE-1339 Insufficient Precision or Accuracy of a Real Number 在阐明 Jean-Michel Muller 实数精度计算问题时,通过图的形式展现数据的变动,让人更容易了解问题。

  • 新增的四个缺点节点是:

    • CWE-1335: Incorrect Bitwise Shift of Integer
    • CWE-1336: Improper Neutralization of Special Elements Used in a Template Engine
    • CWE-1339: Insufficient Precision or Accuracy of a Real Number
    • CWE-1351: Improper Handling of Hardware Behavior in Exceptionally Cold Environments
  • 新增的视图是:

    • CWE-1337: Weaknesses in the 2021 CWE Top 25 Most Dangerous Software Weaknesses

上面咱们对平安人员最关怀的 CWE-1337 2021 年 CWE 最危险的 25 种软件缺陷做个重点介绍。

2. 2021 年最危险的 25 种软件缺陷

2021 年 CWE 最危险的 25 种软件缺陷,是前两个日历年(2019-2020)中遇到的最常见和影响最大的问题批示性的列表。这些缺点通常很容易被发现和利用,并且能够让攻击者齐全接管零碎、窃取数据或阻止利用程序运行。CWE Top 25 能够帮忙开发人员、测试人员和用户,以及项目经理、平安钻研人员和教育工作者深刻理解最重大和以后的安全漏洞。

这个数据表的编写,利用了美国国家标准与技术研究院 (NIST) 的国家破绽数据库 (NVD) 中的常见破绽和披露 (CVE) 数据以及通用破绽评分零碎 (CVSS) 评定的分数与每个 CVE 记录相关联, 依据呈现频率和重大水平对每个弱点进行评分。报告对了 2019-2020 NVD 收录的 32500 个 CVE 破绽进行了评分和计算,在归一化后失去了缺点的排名。排名在算法上思考到了呈现频率 (prevalence) 和危害 (severity) 两个参数, 确保呈现频率低, 危害小的缺点, 不容易呈现在排行榜中, 而是让频率高, 危害高的缺点呈现在排行榜中。

  • 具体的算法详见《话说 CWE 4.2 的新视图》

2.1. 2021 年 CWE 最危险的 25 种软件缺陷

这次的 CWE TOP25 是 CWE 自 2019 年后,间断第三次公布 TOP25 数据。咱们能够从每年 TOP25 的变动中看到攻防单方在一些重要问题上的抢夺,这样有助于作为防守方的咱们提前对一些重点高危破绽进行提前的技术储备和应急响应措施的筹备。

  • CWE 2021 TOP25 的次要数据

2.2. CWE TOP25 2021 vs 2020

CWE TOP25 2021 和 2020 相比,一些次要的变动较大的数据。

2.2.1. 变动最大的缺点

  • CWE-276 默认权限不正确(Incorrect Default Permissions): 从 41 到 19
  • CWE-306 要害性能的认证机制缺失(Missing Authentication for Critical Function): 从 24 到 11
  • CWE-502 不可信数据反序列化(Deserialization of Untrusted Data): 从 21 到 13
  • CWE-862 受权机制缺失(Missing Authorization): 从 25 到 18
  • CWE-77 在命令中应用的非凡元素本义解决不失当(命令注入)(Improper Neutralization of Special Elements used in a Command (‘Command Injection’)): 从 31 到 25

2.2.2. 降落最快的前 5 名缺点

  • CWE-200 将敏感信息裸露给未经受权的行为者(Exposure of Sensitive Information to an Unauthorized Actor): 从 7 到 20
  • CWE-119 内存缓冲区边界内操作的限度不失当(Improper Restriction of Operations within the Bounds of a Memory Buffer): 从 5 到 17
  • CWE-94 对生成代码的管制不失当(代码注入)(Improper Control of Generation of Code (‘Code Injection’)): 从 17 到 28
  • CWE-269 特权治理不失当(Improper Privilege Management): 从 22 到 29
  • CWE-732 要害资源的权限调配不正确(Incorrect Permission Assignment for Critical Resource): 从 16 到 22

2.2.3. 新进入前 25 的缺点

  • CWE-276 默认权限不正确(Incorrect Default Permissions): 从 41 到 19
  • CWE-918 服务器端申请伪造(SSRF)(Server-Side Request Forgery (SSRF)): 从 27 到 24
  • CWE-77 在命令中应用的非凡元素本义解决不失当(命令注入)(Improper Neutralization of Special Elements used in a Command (‘Command Injection’)): 从 31 到 25

2.2.4. 跌出前 25 的缺点

  • CWE-400 未加管制的资源耗费(资源穷尽)(Uncontrolled Resource Consumption): 从 23 到 27
  • CWE-94 对生成代码的管制不失当(代码注入)(Improper Control of Generation of Code (‘Code Injection’)): 从 17 到 28
  • CWE-269 特权治理不失当(Improper Privilege Management): 从 22 到 29

3. 论断

  • 在明天魔道争锋的时代,CWE Top25 能够帮忙咱们进一步的思考魔的攻打方向和防守的道;
  • 缓冲区溢出、输出校验、注入类问题仍是业界的次要平安问题,须要继续的关注;
  • 对于隐衷保护意识的晋升,使敏感信息泄露失去肯定水平的管制;
  • 权限管制是平安攻防抢夺的焦点,除了特权的治理,还要特地关注要害性能和默认权限的设置;
  • 在信息保留和传输中,要留神不可信数据的反序列化问题。

4. 参考

https://cwe.mitre.org/
https://cwe.mitre.org/data/re…

点击关注,第一工夫理解华为云陈腐技术~

退出移动版