CWE

常见的弱点枚举

一个由社区开发的软件&硬件缺陷类型的列表

2021 CWE最重要的硬件的弱点
CWE最危险的弱点
>CWE列表> CWE -个人字典定义(4.10)
ID

cwe - 676:潜在危险函数的使用

弱点ID: 676
抽象:基地
结构:简单的
视图定制的信息:
+描述
产品调用一个有潜在危险的函数,可以引入一个漏洞,如果使用不正确,但是函数也可以安全使用。
+的关系
部分帮助此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
+相关的视图”研究概念”(cwe - 1000)
自然 类型 ID 的名字
ChildOf 类类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。 1177年 禁止使用代码
ParentOf 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。 785年 使用路径操作函数没有Maximum-sized缓冲区
部分帮助此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
+相关观点“软件开发”(cwe - 699)
自然 类型 ID 的名字
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 1228年 API /功能错误
+模式的介绍
部分帮助不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
阶段 请注意
架构和设计
实现
+适用的平台
部分帮助该清单显示了给定的弱点可以可能的地区出现。这些可能是为特定命名的语言,操作系统,架构、模式、技术、或一个类这样的平台。列出的平台是随着频率的出现疲态实例。

语言

C患病率(待定)

c++患病率(待定)

+常见的后果
部分帮助这个表指定不同的个人相关后果的弱点。标识应用程序范围的安全领域侵犯,而影响了负面的技术影响,如果敌人成功利用这个弱点。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能会有高可能性,缺点将被利用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 影响 可能性
其他

技术的影响:不同的上下文;质量退化;意想不到的状态

如果函数是使用不当,就可能导致安全问题。
+利用的可能性
+示范例子

示例1

下面的代码试图创建一个本地副本的缓冲区数据执行一些操作。

(坏的代码)
例如语言:C
空白manipulate_string (char *字符串){
char buf [24];
拷贝字符串(字符串缓冲区);
}

然而,程序员并不确保数据指向字符串的大小适合本地缓冲和复制数据的潜在危险strcpy()函数。这可能会导致缓冲区溢出条件如果攻击者可以影响的内容字符串参数。

+观察到的例子
参考 描述
图书馆有多个缓冲区溢位使用sprintf()和strcpy ()
缓冲区溢位使用strcat ()
缓冲区溢位使用strcpy ()
缓冲区溢位使用strcpy ()
脆弱的使用strcpy()改为使用安全strlcpy ()
缓冲区溢位使用strcpy ()
+潜在的缓解措施

阶段:构建和编译;实现

识别一个禁止列表API函数和禁止开发人员使用这些功能,提供更安全的替代方案。在某些情况下,自动代码分析工具或编译器可以指示点使用禁止功能,比如“禁止。从微软的SDL h”包含文件。(ref - 554][REF-7]
+弱点Ordinalities
Ordinality 描述
(其他弱点的弱点存在独立的)
间接
(缺点是一个质量问题,可能会间接更容易引入的安全相关的弱点或使他们更难检测)
+检测方法

自动静态分析——二进制或字节码

根据飙升,以下检测技术可能是有用的:

高成本效益:
  • 字节码的弱点分析,包括反汇编程序+源代码弱点分析
  • 二进制弱点分析,包括反汇编程序+源代码弱点分析
成本有效的部分报道:
  • 二进制字节码质量分析
  • 二进制/字节码简单器-字符串,精灵读者等。

有效性:高

人工静态分析——二进制或字节码

根据飙升,以下检测技术可能是有用的:

成本有效的部分报道:
  • 二进制/字节码反汇编程序,然后使用手动分析缺陷和异常

有效性:飙升部分

动态分析与人工解释结果

根据飙升,以下检测技术可能是有用的:

高成本效益:
  • 调试器
成本有效的部分报道:
  • 监控虚拟环境——在沙箱中运行潜在的恶意代码/包装/虚拟机,看看它任何可疑的

有效性:高

人工静态分析源代码

根据飙升,以下检测技术可能是有用的:

高成本效益:
  • 手工源代码审查(不检查)
成本有效的部分报道:
  • 关注人工抽查,手动分析来源

有效性:高

自动静态分析源代码

根据飙升,以下检测技术可能是有用的:

高成本效益:
  • 源代码缺陷分析仪
  • Context-configured源代码分析器
成本有效的部分报道:
  • 警告标志
  • 源代码质量分析仪

有效性:高

自动静态分析

根据飙升,以下检测技术可能是有用的:

成本有效的部分报道:
  • 来源分析

有效性:飙升部分

体系结构或设计审查

根据飙升,以下检测技术可能是有用的:

高成本效益:
  • 正式的方法/ Correct-By-Construction
  • 检验(IEEE 1028标准)(适用于需求、设计、源代码,等等)。

有效性:高

