CWE

普遍的弱点

A Community-Developed List of Software & Hardware Weakness Types

2021 CWE最重要的硬件弱点
CWE前25个最危险的弱点
>CWE列表>CWE- Individual Dictionary Definition (4.10)
ID

CWE-188:依赖数据/内存布局

Weakness ID: 188
抽象:根据
结构:简单的
View customized information:
+Description
该产品对如何在较低级别组织协议数据或内存的方式做出了无效的假设,从而导致了意外的程序行为。
+扩展描述

When changing platforms or protocol versions, in-memory organization of data may change in unintended ways. For example, some architectures may place local variables A and B right next to each other with A on top; some may place them next to each other with B on top; and others may add some padding to each. The padding size may vary to ensure that each variable is aligned to a proper word size.

在协议实现中,通常是计算相对于另一个字段的偏移以挑选特定数据的偏移。通常涉及新协议版本的特殊条件可能会增加以不寻常的方式改变数据布局的角案例。结果可能是实现访问数据包中的意外字段,将一种类型的数据视为另一种类型的数据。

+关系
部分帮助该表显示了与该弱点相关的弱点和高级类别。这些关系定义为childof,parentof,ementof,并深入了解可能存在于较高和较低抽象水平的类似项目。此外,定义了诸如Peerof和Canalsobe之类的关系,以显示用户可能想要探索的类似弱点。
+Relevant to the view "Research Concepts" (CWE-1000)
自然 Type ID 姓名
Childof PillarPillar - a weakness that is the most abstract type of weakness and represents a theme for all class/base/variant weaknesses related to it. A Pillar is different from a Category as a Pillar is still technically a type of weakness that describes a mistake, while a Category represents a common characteristic used to group related things. 435 Improper Interaction Between Multiple Correctly-Behaving Entities
Childof 根据根据- a weakness that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource. 1105 Insufficient Encapsulation of Machine-Dependent Functionality
ParentOf 根据根据- a weakness that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource. 198 使用不正确的字节顺序
部分帮助该表显示了与该弱点相关的弱点和高级类别。这些关系定义为childof,parentof,ementof,并深入了解可能存在于较高和较低抽象水平的类似项目。此外,定义了诸如Peerof和Canalsobe之类的关系,以显示用户可能想要探索的类似弱点。
+Relevant to the view "Software Development" (CWE-699)
自然 Type ID 姓名
成员 CategoryCategory - a CWE entry that contains a set of other entries that share a common characteristic. 137 数据中和问题
+介绍模式
部分帮助引言的不同模式提供了有关如何以及何时引入这种弱点的信息。该阶段识别可能发生介绍的生命周期中的一个点,而音符提供了与给定阶段中引言有关的典型情况。
Phase 笔记
建筑和设计
Implementation
+适用的平台
部分帮助该清单显示了可能出现的弱点的可能区域。这些可能适用于特定的命名语言,操作系统,体系结构,范式,技术或一类此类平台。该平台与给定弱点出现在该实例的频率一起列出。

语言

C(不确定的患病率)

C ++(不确定的患病率)

+常见后果
部分帮助该表指定与弱点相关的不同个人后果。该范围确定了违反的应用程序安全区域,而影响描述了如果对手成功利用这一弱点,就会产生负面的技术影响。其可能性提供了有关预期相对于列表中其他后果的特定后果的可能性的信息。例如,可能会利用弱点来实现一定的影响,但很可能会利用它来实现不同的影响。
范围 Impact 可能性
Integrity
Confidentiality

技术影响:修改内存;阅读内存

可能导致意外的修改或敏感内存的暴露。
+利用的可能性
Low
+Demonstrative Examples

Example 1

In this example function, the memory address of variable b is derived by adding 1 to the address of variable a. This derived address is then used to assign the value 0 to b.

(不良代码)
Example Language:C
void example(){
char a;
char b;
*(&a + 1)= 0;
}

在这里,B可能不是一个字节过去a。它可能是一个字节。或者,它们之间可能有三个字节,因为它们在32位边界上对齐。

+Potential Mitigations

阶段:实施;建筑和设计

In flat address space situations, never allow computing memory addresses as offsets from another memory address.

阶段:建筑和设计

明确地完全指定协议布局,提供结构化的语法(例如,可编译的YACC语法)。

Phase: Testing

Testing: Test that the implementation properly handles each case in the protocol grammar.
+Memberships
部分帮助此成员关系表显示了其他CWE类别和视图,将此弱点称为成员。该信息通常可用于理解弱点适合外部信息源的何处。
自然 Type ID 姓名
成员 CategoryCategory - a CWE entry that contains a set of other entries that share a common characteristic. 977 SFP辅助群集:设计
+Taxonomy Mappings
映射的分类名称 节点ID Fit 映射的节点名称
扣子 依赖数据布局
+References
[Ref-62] Mark Dowd,John McDonald和Justin Schuh。“软件安全评估的艺术”。第6章,“结构填充”,第284页。第一版。艾迪生·卫斯理。2006。
[REF-18] Secure Software, Inc.. "The CLASP Application Security Process". 2005. <https://cwe.mitre.org/documents/sources/theclaspapplicationsecurityprocess.pdf>.
+内容历史记录
+Submissions
Submission Date 提交者 Organization
2006-07-19 扣子
+修改
修改日期 Modifier Organization
2008-07-01 埃里克·达奇(Eric Dalci) Cigital
更新的time_of_introduction
2008-09-08 CWE内容团队 MITER
更新了适用的_platforms,common_consequences,关系,其他_notes,gualomy_mappings
2009-03-10 CWE内容团队 MITER
updated Relationships
2009-10-29 CWE内容团队 MITER
updated Common_Consequences
2011-03-29 CWE内容团队 MITER
updated Common_Consequences
2011-06-01 CWE内容团队 MITER
updated Common_Consequences
2012-05-11 CWE内容团队 MITER
更新的引用, Relationships
2012-10-30 CWE内容团队 MITER
updated Potential_Mitigations
2014-06-23 CWE内容团队 MITER
更新的描述, Other_Notes
2014-07-30 CWE内容团队 MITER
更新的示范_examples,关系
2019-01-03 CWE内容团队 MITER
更新的描述,关系
2021-03-15 CWE内容团队 MITER
更新的引用
2023-01-31 CWE内容团队 MITER
更新的描述
+先前的输入名称s
Change Date 先前的输入名称
2008-04-11 Reliance on Data Layout
More information is available — Please select a different filter.
页面最后更新:2023年1月31日