本文主要是介绍【悟空云课堂】第三十六期:使用过时方法(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类中的方法所取代)
使用过时方法缺陷在CWE中被编号为CWE-477:Use of Obsolete Function
更多的信息请参考CWE官网:http://cwe.mitre.org/data/definitions/477
这篇关于【悟空云课堂】第三十六期:使用过时方法(CWE-477:Use of Obsolete Function)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!