静态分析领域中弱点、不足、缺陷、故障等概念之间的关系

        在CWE范畴内,讨论的核心内容是“弱点”及“不足”,而在软件静态分析范畴内,研究的核心内容是“缺陷”及“故障”,CWE已经越来越多的被静态分析用于重要参照标准。因此有必要将这几个关键概念之间的关系梳理清楚。

“弱点(Weakness)”定义

CWE中对弱点的定义是这样的:弱点是产品中一类错误,在特定的条件下,可能会诱发产品缺陷的发生,此术语应用于对错误的定性,并不考虑这些错误是否在软件生名周期中的设计、实现及其它阶段中真实发生。

“不足(Vulnerability)”定义

CWE中对不足的定义是这样的:不足是指一个产品中实际发生的一个或多个弱点,致使弱点能够被用于访问或修改不对外开放的数据,打断正常执行,或执行未获授权的不当操作等。

“缺陷(Defect)”定义

IEEE729-1983对缺陷有一个标准的定义:从产品内部看,缺陷是软件产品开发或维护过程中存在的错误、毛病等各种问题;从产品外部看,缺陷是系统所需要实现的某种功能的失效或违背。

“故障”定义

软件中错误的外在表现。故障是缺陷的子类,是软件执行时出现的缺陷。

从定义来看,借助于“面向对象”设计中的一些概念,“弱点”与“不足”之间的关系是类和对象的关系,“缺陷”与“故障”之间的关系同样是类和对象之间的关系。

而“弱点”于“缺陷”之间的关系更为复杂一些。考虑到CWE主要是以软件安全为出发点,而且在CWE范畴内有具体且明确的定义。而缺陷仅仅是一个抽象概念,定义也是用抽象语言描述的,并没有明确而具体的定义。如果从纯概念角度来说,弱点肯定是缺陷的子集。在很多场合,比如某个行业或某各组织,会指定一系列具体的标准来给出缺陷的明确且具体的定义,另外一种说法是“标准”,比如Misra,Certc等等,如果从这个角度出发,对于绝大多数缺陷相关的标准来说,“”“缺陷”同“弱点”之间存在交集,但互不包含。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

plstudio1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值