• 请不要在回答技术问题时复制粘贴 AI 生成的内容
neurocomputing
V2EX  ›  程序员

如何在执行不信任代码时确保安全?

  •  
  •   neurocomputing · Jan 2, 2019 · 3131 views
    This topic created in 2727 days ago, the information mentioned may be changed or developed.

    就像 Leetcode 那样,用户上传代码执行,但不会对整个系统造成影响

    是在环境上做工作?比如,对每次执行建立一个虚拟环境,代码执行完销毁该环境

    还是在代码过滤上做工作?比如,限制 import 的包、过滤某些危险代码

    7 replies    2024-08-02 18:47:51 +08:00
    wwqgtxx
        1
    wwqgtxx  
       Jan 2, 2019
    seccomp 了解一下,主要还是靠白名单
    wqyyy
        2
    wqyyy  
       Jan 3, 2019 via Android
    扔容器里吧
    eslizn
        3
    eslizn  
       Jan 3, 2019
    沙箱,不同平台有不同的实现方式。不过现在用 docker 会更方便
    yanaraika
        4
    yanaraika  
       Jan 3, 2019 via Android
    seccomp 限制 syscall
    cgroup 限制资源占用
    chroot 限制文件系统暴露面

    代码过滤是最不安全的做法。光个 c 直接写 shellcode 你都拦不住
    azh7138m
        5
    azh7138m  
       Jan 3, 2019 via Android
    可以 ptrace+setrlimit,再加个超时 kill,基本 ok
    undefined8
        6
    undefined8  
       Jan 3, 2019
    沙盒?
    huihuiHK
        7
    huihuiHK  
       Aug 2, 2024
    @yanaraika 最近在了解这些。不过网上资料都比较散,有相关书籍推荐吗?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5543 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 93ms · UTC 06:04 · PVG 14:04 · LAX 23:04 · JFK 02:04
    ♥ Do have faith in what you're doing.