CWE

普遍的弱点

社区开发的软件和硬件弱点类型清单

2021 CWE Most Important Hardware Weaknesses
CWE Top 25 Most Dangerous Weaknesses
>文件> CWE Mapping Guidance
ID

CVECWE映射指南

致谢:

CWE团队衷心感谢以下小组,他们提供了宝贵的反馈,以改善本文档。名称由组织和个人的名称按字母顺序排列。

巴特尔纪念研究所(Battelle)
Cisco
CVE质量工作组
CWE/CAPEC板
Eldar Marcussen
国家标准技术研究所(NIST)
NVIDIA Corporation
Red Hat, Inc.

观众:

This guidance is intended for vendors and researchers who produce or analyze CVE Records. It is meant to evolve through community feedback as well, so that it can best serve everyone involved in these efforts. If you would like to help improve this document, please reach out to us atcwe@mitre.org

其他资源:


文档版本:1.0(Released 3/25/2021)

目的

本文档的目的是分享有关导航的指导CWE™更好地将新发现的漏洞(即CVE)与各自的基本弱点保持一致的站点。这项指南通过在NIST国家漏洞数据库(NVD)中分析和绘制成千上万的CVE记录的经验来告知该指南,以计算年度CWE年度CWE前25名列表。通过将CVE与最适用的CWE条目保持一致,社区将有更好的位置来减轻或消除其相关的操作风险。

概述 - 什么是CWE?

CWE is a community-developed list of common software and hardware weaknesses that have security ramifications. “Weaknesses” are flaws, faults, bugs, or other errors in software or hardware implementation, code, design, or architecture that if left unaddressed could result in systems, networks, or hardware being vulnerable to attack. The CWE List and associated classification schemes serve as a common language that can be used to identify, categorize, and describe these weaknesses in terms of CWE identifiers (CWEs).

Targeted at both the development and security practitioner communities, the main goal of CWE is to educate software and hardware architects, designers, programmers, etc. on how to eliminate the most common mistakes as early in the Software Development Life Cycle (SDLC) as possible. Ultimately, use of CWE helps prevent the kinds of security vulnerabilities that have plagued the software and hardware industries and place enterprises at risk. This, in return, helps save money in the long run as well as reduce liability that occurs through these flaws.

As mentioned above, CWE focuses on a type of mistake that, in conditions where exploits will succeed, could contribute to the introduction of vulnerabilities within that product. This term applies to mistakes regardless of whether they occur in implementation, design, or other phases of a product lifecycle.

A vulnerability is an occurrence of one or more weaknesses within a product, in which the weakness can be used by a party to cause the product to modify or access unintended data, interrupt proper execution, or perform actions that were not specifically granted to the party who uses the weakness.

CWE是根错误,它可能导致脆弱性(在某些情况下由CVE跟踪),可以由攻击者利用(使用由技术覆盖的技术CAPEC)。

有用的CWE资源和CWE进入结构

重要的是要在研究不同的映射方式之前了解CWE的几个基本要素。清楚地了解这些关键组件将有助于整体映射体验。

词汇表

为了提供一种共同的弱点语言,CWE使用定义明确/众所周知的术语,这些术语源自脆弱性理论,这在以下链接中可以找到:https://cwe.mitre.org/documents/glossary/index.html

CWE团队通过各种活动发现,不同的术语是根据情况及其使用的环境,个人的技能和经验或其他引入主观性的相关事物的意义。为了减少主观偏见,CWE努力遵循适用的术语表中发现的标准定义。建议您熟悉这些条款,以便它们可以最大化您的CWE语料库实用程序。

Common and Widely Used Terms in CWE

以下内容突出了CWE中一些最常见的术语,这些术语是根据CWE,脆弱性理论和行业中的流行而选择的。他们在这里呈现,以减轻围绕其含义的混乱。反过来,这将导致为CVE映射选择准确的CWE。这些是超链接的,可在数字媒体上轻松访问,但也可以在Additional Resources其定义可打印格式。

