CWE

常见的弱点枚举

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

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

cwe - 226:敏感信息在资源不被重用

弱点ID: 226
抽象:基地
结构:简单的
视图定制的信息:
+描述
产品发布资源如内存或文件,以便它可以重用,但它不清楚或“填零”中包含的信息资源在产品执行临界状态转换或使其他实体的资源可供重用。
+扩展描述

当资源被释放,他们可以重用。例如,内存释放后,操作系统可能会使另一个进程的可用内存,或磁盘空间时可能会重新分配一个文件被删除。删除信息需要时间和额外的资源,操作系统通常不清楚以前书面信息。

即使资源重用同样的过程,新数据时都会出现这个弱点不是一样大的旧的数据,使得部分旧数据依然可用。等价的错误可以发生在其他情况下数据的长度是可变的,但不是关联的数据结构。如果不清除内存使用后,信息可能被少读值得信赖的政党重新分配内存时。

这个弱点可以适用于硬件,比如当一个设备或系统之间的开关电源,睡眠,在正常运行或调试状态,或者在执行更改不同的用户或特权级别。

+的关系
部分帮助此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
+相关的视图”研究概念”(cwe - 1000)
自然 类型 ID 的名字
ChildOf 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 212年 不当删除敏感信息在存储或传输
ChildOf 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 459年 不完整的清理
ParentOf 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。 244年 在发布之前清理不当堆内存(堆检验)
ParentOf 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。 1239年 不当Zeroization硬件寄存器
ParentOf 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 1272年 敏感信息未清偿前调试/功率状态转换
ParentOf 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 1301年 硬件组件内不足或不完整的数据删除
ParentOf 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 1342年 信息通过Microarchitectural接触状态后瞬态执行
CanPrecede 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 201年 敏感信息插入发送数据
部分帮助此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
+相关观点“软件开发”(cwe - 699)
自然 类型 ID 的名字
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 452年 初始化和清理错误
部分帮助此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
+相关观点“硬件设计”(cwe - 1194)
自然 类型 ID 的名字
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 1202年 内存和存储问题
ParentOf 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。 1239年 不当Zeroization硬件寄存器
ParentOf 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 1342年 信息通过Microarchitectural接触状态后瞬态执行
+模式的介绍
部分帮助不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
阶段 请注意
架构和设计
实现
+适用的平台
部分帮助该清单显示了给定的弱点可以可能的地区出现。这些可能是为特定命名的语言,操作系统,架构、模式、技术、或一个类这样的平台。列出的平台是随着频率的出现疲态实例。

语言

类:不是特定于语言的患病率(待定)

技术

类:不是特定于技术的患病率(待定)

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

技术的影响:读取应用程序数据

+示范例子

示例1

这个例子展示了如何攻击者可以利用一个不正确的状态转换。

假设一个设备从a状态过渡到B .在状态,它可以读取某些私有密钥从隐藏的融合,只有访问状态而不是状态B设备读取键,执行操作使用这些钥匙,然后过渡到状态B,那些私钥应该不再是可访问的。

(坏的代码)

在过渡从A到B,设备不擦洗记忆。

后过渡到状态B,尽管私钥不再是可以直接从状态B的保险丝,可以间接地访问他们通过阅读记忆包含私钥。

(好的代码)
从状态过渡到状态B,删除信息不应过渡完成后可用。

示例2

下面的代码调用realloc()包含敏感数据的一个缓冲区:

(坏的代码)
例如语言:C
cleartext_buffer = get_secret ();。
cleartext_buffer = realloc (cleartext_buffer, 1024);

scrub_memory (cleartext_buffer, 1024);

有一个尝试用力搓洗敏感数据从内存,但realloc()使用,所以它可以返回一个指针指向一个不同的记忆的一部分。最初分配的内存cleartext_buffer仍可能包含一个未清偿的副本的数据。

+观察到的例子
参考 描述
以太网卡驱动不垫与空字节帧,导致infoleak畸形数据包。
从DHCP数据包的路由器不明确的信息,之前使用
产品不完全清楚内存缓冲区数据存储到缓冲区比以前少。
产品不完全清楚内存缓冲区数据存储到缓冲区比以前少。
产品不完全清楚内存缓冲区数据存储到缓冲区比以前少。
产品不清楚下笔前一个数据结构的一部分,产生泄漏之前使用的内存的信息。
内存清理不当之前重用。
+潜在的缓解措施

阶段:体系结构和设计;实现

在临界状态转换,信息不需要在接下来的状态应该删除或覆盖与固定模式(如0)或随机数据,在过渡到下一个状态。

有效性:高

阶段:体系结构和设计;实现

