2016-12-06 98 views
0

我对我们的应用程序进行了安全扫描,并提出了其中一个安全问题,即“没有完整性检查的代码下载”。在Class.forName("SimpleClass");如何保护Class.forName(“SimpleClass”)?

行的这一风险点我怎么保证上面的代码行? 如何确保forName("")的参数不是我要加载的恶意类。

编辑:安全扫描使用的是Checkmarx。

+0

请描述课程来自何处。了解攻击的全部流程可能会帮助我们更好地了解情况并为您提供帮助。 – yaloner

回答

-1

不要把含在你的classpath不可信类的jar包。

该消息是不正确的。这不会下载任何东西。它只会加载一个必须已经存在于你的类路径中的类才能成功加载。

1

如果你没有得到来自外部的类,this weakness在这里并不适用。在这种情况下,您可以加载恶意类,如果它已经在类路径中。这意味着攻击者已经可以访问类路径 - 在这种情况下,阻力是徒劳的。

如果你从外面获取类 - 样,从什么地方下载它们或允许用户上传类或源代码和编译它 - 那么你受这个弱点和需要采取的措施。如果你从用户那里获得课程,你会遇到问题。 :)如果你从某个位置获得他们看起来很安全,则可以使用HTTPS或自己检查签名。但我想这不是你的情况。