悟空云課堂丨代碼安全第三十期:拋出通用異常缺陷
中科天齊傾情打造《悟空云課堂》旨在科普軟件安全相關(guān)知識,助力企業(yè)有效防范軟件安全漏洞,提升網(wǎng)絡(luò)安全防護(hù)能力。本期主題為拋出通用異常缺陷漏洞的相關(guān)介紹。
一、什么是拋出通用異常缺陷?
拋出過于寬泛的異常會導(dǎo)致復(fù)雜的錯誤處理代碼,這些代碼很可能包含安全漏洞。
聲明拋出Exception或Throwable的方法會使調(diào)用方難以執(zhí)行正確的錯誤處理和錯誤恢復(fù)。例如,Java的異常機(jī)制的設(shè)置使調(diào)用者能夠輕松地預(yù)測可能出現(xiàn)的錯誤,并編寫代碼來處理每個特定的異常情況。
二、拋出通用異常缺陷的構(gòu)成條件有哪些?
拋出過于寬泛的異常。
三、拋出通用異常缺陷會造成哪些后果?
聲明一個方法拋出泛型形式的異常會使系統(tǒng)失敗。
四、拋出通用異常缺陷的防范和修補(bǔ)方法有哪些?
將方法拋出異常的類型具體詳細(xì)化。
五、拋出通用異常缺陷樣例:

用靜態(tài)代碼檢測分析上述程序代碼,則可以發(fā)現(xiàn)代碼中存在著“拋出通用異?!盨ecure屬性” 導(dǎo)致的代碼缺陷,如下圖:

拋出通用異常缺陷在CWE中被編號為CWE-397:Declaration of Throws for Generic Exception
評論
圖片
表情
