描述
代码没有明确划定一块,目的是包含2个或更多的语句,创建一个逻辑错误。
扩展描述
在一些语言中,括号为块(或其他分隔符)是可选的。分隔符被忽略时,可以插入一个逻辑错误的声明被认为是在一块,但不是。在某些情况下,逻辑错误会有安全隐患。
的关系
此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
相关的视图”研究概念”(cwe - 1000)
自然 |
类型 |
ID |
的名字 |
ChildOf |
类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。 |
670年 |
Always-Incorrect控制流的实现 |
此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
相关观点“软件开发”(cwe - 699)
自然 |
类型 |
ID |
的名字 |
MemberOf |
类别——CWE条目包含一组其他条目,共享一个共同的特点。 |
438年 |
行为问题 |
模式的介绍
不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
常见的后果
这个表指定不同的个人相关后果的弱点。标识应用程序范围的安全领域侵犯,而影响了负面的技术影响,如果敌人成功利用这个弱点。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能会有高可能性,缺点将被利用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 |
影响 |
可能性 |
保密 完整性 可用性
|
这是一个普遍的逻辑错误往往会导致obviously-incorrect行为很快注意到和固定。在轻测试或未测试的代码,这个错误可能被引入到生产环境和提供额外的攻击向量通过创建一个控制流路径导致一个意想不到的应用程序的状态。结果将取决于类型的行为被错误地执行。 |
|
利用的可能性
示范例子
示例1
在这个例子中,程序员已经缩进语句来调用Do_X()和Do_Y(),好像这些函数只调用的目的是当条件为真。然而,由于没有括号表示,Do_Y()总是会执行,即使条件是错误的。
如果(条件= = true)
Do_X (); Do_Y ();
这可能不是什么程序员的目的。当条件对安全至关重要,如在安全决策或检测的一个关键错误,这可能产生一个漏洞。
示例2
在这个例子中,程序员已经缩进Do_Y()语句好像意图是与前面的条件和相关的函数应该只应条件为真时调用。然而,由于Do_X()被称为在同一行条件和没有括号表示,Do_Y()总是会执行,即使条件是错误的。
如果(条件= = true) Do_X ();
Do_Y ();
这可能不是什么程序员的目的。当条件对安全至关重要,如在安全决策或检测的一个关键错误,这可能产生一个漏洞。
观察到的例子
参考 |
描述 |
|
不正确的缩进“goto”声明使它更加难以检测到一个错误的goto(苹果的“goto失败”) |
潜在的缓解措施
实施阶段:
总是使用明确的界定和使用静态分析技术实施这种做法。 |
弱点Ordinalities
Ordinality |
描述 |
主 |
(其他弱点的弱点存在独立的) |
间接 |
(缺点是一个质量问题,可能会间接更容易引入的安全相关的弱点或使他们更难检测) |
检测方法
自动静态分析
自动静态分析,通常被称为静态应用程序安全性测试(科协),可以找到一些实例的这个弱点分析源代码或二进制/编译后的代码,而不必执行它。通常情况下,这是通过建立一个模型的数据流和控制流,然后寻找潜在攻击模式,连接“源”与“下沉”(输入)的起源(目的地数据与外部组件交互,较低的层,如操作系统,等等)。
|
脆弱性映射笔记
用法:允许
(CWE ID可以用来映射到现实世界的漏洞) |
原因:可接受的使用 |
理由是: 这CWE条目底部的抽象级别,这是一个首选的抽象级别映射到漏洞的根本原因。 |
评论: 仔细阅读这两个名称和描述,以确保此映射是一个适当的配合。不要试图“力”映射到底层基础/变体只是遵守这首选的抽象级别。 |
分类法映射
映射分类名称 |
节点ID |
适合 |
映射节点名 |
扣 |
|
|
不正确的块划定 |
引用
更多的信息是可用的,请编辑自定义过滤器或选择一个不同的过滤器。
|