CWE

普遍的弱点

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

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

CWE-366:线程中的竞赛条件

弱点ID:366
抽象:根据
结构:简单的
查看自定义信息:
+描述
如果执行两个线程同时使用资源,则存在可能在无效时使用资源的可能性,进而使执行状态未定义。
+关系
部分帮助该表显示了与该弱点相关的弱点和高级类别。这些关系定义为childof,parentof,ementof,并深入了解可能存在于较高和较低抽象水平的类似项目。此外,定义了诸如Peerof和Canalsobe之类的关系,以显示用户可能想要探索的类似弱点。
+与观点“研究概念”相关(CWE-1000)
自然 类型 ID 姓名
Childof 班级班级 - 以非常抽象的方式描述的弱点,通常与任何特定的语言或技术无关。比支柱弱点更具体,但比基本弱点更一般。班级弱点通常用以下维度的1或2来描述问题:行为,属性和资源。 362 同时使用共享资源的同步执行不当(“种族条件”)
部分帮助该表显示了与该弱点相关的弱点和高级类别。这些关系定义为childof,parentof,ementof,并深入了解可能存在于较高和较低抽象水平的类似项目。此外,定义了诸如Peerof和Canalsobe之类的关系,以显示用户可能想要探索的类似弱点。
+与“软件开发”视图相关(CWE-699)
自然 类型 ID 姓名
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 557 并发问题
部分帮助该表显示了与该弱点相关的弱点和高级类别。这些关系定义为childof,parentof,ementof,并深入了解可能存在于较高和较低抽象水平的类似项目。此外,定义了诸如Peerof和Canalsobe之类的关系,以显示用户可能想要探索的类似弱点。
+与“ CISQ质量措施(2020)”相关(CWE-1305)
自然 类型 ID 姓名
Childof 班级班级 - 以非常抽象的方式描述的弱点,通常与任何特定的语言或技术无关。比支柱弱点更具体,但比基本弱点更一般。班级弱点通常用以下维度的1或2来描述问题:行为,属性和资源。 662 同步不当
部分帮助该表显示了与该弱点相关的弱点和高级类别。这些关系定义为childof,parentof,ementof,并深入了解可能存在于较高和较低抽象水平的类似项目。此外,定义了诸如Peerof和Canalsobe之类的关系,以显示用户可能想要探索的类似弱点。
+与“ CISQ数据保护措施”(CWE-1340)有关
自然 类型 ID 姓名
Childof 班级班级 - 以非常抽象的方式描述的弱点,通常与任何特定的语言或技术无关。比支柱弱点更具体,但比基本弱点更一般。班级弱点通常用以下维度的1或2来描述问题:行为,属性和资源。 662 同步不当
+介绍模式
部分帮助引言的不同模式提供了有关如何以及何时引入这种弱点的信息。该阶段识别可能发生介绍的生命周期中的一个点,而音符提供了与给定阶段中引言有关的典型情况。
阶段 笔记
建筑和设计
执行
+适用的平台
部分帮助该清单显示了可能出现的弱点的可能区域。这些可能适用于特定的命名语言,操作系统,体系结构,范式,技术或一类此类平台。该平台与给定弱点出现在该实例的频率一起列出。

语言

C(不确定的患病率)

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

爪哇(不确定的患病率)

C#(不确定的患病率)

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

技术影响:更改执行逻辑;意外状态

主要问题是 - 如果克服了锁,则可以在不良状态下更改数据。
+利用的可能性
中等的
+示例的例子

示例1

以下示例证明了弱点。

(不良代码)
示例语言:C
int foo = 0;
int storenum(int num){
静态int计数器= 0;
计数器++;
if(num> foo)foo = num;
返回foo;
}
(不良代码)
示例语言:爪哇
公共分类{
静态int foo = 0;
公共静态void main(){

new Threader()。start();
foo = 1;
}
公共静态类线程器扩展线程{

public void run(){
system.out.println(foo);
}
}
}
+潜在的缓解

