【问题标题】:Running untrusted code using chroot使用 chroot 运行不受信任的代码
【发布时间】:2016-03-18 19:39:21
【问题描述】:

我希望使用chroot 运行一些不受信任的代码。

但是,许多人声称chroot 不是安全功能,很容易被破解。

因此,我的问题是https://ideone.com/ 之类的应用如何能够快速安全地运行不受信任的代码。另外,如果chroot 可以被突破,难道chroot 不能在https://ideone.com/ 中突破。

【问题讨论】:

    标签: virtual-machine sandbox chroot


    【解决方案1】:

    我不确定你指的是什么不受信任的代码,但 chroot 只是改变了明显的文件结构——理论上你不能看到高于某个级别。但是符号链接仍然可以工作,所以如果你的 chroot 目录有一个指向上面目录的符号链接,chroot 对你没有任何好处。

    应用程序也可以通过其他应用程序访问资源。一些聪明的黑客知道如何利用正在运行的应用程序,但是如果您将 ideone 环境设置为 root,那么一切皆有可能。

    从理论上讲,您可以安装一个对文件系统具有完全访问权限的主应用程序。然后在 chrooted 环境中运行代码。如果该主应用程序正在运行并正在侦听,它可以将资源中继到您的 chroot 应用程序。

    快吗?当然......安全......好吧......在我的例子中,主应用程序是一个看门人,但它仍然是通过对主应用程序的信任来确保安全。

    【讨论】:

    • 那么 ideone 如何执行用户代码(可能是恶意的)?
    • "Ideone 是一个在线编译器和调试工具,它允许您以 60 多种编程语言编译源代码并在线执行它。" -- 灵活的工具带来灵活的解决方案。同样,chroot 只是一个文件系统安全配置,如果你的代码调用了一些可以访问你的 chroot 文件系统之外的正在运行的进程,那么所有的赌注都没有了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-24
    • 2017-11-05
    • 1970-01-01
    • 1970-01-01
    • 2013-07-01
    • 2020-10-30
    • 1970-01-01
    相关资源
    最近更新 更多