2022 年 25 个软件安全漏洞回顾

每日分享最新,最流行的软件开发知识与最新行业趋势,希望大家能够一键三连,多多支持,跪求关注,点赞,留言。

CWE Top 25 列表反映了最严重的软件安全漏洞。我邀请您阅读更新后的顶级列表。

CWE Top 25 列表反映了最严重的软件安全漏洞。我邀请您阅读更新后的顶级列表,以了解过去一年发生的变化。

我们不仅将 PVS?Studio 分析器定位为用于搜索代码中的错误的工具,而且还定位为静态应用程序安全测试 (SAST) 工具。为了更好地了解趋势和规划诊断规则,没有什么比查看最相关的安全问题的最新列表更好的了。有几个这样的列表,例如,OWASP Top 10、SANS Top 25和CWE Top 25。

一点理论

为了更好地理解上下文,让我们复习一些主题。为此,让我们浏览以下几点:

  • 什么是 CWE,CVE 与它有何不同?
  • 为什么我们需要 CVSS?
  • 什么是 NVD 和 KEV?
  • CWE Top 25 2022 排名如何?
  • 如果您觉得 CWE 精通,您可以放心地跳过本节。否则,如果您不介意这篇文章,我强烈建议您在阅读之前刷新这些要点。以下是 CWE FAQ和CVE FAQ中一些问题的相当自由的解释:

    软件弱点与软件漏洞有何不同?

    弱点是可能导致漏洞的软件实施、设计或架构的缺陷、故障和其他问题。

    漏洞是某人已经发现的错误。攻击者可能会利用这些漏洞来访问系统或 络,破坏服务等。

    什么是 CWE,它与 CVE 有何不同?CVSS 是如何出现的,KEV 是从哪里来的?

  • CWE(Common Weakness Enumeration)是安全缺陷的一般列表。
  • CVE(Common Vulnerabilities and Exposures)是在各种软件中发现的漏洞列表。
  • CVSS(通用漏洞评分系统)是一个数字分数,表示漏洞 (CVE) 的潜在严重性。它基于一组标准化的特征。
  • KEV(Known Exploited Vulnerabilities)是已知被利用漏洞的目录。
  • 为什么我需要了解 CWE?

    今天,开发人员在讨论消除和/或最小化架构、设计、代码和软件实现中的安全缺陷时,使用 CWE 作为主要工具。组织使用 CWE 作为评估软件安全验证工具的标准度量,以及作为识别、预防和最小化负面后果的通用基线标准。

    什么是 CWE 前 25 名?

    CWE Top 25 列出了最危险和最常见的缺陷。这些缺陷很危险,因为有人很容易找到并利用它们。攻击者可以使用它们来破坏应用程序的运行、窃取数据甚至完全接管系统。CWE Top 25 是一个重要的 区资源,可以帮助您了解当前最常见和最危险的安全缺陷。

    什么是编译和排名 CWE 前 25 名列表的算法?

  • 来自 UD 国家脆弱性数据库 (NVD) 的 2020-2021 年数据;
  • 络安全和基础设施安全局 (CISA) 于 2021 年 11 月编制的已知被利用漏洞 (KEV) 目录。
  • CWE 团队研究人员根据View-1003方法处理获得的数据,以降低记录的特异性。例如,CWE-122(基于堆的缓冲区溢出)转换为基本的 CWE-787(越界写入)。CWE 团队还过滤了数据,并从 Top 25 列表中删除了以下项目:

  • 没有 CVSS 分数的 CVE;
  • 描述标记为“REJECT”的 CVE;
  • 未映射到任何 CWE 的 CVE;
  • 标有“CWE-Other”或“NVD-CWE-noinfo”的 CVE。
  • 接下来,研究团队使用自己的公式计算排名顺序。该公式考虑了利用的潜在危险以及缺陷 (CWE) 成为漏洞主要原因的频率。该团队以这种方式制定了公式,将频率和预测的严重性相对于它们的最小值和最大值进行了标准化。为了获得提及频率,该公式计算了 CVE 在 NVD 中引用 CWE 的次数。

    Freq = {count(CWE_X’ ∈ NVD) for each CWE_X’ in NVD}

    Fr(CWE_X) = (count(CWE_X ∈ NVD) – min(Freq)) / (max(Freq) – min(Freq))

    评分公式的另一个重要组成部分是缺陷的严重程度。下面的公式计算它:

    Sv(CWE_X) = (average_CVSS_for_CWE_X – min(CVSS)) / (max(CVSS) – min(CVSS))

    最后,通过将提及频率乘以严重性分数来计算最终分数。

    分数(CWE_X) = Fr(CWE_X) * Sv(CWE_X) * 100

    总的来说,今年的数据分析方法没有太大变化。但明年,CWE 团队正计划进行更重大的改变。这里是其中的一些:

  • 支持生成更专业的榜单,如移动应用Top 25等;
  • 考虑更改用于生成列表的指标,以尽量减少一些偏差;
  • 增强 View-1003 方法;
  • 使用除 View-1003 之外的不同视图执行规范化。
  • 您可以在 CWE Top 25 列表的补充详细信息中找到有关数据准备和分析方法的更多信息。

    今年的抽样规模有多大?

    该数据集包含前两个日历年的总共 37,899 个 CVE。

    前 25 名每年都会更新吗?

    是的,它每年更新一次。有关以前版本的信息,请访问 CWE Top 25存档。

    谁参与了 CWE Top 25 的发展?

    CWE 区包括个人研究人员和众多组织、科学界和政府机构的代表。他们都对消除软件缺陷感兴趣。您可以在“ CWE 区成员”页面上获取 CWE 团队成员列表。

    今天的情况

    下面是 CWE Top 25 2022 列表和 PVS-Studio 诊断规则之间的对应表,按编程语言划分。

    该表显示 PVS-Studio 静态分析仪现在涵盖了 CWE 2022 年前 25 名列表中的68%(25 个中的 17 个) 。去年,覆盖率为52%。过去一年覆盖率的显着提高归功于过去一年发布的大量面向 SAST 的诊断规则 PVS-Studio。

    过去一年 CWE 前 25 名的变化

    最大的升档:

    最大的降档:

    前 25 名中的“新手”:

    最后——从 2022 年 CWE 前 25 名中剔除的缺陷:

    关键点:

  • 前十名保持相当稳定;
  • CWE-787(越界写入)仍然保持领先;
  • CWE-502(Untrusted Data的反序列化)和CWE-862(Missing Authorization)逐年稳步上升到榜首;
  • 今年,CWE-362(Concurrent Execution using Shared Resource with Improper Synchronization (‘Race Condition’))冲入榜首,与去年相比立即上升了 11 位;
  • CWE-306(Missing Authentication for Critical Function)2020年出现,去年暴涨,今年下降;
  • 最大的下跌趋势是 CWE-522(Insufficiently Protected Credentials),一次下跌了 17 个点。
  • 低于顶部

    作为奖励,让我们看看哪些缺陷没有进入 2022 CWE Top 25 并且很可能在明年进入顶部:

    尽管这些缺陷没有达到顶峰,但它们仍然很重要,因为在有利的情况下,它们可能会变成漏洞。

    结论

    我希望你喜欢这篇文章并理解当前的术语。

    幸运的是,静态分析器可以帮助我们对抗潜在的漏洞。也许有几个 CWE 潜入您的代码并即将成为 CVE :)

    声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

    上一篇 2022年10月5日
    下一篇 2022年10月5日

    相关推荐