c++ - 如何在有安全限制的情况下安全地编译和执行c++程序?

标签 c++ security compilation

我正在寻找一种在文件夹中编译和执行 C++ 程序的方法,这样它就无法访问正在执行的文件夹之外的其他文件夹或程序。我正在尝试构建一个在线 C++ 编译器。

我想从程序中避免的事情是访问文件夹外的任何文件、更改/删除任何文件或创建新文件并在新位置复制。所有这些都是为了保护服务器免受执行恶意代码和导致系统崩溃的影响。

我有一个windows环境,但如果有更好的实现方式,linux会很好。我也在 Windows 中寻找用户角色、访问权限和一些 3d 派对应用程序(如沙盒),但对其中任何一个都不满意。

有什么建议吗?

最佳答案

chroot 在 *nix 系统上用于此目的,但请确保您还以具有足够受限权限的用户身份运行代码以阻止它们只是撤消 chroot:http://kerneltrap.org/Linux/Abusing_chroot

对于 Windows 等效项:https://serverfault.com/questions/161507/is-there-a-windows-equivalent-to-chroot ,尽管看起来这个问题并没有引起大量关注。

关于c++ - 如何在有安全限制的情况下安全地编译和执行c++程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10854446/

相关文章:

c++ - 程序集和模板类

powershell - 使用powershell从xml读取键值

c++ - std::tr1 尚未声明

c++ - 介绍性 C++ 程序

c++ - 使用 FFMPEG 编码 H264 时如何转储缓冲区?

c++ - Windows 上的 Code::Blocks 13.12 即使使用 -std=c++11 也无法识别 std::codecvt

security - ABAP 安全存储 : how to store passwords?

iphone - django 服务器和 iphone 应用程序之间的安全通信

java - 如何让我的编译插件覆盖maven插件?

c++ - 没有在C++枚举上命名的类型