悟空云課堂丨代碼安全第三十四期:空的同步塊缺陷漏洞
中科天齊傾情打造《悟空云課堂》旨在科普軟件安全相關(guān)知識(shí),助力企業(yè)有效防范軟件安全漏洞,提升網(wǎng)絡(luò)安全防護(hù)能力。本期主題為空的同步塊缺陷漏洞的相關(guān)介紹。
一、什么是空的同步塊缺陷?
空的同步塊實(shí)際上并不能完成任何同步,并且可能是有問(wèn)題的代碼段??盏耐綁K可能是因?yàn)樵诓粍h除同步塊的情況下,注釋掉了同步塊中不再需要的代碼導(dǎo)致的。
二、空的同步塊缺陷的構(gòu)成條件有哪些?
該程序包含一個(gè)空的同步塊。
三、空的同步塊缺陷會(huì)造成哪些后果?
空的同步塊將會(huì)等待,直到?jīng)]有人正在使用指定的同步器。雖然這可能是所需行為的一部分,但由于您沒(méi)有通過(guò)將后續(xù)代碼放在同步塊中來(lái)保護(hù)后續(xù)代碼,所以無(wú)法阻止其他人修改您在運(yùn)行后續(xù)代碼時(shí)所等待的內(nèi)容。
四、空的同步塊缺陷的防范和修補(bǔ)方法有哪些?
當(dāng)您遇到空的同步語(yǔ)句或其中代碼已被注釋掉的同步語(yǔ)句時(shí),請(qǐng)嘗試確定最初的意圖以及是否仍然需要同步塊。
五、空的同步塊缺陷樣例:

用靜態(tài)代碼檢測(cè)分析上述程序代碼,則可以發(fā)現(xiàn)代碼中存在著“空的同步塊” 導(dǎo)致的代碼缺陷,如下圖:

空的同步塊缺陷在CWE中被編號(hào)為CWE-585:EmptySynchronized Block
評(píng)論
圖片
表情
