在我的 IT 安全课程中,我经常遇到这些术语并且很难区分它们,所以我试图找出它们的区别:
沙盒:针对移动代码的防御机制,在单独的运行时环境中运行。代码和数据是分开的,以防止程序修改自己。这用于小型应用程序,例如 JVM 中的小程序。
解读:针对移动代码的防御机制。防止直接访问硬件,并解释和分析所有地址和系统调用。Web 浏览器以牺牲性能为代价使用这种技术。
Jailing:针对未知程序的防御机制。受监督程序囚徒的所有系统调用都由另一个程序囚徒检查,该囚徒也可以拦截和阻止它们。
这些定义是否有效,或者还有我没有看到的更多差异/相似之处?尤其是一些现实世界的场景会很有帮助,例如我知道沙盒在 JVM 中被用作 Java 安全性的一部分。