模块边界也是安全边界吗?

Joh*_*uhn 7 java security sandbox java-security java-module

我想知道模块边界是否也是安全边界?

更具体地说,没有非法访问(--illegal-access=deny)和拒绝访问jdk.unsupported,它看起来accessClassInPackage不会再导致完整的沙箱逃脱.

真的吗?当此权限授予不受信任的代码时,是否还有其他方法可以破坏JVM的安全性?

要明确:

  • 要加载您需要的本机库ReflectPermission("supressAccessChecks")- 未授予
  • 要访问ReflectPermission("supressAccessChecks")您需要访问-Djava.security.manager模块和--illegal-access=deny- 未授予
  • RuntimePermission("loadLibrary.*")通过反射访问sun.misc.Unsafe,RuntimePermission("accessClassInPackage.sun.misc")必须打开ClassLoader.defineClass您的模块 - 它不是.

所以要么:

  • 是否有其他方法可以绕过/转义java沙箱setAccessible(true)
  • 或者模块边界是否被视为安全边界,这样的沙箱旁路会被视为安全漏洞?