CWE-58:EmptySynchronized Block空的同步块缺陷漏洞分析
由于CWE对源代码缺陷描述的准确性和权威性,源代码缺陷检测厂家逐渐在产品和服务中引用CWE中的相关信息。CWE(Common Weakness Enumeration,通用缺陷枚举)是由美国国土安全部国家计算机安全部门资助的软件安全战略性项目。CVE(Common Vulnerabilities & Exposures,常用漏洞和风险)。CVE是国际著名的安全漏洞库,也是对已知漏洞和安全缺陷的标准化名称的列表,它的使命是为了能更加快速而有效地鉴别、发现和修复软件产品的安全漏洞。
接下来为大家主要讲解CWE-585空的同步块缺陷漏洞分析,有想法的同学可以一起加入讨论。
一. 漏洞信息
1. 漏洞简述:什么是空的同步块缺陷?
空的同步块实际上并不能完成任何同步,并且可能是有问题的代码段。空的同步块可能是因为在不删除同步块的情况下,注释掉了同步块中不再需要的代码导致的。
2. 空的同步块缺陷构成条件有哪些?
该程序包含一个空的同步块。
3. 空的同步块缺陷会造成哪些后果?
空的同步块将会等待,直到没有人正在使用指定的同步器。虽然这可能是所需行为的一部分,但由于您没有通过将后续代码放在同步块中来保护后续代码,所以无法阻止其他人修改您在运行后续代码时所等待的内容。
二、漏洞样例
1. 空的同步块缺陷样例:
2. 用悟空静态代码安全检测工具分析上述程序代码,则可以发现代码中存在着“空的同步块” 导致的代码缺陷,如下图:
三、空的同步块缺陷的防范和修补方法有哪些?
当您遇到空的同步语句或其中代码已被注释掉的同步语句时,请尝试确定最初的意图以及是否仍然需要同步块。
软件安全是网络安全的最后一道防线。