Google App Engine沙盒如何运作?

Sha*_*baz 16 java google-app-engine jvm sandbox

Google App Engine沙盒如何运作?

我需要做些什么来创建我自己的沙箱(为了安全地允许我的客户在我的引擎上运行他们的应用程序而不让他们能够格式化我的磁盘驱动器)?它只是类加载器魔术,字节操作或什么?

Pet*_*ore 9

您可能需要结合使用限制性类加载器并全面了解Java安全体系结构.您可能会使用指定的非常严格的SecurityManager运行JVM.


Jav*_*ier 2

就 Java 而言,我认为这主要是通过限制可用的库来完成的。由于Java没有指针概念,并且无法上传本机编译的代码(仅限JVM字节码),因此无法突破沙箱。添加一些严格的流程调度,就完成了!

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

在 Python 案例中,他们必须修改虚拟机本身,因为它的设计没有考虑到安全性。幸运的是,他们有吉多本人来做这件事。