【悟空云课堂】第三十四期:空的同步块(CWE-585:Empty Synchronized Block)

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

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

【悟空云课堂】第三十四期:空的同步块(CWE-585:Empty Synchronized Block)

什么是空的同步块缺陷?

空的同步块实际上并不能完成任何同步,并且可能是有问题的代码段。空的同步块可能是因为在不删除同步块的情况下,注释掉了同步块中不再需要的代码导致的。

空的同步块缺陷构成条件有哪些?

该程序包含一个空的同步块。

空的同步块缺陷会造成哪些后果?

空的同步块将会等待,直到没有人正在使用指定的同步器。虽然这可能是所需行为的一部分,但由于您没有通过将后续代码放在同步块中来保护后续代码,所以无法阻止其他人修改您在运行后续代码时所等待的内容。

空的同步块缺陷的防范和修补方法有哪些?

当您遇到空的同步语句或其中代码已被注释掉的同步语句时,请尝试确定最初的意图以及是否仍然需要同步块。

空的同步块缺陷样例:

public class bb {
 
     private int ID;
     public void setID(int ID){
         synchronized(this){
         }
     }
 }

用Wukong(悟空)软件代码安全检测修复系统检测上述程序代码,,则可以发现代码中存在着“空的同步块” 导致的代码缺陷,如下图:
Wukong(悟空)软件代码安全检测修复系统
空的同步块缺陷在CWE中被编号为CWE-585:Empty Synchronized Block

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

了解更多安全资讯 请关注公众号 中科天齐软件安全中心

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值