【悟空云课堂】第三十六期:使用过时方法(CWE-477:Use of Obsolete Function)

关注公众号“中科天齐软件安全中心”(id:woocoom),一起涨知识!

该栏目为中科天齐全新规划的悟空云课堂,每周五下午18:00准时上线,旨在科普软件安全相关知识,助力企业有效防范软件安全漏洞,提升网络安全防护能力。

什么是使用过时方法缺陷?(CWE-477:Use of Obsolete Function)

代码使用了不推荐使用的或已经过时的方法,这表明该代码没有得到积极地审查或维护。
随着编程语言的发展,由于以下原因,方法有时会过时:

1、语言进步
2、更深入理解如何安全有效地执行操作
3、改变了某些特定操作的规范/惯例
通常,被删除的方法会被更新的对等方法所取代,后者以某种不同的方式执行同一任务。

使用过时方法缺陷构成条件有哪些?

代码使用了不推荐使用的或已经过时的方法。

使用过时方法缺陷会造成哪些后果?

使用过时方法可能导致程序质量下降。

使用过时方法缺陷的防范和修补方法有哪些?

请参阅过时方法的文档,以确定为什么不推荐使用该过时的方法,并了解实现相同功能的替代方法。

使用过时方法缺陷样例(Date类中的大部分方法都已经被Calendar类中的方法所取代):

   
     public FlushAcknowledgement(StreamInput in) throws IOException {
         id = in.readString();
         if (in.getVersion().after(Version.V_5_5_0)) {
             lastFinalizedBucketEnd = new Date(in.readVLong());
         }
     }

Wukong(悟空)软件代码安全检测修复系统检测上述程序代码,则可以发现代码中存在着“使用过时方法” 导致的代码缺陷,如下图(Date类中的大部分方法都已经被Calendar类中的方法所取代)

Wukong(悟空)软件代码安全检测修复系统
使用过时方法缺陷在CWE中被编号为CWE-477:Use of Obsolete Function

更多的信息请参考CWE官网:http://cwe.mitre.org/data/definitions/477

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值