CWE

普遍的弱点

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

2021 CWE Most Important Hardware Weaknesses
CWE Top 25 Most Dangerous Weaknesses
>Compatibility> CWE-Compatible Products and Services
ID

Name of Your Organization:

David A. Wheeler

网站:

http://www.dwheeler.com/flawfinder

兼容功能:

Flawfinder

功能主页:

http://www.dwheeler.com/flawfinder
http://sourceforge.net/projects/flawfinder/

General Capability Questions

产品可访问性

Provide a short description of how and where your capability is made available to your customers and the public(required):

Downloadable athttp://www.dwheeler.com/flawfinder或者http://sourceforge.net/projects/flawfinder/。较旧版本的缺陷版本用于Cygwin,各种Linux分布,MACOS X和 *BSD;预计他们将把包裹更新为1.28版或更高版本。

映射问题

地图货币指示

描述您的功能指示最新的CWE内容用于创建或更新其映射的方法(required):

手册(“人”)页面,“共同弱点”部分表示用于创建映射的CWE内容。目前,它记录了CWE版本2.7(2014年6月23日发布)用于映射。

地图货币更新方法

表示您计划更新映射以反映当前的CWE内容的频率,并描述您在将其映射到存储库时与CWE内容保持合理最新的方法(recommended):

缺点工具图到成熟的CWE条目,因此我希望CWE的那些部分不会改变或很少发生变化。

The current CWE mappings embedded in the tool select the most specific CWE the tool can determine. In theory, most reports could theoretically be mapped to CWE-676 (Use of Potentially Dangerous Function), but such a mapping would not be useful. Thus, more specific mappings were preferred where one could be found. Flawfinder is a lexical analysis tool, so it is typically not possible for it to map to extremely specific CWEs. As a result, it is unlikely to need much updating to maintain currency in CWE mappings. It simply doesn’t have enough information to refine to a detailed CWE level that CWE changes might affect.

如果建议进行改进,请告诉我。CWE内容更新引起的错误,简化或更改将被视为错误,并将以这种方式进行跟踪和解决。通常通过Flawfinder问题跟踪器跟踪错误,而在其邮件列表中讨论了更广泛的问题,这两者都可以通过http://sourceforge.net/projects/flawfinder

文档问题

CWE AND COMPATIBILITY DOCUMENTATION

提供您的文档描述CWE和CWE兼容性的副本或指示的位置(required):

手册(“人页”)部分“共同弱点枚举(CWE)”提供了有关Flawfinder CWE支持的信息。看http://www.dwheeler.com/flawfinder/flawfinder。pdf

使用CWE标识符查找元素的文档

提供您的文档的副本或指示到其位置,描述了您的客户如何使用CWE标识符在您的功能存储库中找到单个安全元素的特定详细信息(必需的):

手册(“人页”)部分“共同弱点枚举(CWE)”提供了有关Flawfinder CWE支持的信息。看http://www.dwheeler.com/flawfinder/flawfinder。pdf。它列出了可以通过工具报告的CWE标识符。如果该工具通过使用CWE映射检测到潜在的安全漏洞(a命中”),则将CWE标识符报告为“ CWE-number”。要查看对CWE标识符的所有条件的特定映射,请在其Python 2源代码中搜索“ CWE-”,包括下载中,也可以在http://www.dwheeler.com/flawfinder/flawfinder

DOCUMENTATION OF FINDING CWE IDENTIFIERS USING ELEMENTS

提供您的文档描述用户将遵循的过程的副本或指示,以查找与您功能存储库中个人安全元素相关的CWE标识符(required):

手册(“人页”)部分“共同弱点枚举(CWE)”提供了有关Flawfinder CWE支持的信息。看http://www.dwheeler.com/flawfinder/flawfinder。pdf。如果您只想查看CWE安全元素的列表(通常是函数名称的令牌),以及可能由该元素报告的默认CWE,请使用“选项”中所述的“ - sistrules”选项。要查看CWE标识符的函数名称的特定映射,请在其Python 2源代码中搜索该函数的名称,可在http://www.dwheeler.com/flawfinder/flawfinder;这显示了函数名称到CWE的默认映射以及精炼函数的名称。在某些情况下,精炼函数可以选择更好的CWE匹配,因此您需要检查那里以确定给定模式(函数名称)的所有可能匹配。

与CWE相关材料的文档索引

如果您的文档包括索引,请提供您在索引中“ CWE”下列出的项目和资源的副本。或者,提供指示这些“ CWE”项目在您的网站上发布的位置(recommended):

