CWE

常见的弱点枚举

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

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

cwe - 412:无限制的外部访问的锁

弱点ID: 412
抽象:基地
结构:简单的
视图定制的信息:
+描述
软件正确检查锁的存在,但锁可以外部控制或影响演员以外的目的的控制范围。
+扩展描述
这可以防止软件作用于相关资源或执行其他行为所控制的锁。相关可能包括独占锁或互斥锁,或修改一个共享资源视为一个锁。如果锁可以无限期持有时间,然后拒绝服务可能是永久性的。
+的关系
部分帮助此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
+相关的视图”研究概念”(cwe - 1000)
自然 类型 ID 的名字
ChildOf 类类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。 667年 不适当的锁定
CanAlsoBe 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 410年 足够的资源池
部分帮助此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
+相关观点“软件开发”(cwe - 699)
自然 类型 ID 的名字
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 411年 资源锁定问题
+模式的介绍
部分帮助不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
阶段 请注意
架构和设计
实现
+适用的平台
部分帮助该清单显示了给定的弱点可以可能的地区出现。这些可能是为特定命名的语言,操作系统,架构、模式、技术、或一个类这样的平台。列出的平台是随着频率的出现疲态实例。

语言

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

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

技术的影响:DoS:资源消耗(其他)

当攻击者可以控制一个锁,程序可能会无限期地等到攻击者释放锁,导致拒绝服务程序的其他用户。这尤其有问题如果有阻塞操作锁。
+示范例子

示例1

这段代码文件试图获得一个锁,然后写入。

(坏的代码)
例如语言:PHP
函数writeToLog(美元消息){
日志文件=美元fopen(“日志文件。日志”、“一个”);
/ /试图获取日志文件锁
如果(群(日志文件,LOCK_EX)) {
写入文件(日志文件,消息美元);
/ /打开日志文件
群(日志文件,LOCK_UN);
}
其他{
在日志文件打印”不能获得锁。没有记录的日志、消息\ n”;
}
}
文件关闭($日志文件);

PHP默认情况下将无限期等待,直到文件释放锁。如果攻击者能够获得文件锁,这段代码将暂停执行,可能导致拒绝服务的其他用户。注意,在这种情况下,如果攻击者可以执行一个群()文件,他们可能已经摧毁日志文件的特权。然而,这还影响其他项目的执行,取决于群()。

+观察到的例子
参考 描述
程序不能执行时,攻击者获得互斥锁。
程序不能执行攻击者获得一个锁在一个关键的输出文件。
程序不能执行攻击者获得一个锁在一个关键的输出文件。
重要文件可以打开的读访问用户,防止应用程序的安全策略。可能不当相关权限,大窗户竞态条件。
链:可预测的文件名用于锁定,允许攻击者事先创建锁。结果从权限和随机性。
链:锁文件和可预测的名称。从随机合成。
产品不检查是否可以写入一个日志文件,允许攻击者为了避免日志通过访问文件使用独占锁。不重叠错误条件。这不是很cwe - 412,但很接近。
+潜在的缓解措施

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

使用提供的任何访问控制功能,提供锁。

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

不可预知的名称或标识符使用锁。这可能并不总是可能或可行的。

阶段:体系结构和设计

考虑修改代码使用非阻塞同步方法。
+检测方法

白盒子

自动代码分析技术可能无法可靠地检测这一弱点,因为应用程序的行为和通用安全模型决定哪个资源锁是至关重要的。解释弱点可能需要知识的环境,例如,如果一个文件的存在作为一个锁,但是在一个人人可写的目录中创建的文件。
+会员资格
部分帮助这MemberOf关系表显示额外CWE类别和视图引用这个弱点作为成员。这些信息通常是有用的在理解一个弱点符合外部信息源的上下文中。
自然 类型 ID 的名字
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 361年 7 pk -时间和状态
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 730年 OWASP十大2004类别A9 -拒绝服务
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 853年 CERT甲骨文安全Java编码标准(2011)第十章-锁定(LCK)
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 989年 SFP二级集群:无限制的锁
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 1143年 SEI CERT甲骨文Java安全编码标准——09年的指导方针。锁(LCK)
+笔记

的关系

这个重叠不足资源池大小的“池”是1。从竞态条件也可以合成,尽管时间窗口在某些情况下可能会相当大。
+分类法映射
映射分类名称 节点ID 适合 映射节点名
千鸟 无限制的关键资源锁
7有害的王国 死锁
OWASP十大2004 A9 CWE更具体 拒绝服务
CERT甲骨文安全Java编码标准(2011) LCK00-J 使用私人最终锁定对象同步类可能与不受信任的代码
CERT甲骨文安全Java编码标准(2011) LCK07-J 避免死锁请求和释放锁的顺序相同
软件故障模式 SFP22 无限制的锁
+内容的历史
+提交
提交日期 提交者 组织
2006-07-19 千鸟
+贡献
贡献的日期 贡献者 组织
2008-08-29 股的分析
建议澄清描述和观察到的例子,这是模糊的和不一致的。
+修改
修改日期 修饰符 组织
2008-07-01 Eric Dalci Cigital
更新Potential_Mitigations Time_of_Introduction
2008-08-01 股的分析
添加/更新白盒定义
2008-08-15 Veracode
建议OWASP 2004年排名前十的映射
2008-09-08 CWE内容团队 主教法冠
更新Common_Consequences、描述Detection_Factors、关系、Observed_Example, Relationship_Notes Taxonomy_Mappings
2008-10-14 CWE内容团队 主教法冠
更新描述
2009-07-17 股的分析
提出了一个更好的名字,不管他们的临界最小的关系资源。
2009-07-17 股的分析
添加了一个White_Box_Definition和澄清了后果。
2009-07-27 CWE内容团队 主教法冠
更新Common_Consequences、描述、名称、Potential_Mitigations White_Box_Definitions
2011-03-29 CWE内容团队 主教法冠
更新Demonstrative_Examples
2011-06-01 CWE内容团队 主教法冠
更新Common_Consequences、关系、Taxonomy_Mappings
2012-05-11 CWE内容团队 主教法冠
更新Demonstrative_Examples、人际关系
2014-07-30 CWE内容团队 主教法冠
更新的关系,Taxonomy_Mappings
2017-11-08 CWE内容团队 主教法冠
更新Applicable_Platforms、关系、White_Box_Definitions
2019-01-03 CWE内容团队 主教法冠
更新的关系,Taxonomy_Mappings
2020-02-24 CWE内容团队 主教法冠
更新的关系
+以前的条目名称
改变日期 以前的条目名称
2008-04-11 无限制的关键资源锁
2009-07-27 无限制的锁定关键资源
更多的信息是可用的,请选择一个不同的过滤器。
页面最后更新:2022年10月13日