悟空云課堂丨代碼安全第二十五期:數(shù)組聲明為public final static缺陷
中科天齊傾情打造《悟空云課堂》旨在科普軟件安全相關(guān)知識(shí),助力企業(yè)有效防范軟件安全漏洞,提升網(wǎng)絡(luò)安全防護(hù)能力。本期主題為數(shù)組聲明為public final static缺陷漏洞的相關(guān)介紹。
一、什么是數(shù)組聲明為public final static缺陷?
程序聲明一個(gè)public final static的數(shù)組,這不足以防止修改數(shù)組的內(nèi)容。
二、數(shù)組聲明為public final static缺陷構(gòu)成條件有哪些?
因?yàn)閿?shù)組是可變對(duì)象,所以最終約束要求數(shù)組對(duì)象本身只分配一次,但不保證數(shù)組元素的值。由于數(shù)組是public的,因此惡意程序可以更改存儲(chǔ)在數(shù)組中的值。因此,在大多數(shù)情況下,聲明為public final static的數(shù)組是一個(gè)錯(cuò)誤。
三、數(shù)組聲明為public final static缺陷會(huì)造成哪些后果?
程序數(shù)據(jù)會(huì)被修改,可能產(chǎn)生不利影響。
四、數(shù)組聲明為public final static缺陷的防范和修補(bǔ)方法有哪些?
大部分情況下,數(shù)組聲明應(yīng)為private。
五、數(shù)組聲明為public final static缺陷樣例:
用靜態(tài)代碼檢測(cè)分析上述程序代碼,則可以發(fā)現(xiàn)代碼中存在著“數(shù)組聲明為public final static缺陷” 導(dǎo)致的代碼缺陷,如下圖:
數(shù)組聲明為public final static缺陷在CWE中被編號(hào)為CWE-582:Array Declared Public, Final, and Static
評(píng)論
圖片
表情
