arb*_*ero 10 language-agnostic linux gcc sandbox
我正在尝试运行从未知来源的C代码编译的程序.我想确保程序不会损害我的系统.例如,system("rm -rf /")除非彻底检查代码,否则程序可能在源代码中有类似的内容,这是不可检测的.
我想到了以下两种方式
两者都不是非常优雅的解决方案,我不能自动化它们.而且,如果是1,它可能会损害VM.
任何帮助,将不胜感激.
我想在我们称之为"沙盒"的程序中运行该程序.
我在这里写了一篇关于 Linux 上沙箱方法的概述(已存档)。在我看来,你最好使用 Linux 容器 (lxc) 或 selinux。您可以使用虚拟化解决方案并将其自动化,但这需要付出更多的努力。
lxc 将隔离您的进程、文件系统和网络,您可以在容器上设置资源限制。内核攻击的风险仍然存在,但已大大降低。