悟空云课堂丨代码安全第二十期:资源未关闭/释放漏洞

中科天齐软件源代码安全检测中心

共 676字,需浏览 2分钟

 ·

2021-05-07 13:57

KyXv48pIvx.jpg

中科天齐倾情打造《悟空云课堂》旨在科普软件安全相关知识,助力企业有效防范软件安全漏洞,提升网络安全防护能力。本期主题为资源未关闭/释放漏洞的相关介绍。

一、什么是资源未关闭/释放?

在使用临时或配套资源后,软件没有正确“清理”和删除这些资源。


二、资源未关闭/释放漏洞构成条件有哪些?

满足以下条件,就构成了一个该类型的安全漏洞

1、软件在使用后没有正确“清理”并删除临时的或配套的资源。


三、资源未关闭/释放漏洞会造成哪些后果?

关键词:其他;读取应用数据;修改申请数据;DoS:资源消耗(其他);

1、临时文件长时间存在可能会导致应用数据泄露;

2、可能会造成临时文件数量溢出,因为目录通常对允许的文件数有限制。这可能会造成拒绝服务问题。


四、资源未关闭/释放漏洞的防范和修补方法有哪些?

1、临时文件和其他配套资源在不再需要后应立即关闭/释放;

2、Java应用程序中流资源应该在finally块中释放。


五、资源未关闭/释放漏洞样例:

0JfZ6fKjOs.jpg

Java应用程序中的流资源应该在finally块中释放,否则在调用close()之前引发异常将导致I/O资源未释放。在下面的示例中,在try块中调用close()方法(不正确)。

Wukong软件源代码静态分析工具检测上述程序代码,则可以发现代码中存在着“资源未关闭/释放”导致的代码缺陷,如下图:

8sJ3RGVLpF.jpg

资源未关闭/释放在CWE中被编号为CWE-459: Incomplete Cleanup


参读链接:https://www.woocoom.com/b021.html?id=4b19d942da5a4a40813aee2f52243608

浏览 29
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报