手册(“人页”)部分“共同弱点枚举(CWE)”提供了有关Flawfinder CWE支持的信息。看http://www.dwheeler.com/flawfinder/flawfinder。pdf。下面的许多信息是此材料的摘要或提取。

特定于类型的功能问题

工具问题

FINDING TASKS USING CWE IDENTIFIERS

Give detailed examples and explanations of how a user can locate tasks in the tool by looking for their associated CWE identifier(required):

该工具仅支持一个任务,检查源代码以报告可能的漏洞的“命中”。它可以重载以前的结果,但是即使到那时,它也只是在将其停止以支持这一任务的地方接收。该工具总是在有已知匹配的情况下报告CWE标识符。因此,它可以空虚地满足这一要求;对于任何CWE标识符,只有任务要选择。用户可以选择一个CWE标识符的子集,如下所述。

使用报告中的元素查找CWE标识符

给出详细的示例和解释,以说明如何确定单个安全元素的报告,该工具允许用户确定报告中各个安全元素的关联的CWE标识符(required):

Flawfinder reports "hits", a match between the evaluated source code and a pattern (signature) that suggests a potential vulnerability. Each hit report includes one or more CWE identifiers within parentheses when there is a known mapping to a CWE. These patterns are typically the name of a function, but can also take other information into account (e.g., the text in the parameters of a function). These patterns of potential vulnerabilities are the "elements" as referred to in this document. Here are just a few examples, extracted from a sample Flawfinder result:

test.c:32:[5](缓冲区)获取:不检查缓冲区溢出(CWE--
120)。改用fgets()。

gets(f);

test.c:56:[5](缓冲区)strncat:易于错误地使用(例如,
错误地计算正确的最大尺寸要添加)(CWE-1220)。
考虑strcat_s,strlcat或自动调整字符串大小。风险是
high; the length parameter appears to be a constant, instead of
computing the number of characters left.

strncat(d,s,sizeof(d));/*滥用 - 应该标记为
riskier. */

test.c:60: [5] (buffer) MultiByteToWideChar: Requires maximum length in CHARACTERS, not bytes (CWE-120). Risk is high, it appears that the size
is given as bytes, but the function requires size as characters.

MultiByteToWideChar(CP_ACP,0,szName,-
1,wszUserName,sizeof(wszUserName));

test.c:73:[5](MISC)SetSecurityDescriptordAcl:切勿创建null
ACL;攻击者可以将其设置给所有人(拒绝所有访问),这将
甚至禁止管理员访问(CWE-732)。

SetSecurityDescriptorDacl(&sd,TRUE,NULL,FALSE);

test.c:38:[4](格式)syslog:如果Syslog的格式字符串可以是
受攻击者的影响,可以被利用(CWE-134)。用一个
syslog的恒定格式字符串。

syslog(log_err,tactioner_string);

获取声称的CWE标识符覆盖范围

给出详细的示例和解释,说明用户如何获得所有者声称该工具有效定位软件的所有CWE标识符的列表(required):

手册(“人页”)部分“共同弱点枚举(CWE)”列出了该工具可以报告的所有CWE;看:http://www.dwheeler.com/flawfinder/flawfinder。pdf。人们对此列表是正确的信心,因为此列表是通过运行程序“ cwe.l”创建的(它是自动创建的,而不是通过手工评估)。与几乎所有工具一样,作者并没有声称缺点工具可以找到所有特定的CWES的情况,仅仅是有效地找到它使用并将这些模式与CWE匹配的特定模式(签名)。

获取与任务相关的CWE标识符列表

给出详细的示例和解释,说明用户如何获得与工具任务相关联的所有CWE标识符的列表(recommended):

该工具仅支持一个任务。手册(“人页”)部分“常见弱点枚举(CWE)”列出了该工具可以报告的所有CWE。由于只有一个任务,因此任何这些标识符都与一个任务相关联。如果目标是仅报告CWES的子集,则可以使用“ -regex” aka“ -e”选项来实现,例如,“ flawfinder –e cwe-1220”只会报告CWE-120的命中。

使用CWE标识符列表选择任务

Describe the steps and format that a user would use to select a set of tasks by providing a file with a list of CWE identifiers(recommended):

该工具仅支持一个任务。手册(“人页”)部分“常见弱点枚举(CWE)”列出了该工具可以报告的所有CWE。由于只有一个任务,因此任何这些标识符都与一个任务相关联。

如果目标是仅报告文件中列出的CWE的子集,则可以使用“ -regex” aka“ -e”选项在类似Unix的系统上实现。该文件必须采用正则表达式格式。例如,“ Flawfinder - E $(CAT File1)”将仅报告与“ File1”中模式匹配的命中;如果File1包含“ CWE-1220 | CWE-126”,则只会报告与这些CWE匹配的命中。

