如何在安全限制下安全地编译和执行C ++程序
How to compile and execute c++ program safely with security restrictions?
我正在寻找一种在文件夹中编译和执行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,尽管看起来这个问题并没有引起大量关注。
您可以应用分配给用户的系统范围权限,该权限仅允许他们在特定文件夹中读取/写入/执行。 所以他/她无法访问外部世界,也不能创建文件/文件夹等。
相关文章:
- 在执行其他功能的同时播放动画(LED矩阵和Arduino/ESP8266)
- 从不同线程使用int64的不同字节安全吗
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- C++,系统无法执行指定的程序
- 在 c++ 中从执行的 shell 命令获取返回状态的安全方法是什么?
- 在 std::remove_if 执行期间遍历容器是否安全?
- 杀死执行纪念品的线程安全吗?
- 在转换为较小的数值类型之前执行范围检查的安全、跨平台方法是什么
- 在计时器执行过程中使用 c++ KillTimer() 是否安全?
- 在可执行文件中实现静态方法是否安全,该方法已在共享库中实现
- 在运行时在v110可执行文件中使用v90 COM dll是否安全
- 这是通用 SQL 执行函数的安全实现吗?
- 是否可以反编译C++生成器可执行文件?C++生成器 exe 安全吗?
- 可能?Win32 完全安全执行
- 如何在安全限制下安全地编译和执行C ++程序
- 多线程模式下的SQLite3:执行到底不安全
- 将可执行的 gcc 与可执行的 gcc 与可视化C++库链接是否安全
- 在c++中是否有一种安全的方式来执行来自用户/客户端的代码?
- 在执行二进制序列化时,删除字符串流结果的const-ness是否安全?
- 嵌套函数的线程安全和唯一执行