3

我正在编写一个 JavaFX2 应用程序,它接受从远程位置加载的任意代码。对我来说,使用自定义 SecurityManager、ClassLoader 和 ProtectionDomain 是要走的路。不幸的是,这似乎与用于沙盒小程序的设置相同,这导致了许多安全漏洞,这反过来又使人们害怕 Java Web 插件并将其从他们的操作系统中完全删除。

Java 沙箱是运行不受信任代码的安全环境,还是只是整个 Java Web 插件不安全?

4

1 回答 1

4

安全管理器提供您的应用程序。与提供插件一样多的保护。考虑到安全漏洞,“不多”。

它目前插入了已知的安全漏洞 (AFAIU)。但就像在任何复杂的插件中一样,可能还有更多,有待发现,或者可能会在新版本或新 API 中引入。

因此,基本上,您的代码应该超出标准的安全管理器,将整个包列入黑名单并(如果需要)提供实用方法,通过这些方法执行通常由该包处理的活动。

但是,这个建议是 20+ 点列表中的第一点,我可能能够说出 2 或 3 个可能的应用程序。在运行不受信任的代码时可能需要提防。虽然这不是问题..

Java沙箱是一个安全的环境来运行不受信任的代码吗?

不可以。Java 安全性可能为针对不受信任的代码提供安全性提供了一个很好的起点,但它需要针对应用程序进行扩展,并具有其他元素以适应所需的任务。即便如此,仍有“未知的安全漏洞”(在 JRE 以及您自己的安全工作中)需要考虑。

于 2013-09-28T14:50:12.883 回答