使用单个CWE标识符选择任务

Describe the steps that a user would follow to browse, select, and deselect a set of tasks for the tool by using individual CWE identifiers(recommended):

该工具仅支持一个任务。手册(“人页”)部分“常见弱点枚举(CWE)”列出了该工具可以报告的所有CWE。由于只有一个任务,因此任何这些标识符都与一个任务相关联。

如果目标是仅报告文件中列出的CWE的子集,则可以使用“ -regex” aka“ -e”选项在类似Unix的系统上实现。该文件必须采用正则表达式格式。例如,“ Flawfinder - E $(CAT File1)”将仅报告与“ File1”中模式匹配的命中;如果File1包含“ CWE-1220 | CWE-126”,则只会报告与这些CWE匹配的命中。

请求的CWE标识符的非支持通知

提供有关该工具如何通知用户的说明,无法执行与所选CWE标识符关联的任务(recommended):

该工具仅支持一个任务,因此没有突出一个任务与另一个任务之间的区别的机制。此外,该工具没有自动报告给定CWE标识符没有模式(签名)的机制。但是,手册(“人页”)部分“常见弱点枚举(CWE)”列出了该工具可以报告的所有CWE,因此希望查看是否可以找到CWE的用户可以快速咨询该CWE。该列表不长,并且已经进行了分类,因此咨询很微不足道。请注意,仅建议使用,而不是必需。

Media Questions

电子文档格式信息

Provide details about the different electronic document formats that you provide and describe how they can be searched for specific CWE-related text(required):

主要文档是“人页”,这是一种文本格式文档,可以通过查找“ CWE-NUMBER”来搜索。主页(以PDF格式更易于阅读)中的“共同弱点”部分列出了可以报告的完整CWE。

该工具在报告时从根本上支持两种格式:“文本”和“ html”;各种选择提供了对其格式的更好控制。在这两种情况下,您都可以在事后搜索正则表达模式“ CWE-number”以查找特定相关文本。尤其是文本格式可以通过“ GREP”传递以搜索特定的CWE标识符(只需在“ CWE-NUMBER”上匹配)。此外,“ -regex”或“ -e”选项允许用户选择要报告的CWE;该工具相当快,因此在许多情况下,用户更有可能简单地重新运行该工具,而不是搜索或过滤特定的CWE标识符。

ELECTRONIC DOCUMENT LISTING OF CWE IDENTIFIERS

如果功能的标准电子文档之一仅通过其短名称或标题列出安全元素提供示例文档,以说明如何为每个单独的安全元素列出相关的CWE标识符(required):

在报告中,每个具有CWE映射的“点击”直接报告CWE标识符为“ CWE-NUMBER”,以及对问题的一般说明。不识别特定CWE标识符的用户可以咨询MAN页面“共同弱点枚举(CWE)”,该部分给出了每个CWE标识符的全名。由于用户立即使用CWE标识符呈现,而无需进行其他一些映射,因此他们可以立即转到cwe.mitre.org或其他来源以了解有关该CWE的更多信息。

CWE标识符的电子文档元素

Provide example documents that demonstrate the mapping from the capability’s individual elements to the respective CWE identifier(s)(recommended):

用户通常使用FlawFinder检查源代码以生成电子报告,并且Flawfinder直接报告了这些报告中的CWE映射(如果可用)。因此,用户不必向CWE标识符咨询从报告的单独映射;它直接提供给他们。此外,如果用户要求以HTML格式提出报告,则CWE标识符在MITER上具有指向其定义的超文本链接。

分布中包含的缺点源代码将映射从搜索元素到相应的CWE标识符的映射完全记录。它是一个python文件。“ C_RULES”数据集定义了大多数规则,参考可能会进一步改进的函数。这里有一些例子:

“获取| _getts”:
(正常,5,“不检查缓冲区溢出(CWE-12)”,
“使用fgets()代替”,“ buffer”,“”,{'input':1}),
。。。
#使用DES的OpenSSL EVP调用。
"EVP_des_ecb|EVP_des_cbc|EVP_des_cfb|EVP_des_ofb|EVP_desx_cbc":
(normal, 4,
"DES only supports a 56-bit keysize, which is too small given today's
computers (CWE-327)",
“使用更大的无专利加密算法”
keysize, " +
"such as 3DES or AES",
“加密”,“”,{}),

Graphical User Interface (GUI) Questions

通过GUI 使用CWE标识符查找元素

给出详细的示例和解释GUI如何为用户提供“查找”或“搜索”功能,以通过寻找其关联的CWE标识符来识别您的功能元素(required):

