Google App Engine 沙盒如何工作?

2022-09-03 07:38:18

Google App Engine 沙盒如何工作?

我必须做些什么来创建我自己的此类沙盒(安全地允许我的客户在我的引擎上运行他们的应用程序,而不让他们能够格式化我的磁盘驱动器)?它只是类装入器魔术,字节操作还是别的什么?


答案 1

您可能需要将限制性类装入器和对 Java 安全体系结构的透彻理解结合起来。您可能会使用指定的非常严格的安全管理器来运行JVM。


答案 2

在Java的情况下,我认为它主要是通过限制可用的库来完成的。由于Java没有指针概念,并且您无法上传本机编译的代码(只有JVM字节码),因此您无法脱离沙箱。添加一些紧凑的流程调度,您就完成了!

我想最困难的部分是选择图书馆,使其在保持安全的同时有用。

在Python案例中,他们必须修改VM本身,因为它在设计时没有考虑到安全性。幸运的是,他们有圭多自己来做这件事。


推荐