首页 / JAVA / 如何安全地实现Java插件安全性?
如何安全地实现Java插件安全性?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何安全地实现Java插件安全性?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1952字,纯文字阅读大概需要3分钟。
内容图文
我正在设计一个用于在Java应用程序中加载,处理和支持插件的系统.在我可以部署之前,我认为其中一个功能绝对至关重要的是能够建立一个安全环境,其中插件仅限于允许执行的操作.
我没有理解如何以编程方式使用策略文件而不在启动时运行-Djava.security.manager参数.所以这就是现在.
我的下一个想法是在我自己的SecurityManager子类中覆盖我在SecurityManager中关心的所有方法,并限制谁可以执行它们.
然后问题出现了,通过线程ID检查确定谁在询问此权限的唯一方法.因此,我设计了一个所有插件线程都驻留的系统,并且只能驻留在PluginThreads线程组中.
这工作……直到一切都开始爆炸.问题是被阻止的一些事情是由Sun的代码执行的内部操作.
因此,即使是打开窗口等最基本的操作也会失败,因为我的安全经理拒绝访问Sun的代码.使用我的线程检查方法没有任何关系,因为Sun的代码是在PluginThreads组中执行的.
所以我需要知道的是:
1)有没有办法可以找出使用当前线程调用的上下文?
2)有没有更好的方法来做这个我不知道的事情?
3)如果该方法涉及策略文件,如何将它们加载到代码中?
4)您是否可以考虑使用其他任何方法来阻止Sun的内部Java代码被阻止?
解决方法:
SecurityManager是一个可怕的混乱.除了迭代地授予更多可能的可滥用权限,直到它看起来有效,你应该考虑要求插件写在Java的一个子集中,这样可以让你合理地推断他们可以做什么.
Joe-E提供可分解的安全性.从http://lambda-the-ultimate.org/node/3830开始:
We present Joe-E, a language designed to support the development of secure software systems. Joe-E is a subset of Java that makes it easier to architect and implement programs with strong security properties that can be checked during a security review. It enables programmers to apply the principle of least privilege to their programs; implement application-specific reference monitors that cannot be bypassed; introduce and use domain-specific security abstractions; safely execute and interact with untrusted code; and build secure, extensible systems. Joe-E demonstrates how it is possible to achieve the strong security properties of an object-capability language while retaining the features and feel of a mainstream object-oriented language…
内容总结
以上是互联网集市为您收集整理的如何安全地实现Java插件安全性?全部内容,希望文章能够帮你解决如何安全地实现Java插件安全性?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。