FlawFinder没有通常使用该术语的“图形用户界面”(GUI)。它具有命令行接口(CLI)。大概这个问题实际上是关于用户界面的,因此以下答案适用于用户界面。

该工具仅支持一个任务,因此无需“搜索”该工具执行的不同任务。该报告始终包含带有相关文档元素的CWE标识符(如果可用的地方),因此CWE标识符自动可用,并且不需要单独的步骤即可找到它们。用户可以通过在CWE标识符上使用“ -egex”或“ -e”来生成报告,该报告仅报告与特定CWE(而不是所有CWES)匹配,例如,“ flawfinder -regex cwe-1020”。这些将是相关文档元素的子集,我认为这就是这个问题的含义。

如果用户实际上想使用CWE来找到工具元素,而不是文档元素,则可以在源代码中搜索CWE(只需搜索“ CWE-NUMBER”)。但是,我认为这不是这个问题的目的。

GUI元素到CWE标识符映射

简要描述如何为单个安全元素列出相关的CWE标识符,或讨论用户如何使用CWE标识符和功能元素之间的映射,还描述了映射的格式(required):

该工具仅支持一个任务,因此无需将用户界面元素映射到CWE标识符,以适用于该工具执行的不同任务。该报告始终包含带有相关文档元素的CWE标识符(如果可用的地方),因此CWE标识符自动可用,并且不需要单独的步骤即可找到它们。因此,映射是空置的。它总是执行相同的任务,并且始终报告CWE标识符。

GUI导出电子文档格式信息

Provide details about the different electronic document formats that you provide for exporting or accessing CWE-related data and describe how they can be searched for specific CWE-related text(recommended):

该工具在报告时从根本上支持两种格式:“文本”和“ html”;各种选择提供了对其格式的更好控制。在这两种情况下,您都可以在事后搜索“ CWE-NUMBER”模式以查找特定相关文本。尤其是文本格式可以通过“ GREP”来搜索特定的CWE标识符(只需在“ CWE-NUMBER”上匹配)。此外,“ -regex”或“ -e”选项允许用户选择要报告的CWE;该工具相当快,因此在许多情况下,用户更有可能简单地重新运行该工具,而不是搜索或过滤特定的CWE标识符。

Questions for Signature

兼容性

拥有授权的个人标志和日期以下兼容性声明(required):

“作为我组织的授权代表,我同意我们将遵守所有强制性的CWE兼容性要求以及适合我们特定类型能力的所有其他强制性CWE兼容性要求。”

Addendum: I am representing myself in these statements, and not my employer. I cannot promise to meet any changed set of requirements that I have not seen, so this agreement only applies to the current requirements as I understand them. I expect to retain CWE compatibility as described in this document (CWE Searchable, CWE Output, Mapping, CWE Documentation, and CWE Coverage), but anything can happen. Therefore, I retain the right to drop CWE compatibility in this tool in the future, but if I choose to do so, I promise to attempt to alert MITRE of this decision and remove any relevant CWE compatibility claims from the website.

Name: David A. Wheeler

标题:作者

STATEMENT OF ACCURACY

拥有授权的个人标志和日期,以下准确性声明(recommended):

“作为我组织的授权代表,我同意我们将遵守所有强制性的CWE兼容性要求以及适合我们特定类型能力的所有其他强制性CWE兼容性要求。”

附录:如果您相信有错误,请与我联系。

Name: David A. Wheeler

标题:作者

关于falsepitions和false-sengatives 和/或的声明

FOR TOOLS AND SERVICES ONLY — Have an authorized individual sign and date the following statement about your tools efficiency in identification of security elements(required):

“作为我组织的授权代表,我同意我们将遵守所有强制性的CWE兼容性要求以及适合我们特定类型能力的所有其他强制性CWE兼容性要求。”

注意:在这种情况下,安全元素是签名(又称模式)。在Flawfinder中,签名是预定义的词汇令牌(通常是函数的名称),可能会通过其他信息(例如其参数)进行完善。当Flawfinder检测到正在分析的源代码中的签名匹配时,就会发生“事件”。当Flawfinder检测到签名匹配时,它还警告签名可能显示的可能漏洞。像大多数工具一样,签名匹配并不能保证存在脆弱性。确实,由于缺点是一种简单的词汇工具,因此比更复杂的(更复杂)工具更受假阳性的影响。但是,缺点通常正确地报告了此处定义的安全元素的检测。

Name: David A. Wheeler

标题:作者

提供更多信息 - 请选择其他过滤器。
Page Last Updated:April 02, 2018