阶段:建筑和设计

使用锁定功能。这是推荐的解决方案。围绕代码实现某种形式的锁定机制,该机制在多线程环境中改变或读取持久数据。

阶段:建筑和设计

创建资源锁定验证检查。如果不存在固有的锁定机制,请在其他执行线程使用资源时使用标志和信号来强制执行自己的阻止方案。
+影响资源
  • 系统过程
+会员资格
部分帮助此成员关系表显示了其他CWE类别和视图,将此弱点称为成员。该信息通常可用于理解弱点适合外部信息源的何处。
自然 类型 ID 姓名
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 748 CERT C安全编码标准(2008)附录-POSIX(POS)
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 852 Java(2011)第9章的CERT ORACLE安全编码标准 - 可见性和原子性(VNA)
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 882 CERT C ++安全编码第14节 - 并发(CON)
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 986 SFP辅助群集:缺失锁
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 1142 Java的SEI CERT ORACLE SECURE编码标准 - 指南08.可见性和原子性(VNA)
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 1169 SEI CERT C编码标准 - 指南14.并发(CON)
+分类映射
映射的分类名称 节点ID 合身 映射的节点名称
扣子 线程中的种族条件
证书C安全编码 CON32-C CWE更抽象 从多个线程访问位字场时,请防止数据竞赛
证书C安全编码 CON40-C CWE更抽象 不要在表达式中两次参考原子变量
证书C安全编码 CON43-C 精确的 不允许在多线程代码中进行数据竞赛
Java(2011)的CERT ORACLE SECURE编码标准 VNA02-J 确保共享变量的复合操作是原子
Java(2011)的CERT ORACLE SECURE编码标准 VNA03-J 不要假设一组指向独立原子方法的呼叫是原子
软件故障模式 SFP19 缺少锁
+参考
[Ref-18] Secure Software,Inc.。“ The CLASP应用程序安全过程”。2005年。<https://cwe.mitre.org/documents/sources/theclaspapplicationsecurityprocess.pdf>。
[Ref-44] Michael Howard,David Leblanc和John Viega。“软件安全性的24个致命罪”。“罪13:种族条件。”第205页。McGraw-Hill。2010年。
[Ref-62] Mark Dowd,John McDonald和Justin Schuh。“软件安全评估的艺术”。第13章,“种族条件”,第759页。第一版。艾迪生·卫斯理。2006。
+内容历史记录
+提交
提交日期 提交者 组织
2006-07-19 扣子
+修改
修改日期 修饰符 组织
2008-07-01 埃里克·达奇(Eric Dalci) 雪茄
更新的time_of_introduction
2008-09-08 CWE内容团队 MITER
更新了适用的_platforms,common_consequences,关系,分类_mappings
2008-11-24 CWE内容团队 MITER
更新的关系,分类_mappings
2010-09-27 CWE内容团队 MITER
更新的电势_限制,关系
2011-06-01 CWE内容团队 MITER
更新的common_conconquence,关系,分类_mappings
2011-06-27 CWE内容团队 MITER
更新的common_cconsquences
2011-09-13 CWE内容团队 MITER
更新的关系,分类_mappings
2012-05-11 CWE内容团队 MITER
更新的引用,关系
2014-07-30 CWE内容团队 MITER
更新的关系,分类_mappings
2017-11-08 CWE内容团队 MITER
更新的示范_examples,关系,分类_mappings
2019-01-03 CWE内容团队 MITER
更新的关系,分类_mappings
2020-02-24 CWE内容团队 MITER
更新的引用,关系
2020-08-20 CWE内容团队 MITER
更新的关系
2020-12-10 CWE内容团队 MITER
更新的关系
2021-03-15 CWE内容团队 MITER
更新的势_MINEIGATIONS
2022-04-28 CWE内容团队 MITER
更新的关系
提供更多信息 - 请选择其他过滤器。
页面最后更新:2023年1月31日