我希望使用chroot
运行一些不可信代码。使用chroot运行不可信代码
但是,很多人声称chroot
不是安全功能,可以很容易地被打破。
因此,我的问题是像https://ideone.com/这样的应用程序如何设法快速安全地运行不可信代码。另外,如果chroot
可以分解出来,难道不可能在https://ideone.com/中突破chroot
。
我希望使用chroot
运行一些不可信代码。使用chroot运行不可信代码
但是,很多人声称chroot
不是安全功能,可以很容易地被打破。
因此,我的问题是像https://ideone.com/这样的应用程序如何设法快速安全地运行不可信代码。另外,如果chroot
可以分解出来,难道不可能在https://ideone.com/中突破chroot
。
我不确定你指的是什么不可信的代码,但chroot只是改变了明显的文件结构 - 理论上你不能看到超过一定的水平。但符号链接仍然可以工作,所以如果你的chroot目录有一个符号链接到上面的目录,chroot对你没有任何好处。
应用程序也可以通过其他应用程序访问资源。一些聪明的黑客知道如何利用正在运行的应用程序,但是如果以root身份设置ideone环境,那么任何事情都是可能的。
更理论上来说,您可以安装一个可以完全访问文件系统的主应用程序。然后你在chrooted环境中运行代码。如果该主应用程序正在运行并且正在侦听,则它可以将资源转发给您的chroot应用程序
快?当然......安全地......好吧......以我的例子来说,主应用程序是一个看门人,但它仍然通过主应用程序的信任而保证安全。
那么ideone如何执行用户代码(潜在的恶意)? –
“Ideone是一款在线编译器和调试工具,它允许您编译源代码并以超过60种编程语言在线执行。” - 灵活的工具导致灵活的解决方案。同样,chroot只是一个文件系统安全配置,如果你的代码调用了一个可以在chroot文件系统之外访问的正在运行的进程,那么所有的投注都是关闭的。 –