+会员资格
部分帮助这MemberOf关系表显示额外CWE类别和视图引用这个弱点作为成员。这些信息通常是有用的在理解一个弱点符合外部信息源的上下文中。
自然 类型 ID 的名字
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 738年 CERT C安全编码标准(2008)第五章-整数(INT)
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 743年 CERT C安全编码标准(2008)第十章-输入输出(FIO)
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 746年 CERT C安全编码标准(2008)第十三章-错误处理(ERR)
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 865年 2011年前25 -资源管理风险
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 872年 CERT c++安全编码部分04 -整数(INT)
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 877年 CERT c++安全编码部分09 -输入输出(FIO)
MemberOf 视图视图——CWE条目的一个子集,它提供了一种检查CWE的内容。两个主要视图结构片(列表)和图(包含条目之间的关系)。 884年 CWE横截面
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 1001年 SFP二级集群:使用不当的API
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 1161年 07年SEI CERT C编码标准,指导方针。字符和字符串(STR)
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 1165年 SEI CERT 10 C编码标准指导方针。环境(ENV)
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 1167年 SEI CERT 12 C编码标准指导方针。错误处理(ERR)
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 1169年 SEI CERT 14 C编码标准指导方针。并发性(CON)
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 1170年 SEI CERT 48 C编码标准指导方针。杂项(MSC)
+笔记

的关系

这个弱点是不同的cwe - 242(使用固有危险的函数)。cwe - 242覆盖函数的重大安全问题,他们不能保证是安全的。一些功能,如果使用得当,不直接构成安全风险,但可以引入一个弱点如果不正确。这些被认为是潜在的危险。一个著名的例子是strcpy()函数。当提供一个目的地缓冲区大于其来源,strcpy()不会溢出。然而,它是如此经常被滥用,一些开发人员完全禁止strcpy ()。
+分类法映射
映射分类名称 节点ID 适合 映射节点名
7有害的王国 危险的功能
CERT C安全编码 CON33-C CWE更抽象 使用库函数时避免竞态条件
CERT C安全编码 ENV33-C CWE更抽象 不调用系统()
CERT C安全编码 ERR07-C 喜欢功能不支持错误检查等效函数
CERT C安全编码 ERR34-C CWE更抽象 检测错误时将一个字符串转换为一个数字
CERT C安全编码 FIO01-C 小心使用函数,使用文件名来识别
CERT C安全编码 MSC30-C CWE更抽象 不要使用兰德()函数生成伪随机数
CERT C安全编码 STR31-C 不精确的 保证存储字符串为字符数据有足够的空间和零终结者
软件故障模式 SFP3 使用不当的API
+引用
卡特里娜REF-6 Tsipenyuk,布莱恩象棋和加里·麦克格劳博士。“七有害的王国:分类软件安全错误”。NIST研讨会软件安全保障技术和度量工具。NIST的。2005-11-07。<https://samate.nist.gov/SSATTM_Content/papers/Seven%20Pernicious%20Kingdoms%20-%20Taxonomy%20of%20Sw%20Security%20Errors%20-%20Tsipenyuk%20-%20Chess%20-%20McGraw.pdf>。
(ref - 554)迈克尔·霍华德。“安全开发生命周期(SDL)禁止函数调用。<http://msdn.microsoft.com/en-us/library/bb288454.aspx>。
[REF-7]大卫迈克尔·霍华德和勒布朗。编写安全代码。第五章,156页,160年“安全字符串处理”。第二版。微软出版社。2002-12-04。<https://www.microsoftpressstore.com/store/writing -安全-代码- 9780735617223>。
(ref - 62)马克·多德约翰麦克唐纳和贾斯汀Schuh。“软件安全评估的艺术”。第八章,“C字符串处理”,388页。1版。艾迪生卫斯理》2006。
+内容的历史
+提交
提交日期 提交者 组织
2008-04-11 7有害的王国
+修改
修改日期 修饰符 组织
2008-07-01 肖恩Eidemiller Cigital
添加/更新示范例子
2008-07-01 Eric Dalci Cigital
更新Potential_Mitigations Time_of_Introduction
2008-09-08 CWE内容团队 主教法冠
更新Applicable_Platforms、人际关系、Other_Notes Taxonomy_Mappings Weakness_Ordinalities
2008-11-24 CWE内容团队 主教法冠
更新的关系,Taxonomy_Mappings
2009-07-27 CWE内容团队 主教法冠
更新的关系
2010-02-16 CWE内容团队 主教法冠
更新Demonstrative_Examples Other_Notes、引用Relationship_Notes
2011-06-01 CWE内容团队 主教法冠
更新Common_Consequences
2011-06-27 CWE内容团队 主教法冠
更新Common_Consequences、Observed_Examples Potential_Mitigations、引用关系
2011-09-13 CWE内容团队 主教法冠
更新Potential_Mitigations、关系、Taxonomy_Mappings
2012-05-11 CWE内容团队 主教法冠
更新引用,Related_Attack_Patterns、关系、Weakness_Ordinalities
2014-07-30 CWE内容团队 主教法冠
更新Detection_Factors、关系、Taxonomy_Mappings
2017-05-03 CWE内容团队 主教法冠
更新Related_Attack_Patterns
2017-11-08 CWE内容团队 主教法冠
更新Causal_Nature、引用关系,Taxonomy_Mappings
2018-03-27 CWE内容团队 主教法冠
更新的引用
2019-01-03 CWE内容团队 主教法冠
更新的关系,Weakness_Ordinalities
2020-02-24 CWE内容团队 主教法冠
更新Detection_Factors、引用关系
2020-12-10 CWE内容团队 主教法冠
更新Demonstrative_Examples
2021-03-15 CWE内容团队 主教法冠
更新Demonstrative_Examples
2023-01-31 CWE内容团队 主教法冠
更新描述
更多的信息是可用的,请选择一个不同的过滤器。
页面最后更新:2023年1月31日