java - 根据安全策略限制动态加载的类和 jar

标签 java security

我想动态加载一组 jar 或类(即在运行时加载的插件)。同时,我想限制这些插件在 JVM 中能够执行的操作。对于测试用例,我想将它们限制为几乎所有内容(现在我只允许读取一个 System.getProperty 值)。

我当前正在使用安全策略文件,但我很难为代码库中的一个文件夹或包指定策略,但无法为另一个文件夹或包指定策略。

这是我的政策现在的样子:

grant codeBase "file:/home/max/programming/java/plugin/plugins/" {
    permission java.util.PropertyPermission "java.version", "read";
};
grant codeBase "file:/home/max/programming/java/plugin/api/" {
    permission java.security.AllPermission;
};

其中(出于测试目的),plugins 包和文件夹中的所有文件都受到限制,但 api 文件夹中的类则不受限制。这可能吗?我必须创建自定义类加载器吗?有没有更好的方法来做到这一点?

谢谢。

最佳答案

这个答案解决了我的问题: Sandbox against malicious code in a Java application

关于java - 根据安全策略限制动态加载的类和 jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2626981/

相关文章:

java - 真实世界的登录过程如何在 Java 的 Web 应用程序中发生?

java - Mockito 验证 Callable 对象上没有失败

java - 如何绕过 Java EE 安全角色

wcf - WCF Web 服务是否适合非 Microsoft SOAP 客户端?

java - 如何仅使用 java API 访问安全的 kerberized hadoop

java - Spring MVC 支持的 Freemarker 中基于枚举的单选按钮

java - 使用 Spring Hibernate 获取对象或特定列

security - AuthSub session token 永不过期;安全问题?

security -/var/run/docker.sock 的 Docker 安全风险是什么?

php - 这个散列有多安全? (PHP)