CWE

普遍的弱点

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

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

CWE-395:使用NullPoInterException Catch检测NULL指针删除

弱点ID:395
抽象:根据
结构:简单的
查看自定义信息:
+描述
捕获NullPoInterException不应用作编程检查的替代方案,以防止取消定位空指针。
+扩展描述

程序员通常在三种情况下捕获NullPoInterException:

  • 该程序包含一个无效的指针解除。捕获最终的例外比解决基本问题要容易。
  • 该程序明确投掷nullPoInterException以发出错误条件。
  • 该代码是测试安全带的一部分,该测试安全带为正在测试的类提供意外的输入。

在这三种情况下,只有最后一个是可以接受的。

+关系
部分帮助该表显示了与该弱点相关的弱点和高级类别。这些关系定义为childof,parentof,ementof,并深入了解可能存在于较高和较低抽象水平的类似项目。此外,定义了诸如Peerof和Canalsobe之类的关系,以显示用户可能想要探索的类似弱点。
+与观点“研究概念”相关(CWE-1000)
自然 类型 ID 姓名
Childof 班级班级 - 以非常抽象的方式描述的弱点,通常与任何特定的语言或技术无关。比支柱弱点更具体,但比基本弱点更一般。班级弱点通常用以下维度的1或2来描述问题:行为,属性和资源。 755 不当处理特殊条件
Childof 班级班级 - 以非常抽象的方式描述的弱点,通常与任何特定的语言或技术无关。比支柱弱点更具体,但比基本弱点更一般。班级弱点通常用以下维度的1或2来描述问题:行为,属性和资源。 705 不正确的控制流程范围
部分帮助该表显示了与该弱点相关的弱点和高级类别。这些关系定义为childof,parentof,ementof,并深入了解可能存在于较高和较低抽象水平的类似项目。此外,定义了诸如Peerof和Canalsobe之类的关系,以显示用户可能想要探索的类似弱点。
+与“软件开发”视图相关(CWE-699)
自然 类型 ID 姓名
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 389 错误条件,返回值,状态代码
+介绍模式
部分帮助引言的不同模式提供了有关如何以及何时引入这种弱点的信息。该阶段识别可能发生介绍的生命周期中的一个点,而音符提供了与给定阶段中引言有关的典型情况。
阶段 笔记
执行
+适用的平台
部分帮助该清单显示了可能出现的弱点的可能区域。这些可能适用于特定的命名语言,操作系统,体系结构,范式,技术或一类此类平台。该平台与给定弱点出现在该实例的频率一起列出。

语言

爪哇(不确定的患病率)

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

技术影响:DOS:资源消耗(CPU)

+示例的例子

示例1

以下代码错误地捕获了NullPoInterException。

(不良代码)
示例语言:爪哇
尝试 {
Mysterymethod();
} catch(nullpoInterException npe){
}
+潜在的缓解

阶段:建筑和设计;执行

不要广泛依靠捕获异常(尤其是用于验证用户输入)来处理错误。处理异常可以降低应用程序的性能。
+检测方法

自动化静态分析 - 二进制或字节码

根据SOAR,以下检测技术可能很有用:

对部分覆盖的成本效益:
  • 字节码弱点分析 - 包括拆卸器 +源代码弱点分析
  • 二进制弱点分析 - 包括拆卸器 +源代码弱点分析

有效性:飙升

动态分析和手动结果解释

根据SOAR,以下检测技术可能很有用:

对部分覆盖的成本效益:
  • 基于框架的绒毛

有效性:飙升

手动静态分析 - 源代码

根据SOAR,以下检测技术可能很有用:

对部分覆盖的成本效益:
  • 手动源代码审查(不是检查)

有效性:飙升

自动静态分析 - 源代码

根据SOAR,以下检测技术可能很有用:

高度成本效益:
  • 源代码弱点分析仪
  • 上下文配置的源代码弱点分析仪

有效性:高

建筑或设计评论

根据SOAR,以下检测技术可能很有用:

高度成本效益:
  • 正式的方法 /正确构造
对部分覆盖的成本效益:
  • 检查(IEEE 1028标准)(可以适用于要求,设计,源代码等)

有效性:高

+会员资格
部分帮助此成员关系表显示了其他CWE类别和视图,将此弱点称为成员。该信息通常可用于理解弱点适合外部信息源的何处。
自然 类型 ID 姓名
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 388 7pk-错误
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 851 Java的Cert Oracle安全编码标准(2011)第8章 - 特殊行为(ERR)
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 962 SFP辅助群集:未检查状态条件
+分类映射
映射的分类名称 节点ID 合身 映射的节点名称
7个有害王国 捕获NullPoInterException
Java(2011)的CERT ORACLE SECURE编码标准 err08-j 请勿捕获NullPoInterException或其任何祖先
+参考
[Ref-6] Katrina Tsipenyuk,Brian Chess和Gary McGraw。“七个有害王国:软件安全错误的分类法”。NIST关于软件安全保证工具技术和指标的研讨会。nist。2005-11-07。<https://samate.nist.gov/ssattm_content/papers/seven%20pernious%20kingdoms%20-%20-%20taxonomy%20OF%20SW%20SECURITY%20Security%20ERR%20-20-%20-%20-%20TSIPENYUK;>。
+内容历史记录
+提交
提交日期 提交者 组织
2006-07-19 7个有害王国
+修改
修改日期 修饰符 组织
2008-07-01 埃里克·达奇(Eric Dalci) 雪茄
更新的time_of_introduction
2008-09-08 CWE内容团队 MITER
更新的关系,其他_notes,分类_mappings
2009-03-10 CWE内容团队 MITER
更新的关系
2009-05-27 CWE内容团队 MITER
更新了示范_examples
2011-03-29 CWE内容团队 MITER
更新其他_notes,关系
2011-06-01 CWE内容团队 MITER
更新的common_conconquence,关系,分类_mappings
2012-05-11 CWE内容团队 MITER
更新的关系
2012-10-30 CWE内容团队 MITER
更新的势_MINEIGATIONS
2014-06-23 CWE内容团队 MITER
更新的描述,其他_notes
2014-07-30 CWE内容团队 MITER
更新的detection_factor,关系
2019-01-03 CWE内容团队 MITER
更新的分类法_ mappings
2020-02-24 CWE内容团队 MITER
更新的引用
+先前的输入名称
改变日期 先前的输入名称
2008-04-11 捕获NullPoInterException
提供更多信息 - 请选择其他过滤器。
页面最后更新:2023年1月31日