关注公众号“中科天齐软件安全中心”(id:woocoom),一起涨知识!
该栏目为中科天齐全新规划的悟空云课堂,每周五下午18:00准时上线,旨在科普软件安全相关知识,助力企业有效防范软件安全漏洞,提升网络安全防护能力。
【悟空云课堂】第二十五期:数组声明为public final static缺陷(CWE-582:Array Declared Public, Final, and Static)
什么是数组声明为public final static缺陷?
程序声明一个public final static的数组,这不足以防止修改数组的内容。
数组声明为public final static缺陷构成条件有哪些?
因为数组是可变对象,所以最终约束要求数组对象本身只分配一次,但不保证数组元素的值。由于数组是public的,因此恶意程序可以更改存储在数组中的值。因此,在大多数情况下,声明为public final static的数组是一个错误。
数组声明为public final static缺陷会造成哪些后果?
程序数据会被修改,可能产生不利影响。
数组声明为public final static缺陷的防范和修补方法有哪些?
大部分情况下,数组声明应为private。
数组声明为public final static缺陷样例:<