描述弱点的重要特征的术语:资源信息曝光

Terms to describe behavior qualifiers:不当不正确丢失的

Terms to describe protection mechanisms:验证授权权限Neutralization


关系

CWE为900多个不同的软件以及硬件质量和安全问题提供了弱点信息。使用五种抽象类型的分层系统来提供清晰度和对弱点之间关系的理解。从大多数抽象到最具体的四种定义明确的分层类型。支柱,班级,根据, 和变体

这些抽象类型与CWE中包含的信息类型相关,如不同的维度所述:行为,属性,技术,语言和资源。值得注意的是,第五类类别, is simply a collection of similar weaknesses that do not all share the same combination of the dimensions, so a Category should not be used for mapping. Only Pillars, Classes, Bases, and Variants are appropriate for mapping, and the lowest-level mapping should be performed when possible.

It has been the CWE team’s goal to provide as specific of a mapping as possible based on the available information in their analyses, so it is recommended that you follow the same guideline. Having precise CWE mappings will provide for better-quality data, which will help coalesce community guidance and standards.

Mapping Methodologies

There are different methods one can use in the CWE site to identify appropriate weakness mappings for CVEs. Once you have carefully analyzed the CWE(s) based on the CVE at hand, determine which CWE(s) provide the best match, and why. You should also get another opinion to ensure that the process can be as objective as possible. It has been the CWE team’s experience that different skills and experience can introduce bias in how one perceives the information. Therefore, the CWE team recommends verifying your intended mapping with another staff member with slightly different skills and experience than you.

我们在下面重点介绍了几乎没有常见的映射选项,其中示例使用它们:

CWE在CWE网站的主页上提供了一个搜索功能,如下所示。

您可以搜索任何关键字,已知ID,甚至是一般术语。现场搜索表将在CWE网站上找到与该术语的所有匹配页面,因为所有网站均已索引。

✔要将您的搜索仅限于单个CWE输入页面,请在查询中包含“ Inurl:定义”

假设您有兴趣了解有关跨站点脚本(XSS)的更多信息,或者想找到XSS的CWE ID,以映射到XSS的CVE。这是您可以使用搜索功能获取该信息的过程。

  1. 搜索for “xss” returns the following:
  2. 单击第一个建议会导致CWE-79的页面。通常,如果不是第一个结果,将在前几个结果中标识特定的关键字。请注意,第二个结果突出显示了CWE-725是OWASP XSS的类别,不应用于映射。在我们的情况下,在检查CWE-79时,这是我们看到的一部分。
  3. 快速浏览此页面,在“扩展描述”中揭示了“(“跨站点脚本”)”以及对不同类型的XS的分解。这意味着这是用于学习更多或映射到XSS的正确CWE。

确保将您的“演示过滤器”设置为“完整”,以获取有关此或您正在检查的任何弱点的完整信息。

现在,假设您想了解有关其他XSS相关的CWE的更多信息。在CWE-79页面上的“关系”部分下查看,以查看与XSS相关的CWE,如父母,孩子,Peerof,Canfollow和Canpereceede关系类型所强调的那样。父和子女代表与CWE-79的直接关系,而其他类型可以处于相同水平或导致其他弱点。这是一个外观的示例:

您可以单击链接以打开您感兴趣的CWE,以了解更多信息。

If you’ve exhausted your search and still aren’t finding a weakness you’re looking for, there is a chance that it may not be available due to a potential gap in CWE coverage. Although CWE tries to be comprehensive, we recognize that we’re likely to miss certain areas from time to time. In that case, please reach out tocwe@mitre.org我们将与您合作创建有关该主题的条目。

View-1003方法