当释放,释放或删除资源,覆盖其数据和相关元数据与固定模式或随机数据。是谨慎复杂的资源类型,其底层表示可能不连续或改变在低水平,比如如何分成不同的文件块在文件系统上,尽管“逻辑”文件位置都是连续的在应用程序层。这些资源类型可能需要调用特殊的模式或api来告诉底层操作系统进行必要的清理,如SDelete(安全删除)在Windows上,虽然适当的功能可能不能使用在应用程序层。

有效性:高

+弱点Ordinalities
Ordinality 描述
(其他弱点的弱点存在独立的)
+检测方法

手动分析

写一个已知模式到每个敏感的位置。触发释放资源或导致所需的状态转换的发生。读取数据的敏感位置。如果读取成功,数据是一样的模式,最初编写,测试失败和产品需要固定。注意,这个测试可能可以自动化。

有效性:高

+功能区域
  • 内存管理
  • 网络
+影响资源
  • 内存
+会员资格
部分帮助这MemberOf关系表显示额外CWE类别和视图引用这个弱点作为成员。这些信息通常是有用的在理解一个弱点符合外部信息源的上下文中。
自然 类型 ID 的名字
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 729年 OWASP 2004年十大类别A8——不安全存储
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 742年 CERT C安全编码标准(2008)第9章-内存管理(MEM)
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 876年 CERT c++安全编码部分08 -内存管理(MEM)
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 963年 SFP二级集群:公开数据
+笔记

的关系

之间有密切联系cwe - 226cwe - 212。不同的是部分的观点。cwe - 226是面向资源生命周期的最后阶段,资源被删除,取消,否则过期,或者发布以便重用。从技术上讲,这需要转移到一个不同的控制范围,在资源的原始内容不再相关。cwe - 212然而,适用于敏感数据在有意地与他人共享资源,所以他们仍然活跃。这种区别是有用的从CWE的角度研究视图(cwe - 1000)。

研究的差距

这是常见的网络数据包,但是它也存在于本地内存分配、文件等。

维护

这个条目需要修改澄清的差异cwe - 212。描述还结合两个问题有别于CWE的研究视角:无意的信息转移到另一个领域,和不适当的初始化/关闭。一些相关的分类法映射反映这些不同的用途。
+分类法映射
映射分类名称 节点ID 适合 映射节点名
千鸟 敏感信息在使用前未清偿
CERT C安全编码 MEM03-C 清晰的敏感信息存储在可重用资源返回以便重用
软件故障模式 SFP23 公开的数据
+内容的历史
+提交
提交日期 提交者 组织
2006-07-19 千鸟
+修改
修改日期 修饰符 组织
2008-07-01 Eric Dalci Cigital
更新Time_of_Introduction
2008-09-08 CWE内容团队 主教法冠
更新的关系,Other_Notes Relationship_Notes, Taxonomy_Mappings Weakness_Ordinalities
2008-10-14 CWE内容团队 主教法冠
更新的关系
2008-11-24 CWE内容团队 主教法冠
更新的关系,Taxonomy_Mappings
2009-03-10 CWE内容团队 主教法冠
更新的关系
2009-05-27 CWE内容团队 主教法冠
更新的关系
2009-10-29 CWE内容团队 主教法冠
更新描述,Other_Notes
2010-02-16 CWE内容团队 主教法冠
更新Applicable_Platforms、Maintenance_Notes Relationship_Notes
2010-09-27 CWE内容团队 主教法冠
更新的关系
2010-12-13 CWE内容团队 主教法冠
更新描述
2011-06-01 CWE内容团队 主教法冠
更新Common_Consequences、关系、Taxonomy_Mappings
2011-09-13 CWE内容团队 主教法冠
更新的关系,Taxonomy_Mappings
2012-05-11 CWE内容团队 主教法冠
更新的关系,Taxonomy_Mappings
2014-07-30 CWE内容团队 主教法冠
更新的关系,Taxonomy_Mappings
2017-11-08 CWE内容团队 主教法冠
更新Causal_Nature Functional_Areas,关系,Taxonomy_Mappings
2020-02-24 CWE内容团队 主教法冠
更新Applicable_Platforms、描述、名称、关系、Time_of_Introduction Weakness_Ordinalities
2020-08-20 CWE内容团队 主教法冠
更新描述、名称、Related_Attack_Patterns关系
2021-10-28 CWE内容团队 主教法冠
更新Demonstrative_Examples、描述Detection_Factors、Maintenance_Notes Potential_Mitigations,关系,Research_Gaps
+以前的条目名称
改变日期 以前的条目名称
2008-04-11 敏感信息在使用前未清偿
2020-02-24 敏感信息发布前未清偿
2020-08-20 敏感信息发布前未清偿在资源重用
更多的信息是可用的,请选择一个不同的过滤器。
页面最后更新:2023年1月31日