CWE

常见的弱点枚举

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

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

cwe - 567:同步多线程访问共享数据上下文

弱点ID: 567
抽象:基地
结构:简单的
视图定制的信息:
+描述
产品不正确同步共享数据,如跨线程的静态变量,从而导致未定义行为和不可预知的数据变化。
+扩展描述

在servlet、共享静态变量不受并发访问,但是servlet是多线程的。这是一个典型的编程错误在J2EE应用程序中,由于多线程处理的框架。当一个共享变量可以被攻击者的影响,一个线程可能会修改变量包含一个不同的线程的数据是无效的,也是使用中的数据变量。

注意,这个弱点并不是唯一的servlet。

+的关系
部分帮助此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
+相关的视图”研究概念”(cwe - 1000)
自然 类型 ID 的名字
ChildOf 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 820年 失踪的同步
CanPrecede 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 488年 暴露错误的会话的数据元素
部分帮助此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
+相关观点“软件开发”(cwe - 699)
自然 类型 ID 的名字
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 557年 并发问题
部分帮助此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
+相关的视图”方案及质量的措施(2020)”(CWE-1305)
自然 类型 ID 的名字
ChildOf 类类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。 662年 不同步
部分帮助此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
+相关的视图”方案及数据保护措施”(cwe - 1340)
自然 类型 ID 的名字
ChildOf 类类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。 662年 不同步
+模式的介绍
部分帮助不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
阶段 请注意
架构和设计
实现
+适用的平台
部分帮助该清单显示了给定的弱点可以可能的地区出现。这些可能是为特定命名的语言,操作系统,架构、模式、技术、或一个类这样的平台。列出的平台是随着频率的出现疲态实例。

语言

Java患病率(待定)

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

技术的影响:阅读应用程序数据;修改应用程序数据;DoS:不稳定;DoS:崩溃,退出或重新启动

如果共享变量包含敏感数据,这可能是操纵或显示在另一个用户会话。如果这个数据是用于控制应用程序,它的值可以操纵导致应用程序崩溃或表现不佳。
+示范例子

示例1

下面的代码实现了一个基本的计数器accesed多少次页面。

(坏的代码)
例如语言:Java
公共静态类计数器扩展HttpServlet {
静态int数= 0;
保护无效doGet (HttpServletRequest, HttpServletResponse)
抛出ServletException IOException {
out.setContentType (" text / plain”);
PrintWriter p = out.getWriter ();
数+ +;
p。println(计数+“迄今为止!”);
}
}

考虑当两个独立的线程,线程和线程B,同时处理两种不同的请求:

  • 假设这是第一次发生的doGet,所以计数的值是0。
  • 在线程A doGet ()。
  • doGet()在线程的执行一个继续读计数变量的值后,再增加,但之前保存回数。在这个阶段,递增的值是1,但计数的值是0。
  • doGet()在线程B,由于线程优先级更高,线程B进展,计数变量访问(它仍然是0)递增,并保存。保存后,数是1。
  • 一个线程继续执行。它节省了中间,增加价值计算变量,但增加的值是1,所以计算是“重新保存”1。

在这一点上,线程A和线程B打印一出现,即使两个单独的请求已经处理。数的值应该是2,而不是1。

虽然这个例子没有任何真正的严重影响,如果共享变量问题是用于资源跟踪、资源消耗可能会发生。其他场景存在。

+潜在的缓解措施

实施阶段:

删除使用静态变量之间使用servlet。如果这无法避免,使用同步访问这些变量。
+会员资格
部分帮助这MemberOf关系表显示额外CWE类别和视图引用这个弱点作为成员。这些信息通常是有用的在理解一个弱点符合外部信息源的上下文中。
自然 类型 ID 的名字
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 852年 CERT甲骨文安全Java编码标准(2011)第9章-可见性和原子性(VNA)
MemberOf 视图视图——CWE条目的一个子集,它提供了一种检查CWE的内容。两个主要视图结构片(列表)和图(包含条目之间的关系)。 884年 CWE横截面
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 986年 SFP二级集群:失踪的锁
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 1142年 SEI CERT甲骨文Java安全编码标准——08年指导方针。可见性和原子性(VNA)
+分类法映射
映射分类名称 节点ID 适合 映射节点名
CERT甲骨文安全Java编码标准(2011) VNA00-J 确保访问共享原始变量时能见度
CERT甲骨文安全Java编码标准(2011) VNA02-J 确保共享变量的操作都是原子的化合物
软件故障模式 SFP19 失踪的锁
+内容的历史
+提交
提交日期 提交者 组织
2006-12-15 CWE社区
CWE社区的成员提交的延长早期CWE版本
+修改
修改日期 修饰符 组织
2008-07-01 Eric Dalci Cigital
更新Time_of_Introduction
2008-09-08 CWE内容团队 主教法冠
更新的关系,Other_Notes
2010-09-27 CWE内容团队 主教法冠
更新Other_Notes
2010-12-09 CWE内容团队 主教法冠
使更具体的名称和描述匹配条目的其余部分的本质。
2010-12-13 CWE内容团队 主教法冠
更新Applicable_Platforms、Common_Consequences Demonstrative_Examples、描述、名称、Other_Notes Potential_Mitigations、人际关系
2011-06-01 CWE内容团队 主教法冠
更新Common_Consequences、关系、Taxonomy_Mappings
2012-05-11 CWE内容团队 主教法冠
更新的关系
2012-10-30 CWE内容团队 主教法冠
更新Potential_Mitigations
2013-07-17 CWE内容团队 主教法冠
更新的关系
2014-07-30 CWE内容团队 主教法冠
更新的关系,Taxonomy_Mappings
2017-11-08 CWE内容团队 主教法冠
更新Applicable_Platforms
2019-01-03 CWE内容团队 主教法冠
更新的关系,Taxonomy_Mappings
2020-08-20 CWE内容团队 主教法冠
更新的关系
2020-12-10 CWE内容团队 主教法冠
更新的关系
+以前的条目名称
改变日期 以前的条目名称
2010-12-13 同步访问共享数据
更多的信息是可用的,请选择一个不同的过滤器。
页面最后更新:2023年1月31日