据我所知,Java可以加载/执行DLL代码,但我想知道是否有任何安全检查来防止JVM调用系统中的不可信代码。难道这不会破坏系统 - 有没有任何操作系统功能可以防止这种情况发生?或者有人可以用Java自己写一些防止不可信代码被加载的方法?谢谢你的帮助。Java DLL安全常见问题
0
A
回答
3
不可以。一旦你通过JNI调用本地代码,那么本地代码可以自由地执行任何操作(取决于操作系统本身的许可)。没有沙箱从JVM调用的本地代码的概念。
请注意,这是一个特别令人头疼的JNI代码。严重编码的本地代码可能会取消JVM(而不是简单地抛出一个异常),而后续的调试/解析特别困难。
1
本机代码的加载本身可以被阻止。通常例如小程序运行这样的安全上下文,他们无法加载本地库。但是,如果JVM允许您的Java代码调用不可信的本机代码,则所有投注都将关闭。
+0
谢谢,这很有道理。 – ash 2009-11-18 22:13:26
相关问题
- 1. Java安全问题
- 2. Java Applet安全问题
- 3. 常见问题
- 4. 常见的问题:信任类型不安全连接
- 5. Java安全异常
- 6. Ipython常见问题
- 7. Java安全访问控制异常
- 8. Rails安全问题
- 9. JSON安全问题?
- 10. 安全问题
- 11. 安全问题
- 12. 安全问题?
- 13. 如何解决这个非托管dll安全访问问题?
- 14. Java安全策略文件问题
- 15. 常见的jQuery不安全编程
- 16. 安装.NET dll库问题
- 17. 问题的常见标签
- 18. CSS margin的常见问题
- 19. 如何在部署之前检查常见安全问题的apk文件?
- 20. 安全问题extjs
- 21. JBoss安全问题
- 22. Maven安全问题
- 23. BDC安全问题
- 24. AJAX安全问题
- 25. WS安全问题
- 26. WCF安全问题
- 27. Acegi安全问题
- 28. WCF安全问题
- 29. osCommerce安全问题
- 30. JavaScript安全问题
感谢您的回答! – ash 2009-11-18 22:12:49