View-1003包含“简化已发表漏洞的弱点”。此视图当前以软件为中心,因此,如果您需要映射到硬件弱点,请参考View-1194相关部分。该视图提供了CWE的子集,该CWE涵盖了由CVE映射的最常用的CWE。从CWE 4.4开始,它包括127个不同的CWE,主要是在类和基础级抽象上。该观点故意不包括许多变体级弱点,因为CWE团队的经验只有少数供应商和研究人员喜欢或能够在如此低的水平上进行映射。此外,这种观点本来可以容易被新手用户挖掘。请注意,只要需要提供额外的覆盖范围而不会过度填充,就会更新此视图。

对于View-1003和其他层次视图,您可以访问视图的主页,然后单击“展开全部”选项。这是显示部分视图的屏幕截图:

建议您在此视图中熟悉所有CWE。适度的长度使细读更易于管理,并根据其名称更合理地探索树以寻找潜在的CWE。您可以选择“扩展全部”,或者简单地通过单击“ - 或“+”符号,扩展特定的父组。每个弱点条目都可以单击以直接进入其页面。

要包含每个弱点的摘要,除了名称外,请单击右上方的“显示详细信息”复选框:

Other Useful Hierarchical Views

还有其他三个有用的弱点集合可以用于将漏洞映射到弱点:View-1000,View-699和View-1194。它们具有与View-1003相同的功能,即,您可以“扩展所有”以显示整个层次结构和/或选择“显示详细信息”以包括每个弱点的摘要。

Research View (View-1000)

这种观点捕获了CWE中的所有弱点。它具有深层树结构,从10个高级支柱开始。当您寻找异常的弱点时,它可能特别有用,因为您可以进行自上而下的搜索。

开发人员视图(查看-699)

该视图捕获了针对软件开发人员的弱点子集。根据设计,这种观点只有2个深度。最高级别具有开发人员友好的概念类别(但不要映射到这些类别 - 它们只是为了帮助您导航到适当的条目)。第二级包含基本水平弱点。

硬件设计视图(View-1194)

此视图捕获了针对硬件设计师/建筑师的一部分弱点。与观看699相似,此视图也试图仅为2个级别。顶级具有设计师/架构师友好型概念的类别(但不要映射到这些类别 - 它们只是为了帮助您导航到适当的条目)。第二级包含基础/类级弱点。

Relationship Graph Visualization in PDF Format

对于主要视图,可以以PDF格式获得图形显示。该可视化仅包括CWE名称,但对于快速查看密切相关的问题可能很有用。

这些PDF可在https://cwe.mitre.org/data/pdfs.html

简化已发表漏洞映射的弱点示例(View-1003)

研究查看示例(View-1000)

开发人员查看示例(查看-699)

Hardware Design View Example (View-1194)

关键字刮板

The CWE team has developed a CVE description parsing script as part of the Top 25 analysis and is currently updating that tool. The CWE team was able to identify many keywords in NVD’s CVE descriptions, which made the verification of some of the CVEs much easier. Our hope is to share that with everyone in the near future.

此自动脚本通过最新的CWE XML捆绑包进行搜索,以寻找特定的术语。供应商和研究人员可以创建自己的自定义脚本/工具,以最适合其需求。通常,所有CWE条目均在最新的XML文件中提供,并且组织将以其首选的语言编写脚本以通过特定的关键字来解析。您可以专注于每个弱点条目的“名称”属性,“描述”元素,“替代术语”元素和“ present_entry_name”元素。这些元素将提供可能被搜索的特殊关键字。例如,如果问题涉及“内存损坏”,则当您喂食整个XML文件时,您的程序应返回CWE-787:Out Bounds写作的命中,因为其“替代术语”包括“内存腐败”。如果您使用最初包含在CWE中但稍后更改的术语,则“ preson_entry_name”元素可能会很有用。您不需要将自己限制在这些元素上;您也可以扩展以搜索其他CWE输入元素。您最好了解组织的技术堆栈和其他有关安全性相关信息,因此,使用您的知识,可以创建关注关注的关键字子列表。

提供更多信息 - 请选择其他过滤器。
Page Last Updated:March 25, 2021