我希望有人可以帮我解决以下问题:
我对java堆栈内省的理解(这里可能有点过分简化)是一个进程生成一个堆栈帧然后被添加到堆栈中。现在,当进程需要进行系统调用时,堆栈内省算法会检查是否允许主体(即尝试访问资源的进程)使用特定资源,然后相应地注释框架(授予或禁止访问) )。
我的问题是:
答案 0 :(得分:3)
JVM如何决定是授予还是限制访问?用户是否参与了此决定?
它委派给当前安装的SecurityManager
。
以上是正确的还是我错过了什么?
SecurityManager
可以反省堆栈,也可以使用其他一些标准。与在浏览器中运行的小程序关联的SecurityManager
会进行内省,因此这在至少一个域中是正确的。
在这项研究中有一个例子(图2),其中框架继承/被告知前一帧的“信念集”!什么阻止恶意代码在此示例中执行(即访问不应该访问的资源)?
没什么。 Java安全性是一团糟,许多人建议在浏览器中关闭java,因为现在很少有合法站点使用它。
从2010年开始