有使用jvm sandbox的吗?
想请问一下为什么sandbox-spy.jar要放在bootstrapClassLoader加载,而不是放在systemClassloader加载呢? 如果按照双亲委派的原则,放在systemClassLoder中加载不也可以从沙盒和目标类之间查找到吗?我有点不理解,哪位可以解释一下呢?
jvm sandbox为什么sandbox-spy.jar要放在bootstrapClassLoader加载
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
关注引用 皆我百晓生 小程序回复内容作答:
JVM Sandboxing是一种在Java虚拟机中实现代码隔离和访问控制的机制。在这种机制中,sandbox-spy.jar被设计为被放置在bootstrap ClassLoader中加载的原因是为了增强沙盒功能并防止安全漏洞。当一个类被加载时,JVM会按照双亲委派模型从上到下逐级加载类。bootstrap ClassLoader是JVM默认的最顶层类加载器,负责加载核心Java类库,这些类库通常被信任并且经过仔细审查,被认为是安全的。相比之下,system ClassLoader则负责加载用户代码,并且不具备相同的信任级别。
将sandbox-spy.jar放置在bootstrap ClassLoader中,可以确保其代码在最高的安全级别下执行。这样做的目的是为了防止沙盒中的恶意代码通过加载到system ClassLoader中所加载的类,绕过沙盒的安全控制。
通过这种安排,sandbox-spy.jar能够拥有更高的权限并与JVM的核心类库进行交互,实现对JVM内部的监控和管理。如果它被加载到system ClassLoader中,它将具备与普通用户代码相同的访问权限,这可能导致无法控制或监视沙盒内发生的事情,从而降低了沙盒的安全性。
总之,将sandbox-spy.jar放置在bootstrap ClassLoader中是为了增强JVM Sandboxing的安全性,并有效地保护沙盒功能。
解决 无用评论 打赏 举报