悟空云课堂 | 第二十五期:数组声明为public final static缺陷

81 阅读2分钟

中科天齐倾情打造《悟空云课堂》旨在科普软件安全相关知识,助力企业有效防范软件安全漏洞,提升网络安全防护能力。本期主题为数组声明为public final static缺陷漏洞的相关介绍。

一、什么是数组声明为public final static缺陷?

程序声明一个public final static的数组,这不足以防止修改数组的内容。

二、数组声明为public final static缺陷构成条件有哪些?

因为数组是可变对象,所以最终约束要求数组对象本身只分配一次,但不保证数组元素的值。由于数组是public的,因此恶意程序可以更改存储在数组中的值。因此,在大多数情况下,声明为public final static的数组是一个错误。

三、数组声明为public final static缺陷会造成哪些后果?

程序数据会被修改,可能产生不利影响。

四、数组声明为public final static缺陷的防范和修补方法有哪些?

大部分情况下,数组声明应为private。

五、数组声明为public final static缺陷样例:

用Wukong软件检测上述程序代码,则可以发现代码中存在着“数组声明为public final static缺陷” 导致的代码缺陷,如下图:

数组声明为public final static缺陷在CWE中被编号为CWE-582:Array Declared Public, Final, and Static

软件安全 网络安全的最后一道防线

中科天齐公司是在中科院计算技术研究所的大力推动下

以中科院计算所国际领先的自主研究成果

“软件代码漏洞检测修复平台(Wukong悟空)”

为基础组建的高新技术企业