CWE

普遍的弱点

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

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

CWE-477:使用过时功能

弱点ID:477
抽象:根据
结构:简单的
查看自定义信息:
+描述
该代码使用弃用或过时的功能,这表明该代码尚未被积极审查或维护。
+扩展描述

随着编程语言的发展,由于:

  • 语言进步
  • 对应如何有效,安全地执行操作的理解有所改善
  • 管理某些行动的约定的变化

删除的功能通常被较新的对应人员所取代,这些功能以某种不同且希望改进的方式执行相同的任务。

+关系
部分帮助该表显示了与该弱点相关的弱点和高级类别。这些关系定义为childof,parentof,ementof,并深入了解可能存在于较高和较低抽象水平的类似项目。此外,定义了诸如Peerof和Canalsobe之类的关系,以显示用户可能想要探索的类似弱点。
+与观点“研究概念”相关(CWE-1000)
自然 类型 ID 姓名
Childof 支柱支柱 - 弱点是最抽象的弱点类型,代表了与之相关的所有类别/基础/变体弱点的主题。从技术上讲,柱子与类别不同,因为在技术上仍然是一种描述错误的弱点,而类别代表用于分组相关事物的常见特征。 710 不当遵守编码标准
部分帮助该表显示了与该弱点相关的弱点和高级类别。这些关系定义为childof,parentof,ementof,并深入了解可能存在于较高和较低抽象水平的类似项目。此外,定义了诸如Peerof和Canalsobe之类的关系,以显示用户可能想要探索的类似弱点。
+与“软件开发”视图相关(CWE-699)
自然 类型 ID 姓名
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 1228 API /功能错误
+介绍模式
部分帮助引言的不同模式提供了有关如何以及何时引入这种弱点的信息。该阶段识别可能发生介绍的生命周期中的一个点,而音符提供了与给定阶段中引言有关的典型情况。
阶段 笔记
执行
+适用的平台
部分帮助该清单显示了可能出现的弱点的可能区域。这些可能适用于特定的命名语言,操作系统,体系结构,范式,技术或一类此类平台。该平台与给定弱点出现在该实例的频率一起列出。

语言

班级:不是特定语言的(不确定的患病率)

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

技术影响:质量退化

+示例的例子

示例1

以下代码使用弃用的函数getPW()来验证明文密码是否与用户的加密密码匹配。如果密码有效,则功能集结果为1;否则将其设置为0。

(不良代码)
示例语言:C
...
getPW(uid,pwdline);
for(i = 0; i <3; i ++){
cryptpw = strtok(pwdline,“:”);
pwdline = 0;
}
结果= strcmp(crypt(plainpw,cryptpw),cryptpw)== 0;
...

尽管代码通常行为正确,但使用GETPW()函数从安全角度来看可能是有问题的,因为它可以溢出缓冲区传递到其第二个参数。由于这个漏洞,GetPw()已被GetPwuid()取代,该漏洞的查找与getPw()相同,但返回指向静态分配的结构以减轻风险。并非所有功能都被弃用或替换,因为它们构成了安全风险。但是,过时函数的存在通常表明周围的代码已被忽略,并且可能处于失修状态。长期以来,软件安全不是优先考虑,甚至不是考虑因素。如果该程序使用弃用或过时的功能,则提高了潜伏在附近存在安全问题的可能性。

示例2

在以下代码中,程序员假设系统始终具有名为“ CMD”定义的属性。如果攻击者可以控制程序的环境,以便未定义“ CMD”,则该程序在尝试调用“ Trim()”方法时会引发无效的指针异常。

(不良代码)
示例语言:爪哇
字符串cmd = null;
...
cmd = emoverunt.getEnvironmentVariable(“ cmd”);
cmd = cmd.trim();

示例3

以下代码从字节数组中构造一个字符串对象,并指定每个16位Unicode字符的前8位。

