我们刚刚获得了有关我们交付的J2ME应用程序安全性的反馈,看来Veracode正在采用在Resources.Open(“ / res / resfile.res”)中调用的getClass()。getResourceAsStream()作为安全缺陷。 。
http://www.cvedetails.com/cwe-details/73/External-Control-of-File-Name-or-Path.html
这里的问题是资源不是由用户输入提供的,而是以我在此显示的方式调用的。但是,由于某些原因,我们正在处理的公司不会接受误报。
是否有其他替代方法来加载资源,以使其不使用getResourceAsStream并通过Veracode测试?
最佳答案
没有,没有其他方法可以为J2ME加载内部资源。您需要在getResourceAsStream()
对象上使用Class
。
这不是安全缺陷。我认为Veracode感到困惑。看起来他们认为您正在从用户SD卡或内部电话存储中加载外部文件,这确实是一个安全漏洞。但这不是getResourceAsStream()
的作用。
使用getResourceAsStream()
唯一可以读取的是您自己创建的JAR中包含的文件。
我认为您唯一能做的就是尝试向Veracode解释这一点。因为它绝对不是安全缺陷。