(不良代码)
示例语言:爪哇
...
字符串名称= new String(nameBytes,Highbyte);
...

在此示例中,构造函数可能无法正确地将字节转换为字符,具体取决于使用哪个Charset编码名称Bybytes表示的字符串。由于用于编码字符串的炭的演变,该构造函数被弃用并由构造函数替换为构造函数,该构造器接受为其参数之一,用于编码用于转换字节的字节的charset名称。

+潜在的缓解

阶段:实施

请参阅过时功能的文档,以确定为什么它被弃用或过时,并了解实现相同功能的替代方法。

阶段:要求

认真考虑使用过时功能的安全含义。考虑使用替代功能。
+弱点
条件 描述
间接
(弱点是一个质量问题,可能会间接使引入与安全相关的弱点或使其更难检测到更容易)
+检测方法

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

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

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

有效性:高

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

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

对部分覆盖的成本效益:
  • 二进制 / bytecode拆卸器 - 然后使用手动分析解决漏洞和异常

有效性:飙升

动态分析和手动结果解释

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

高度成本效益:
  • 调试器

有效性:高

手动静态分析 - 源代码

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

高度成本效益:
  • 手动源代码审查(不是检查)
对部分覆盖的成本效益:
  • 专注的手动点检查 - 源的重点手动分析

有效性:高

自动静态分析 - 源代码

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

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

有效性:高

自动静态分析

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

高度成本效益:
  • 起源分析

有效性:高

建筑或设计评论

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

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

有效性:高

+会员资格
部分帮助此成员关系表显示了其他CWE类别和视图,将此弱点称为成员。该信息通常可用于理解弱点适合外部信息源的何处。
自然 类型 ID 姓名
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 398 7pk-代码质量
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 1001 SFP次级群集:使用不当API
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 1180 SEI CERT PERL编码标准 - 指南02.声明和初始化(DCL)
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 1181 SEI CERT PERL编码标准 - 指南03.表达式(EXP)
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 1308 CISQ质量措施 - 安全性
+分类映射
映射的分类名称 节点ID 合身 映射的节点名称
7个有害王国 过时的
软件故障模式 sfp3 使用不当API
SEI CERT PERL编码标准 DCL30-PL CWE更具体 请勿导入弃用的模块
SEI CERT PERL编码标准 EXP30-PL CWE更具体 请勿使用不建议的或过时的功能或模块
+参考
[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) 雪茄
更新的势_METIGATIONS,time_of_introduction
2008-09-08 CWE内容团队 MITER
更新的关系,其他_notes,分类_mappings
2009-03-10 CWE内容团队 MITER
更新其他_notes
2009-05-27 CWE内容团队 MITER
更新了示范_examples
2009-07-27 CWE内容团队 MITER
更新了示范_examples
2011-03-29 CWE内容团队 MITER
更新了示范_examples
2011-06-01 CWE内容团队 MITER
更新的common_cconsquences
2011-06-27 CWE内容团队 MITER
更新的common_cconsquences
2012-05-11 CWE内容团队 MITER
更新的关系
2012-10-30 CWE内容团队 MITER
更新的势_MINEIGATIONS
2014-06-23 CWE内容团队 MITER
更新的描述,其他_notes,势_METIGITATION
2014-07-30 CWE内容团队 MITER
更新的detection_factor,关系,分类_mappings
2017-11-08 CWE内容团队 MITER
更新了适用的_platforms,名称,关系,分类_mappings
2019-01-03 CWE内容团队 MITER
更新的分类法_mappings,fealness_ordinalition
2020-02-24 CWE内容团队 MITER
更新的引用,关系
2020-08-20 CWE内容团队 MITER
更新的关系
2021-03-15 CWE内容团队 MITER
更新的关系
+先前的输入名称
改变日期 先前的输入名称
2008-01-30 过时的
2017-11-08 使用过时的功能
提供更多信息 - 请选择其他过滤器。
页面最后更新:2023年1月31日