就像 Leetcode 那样,用户上传代码执行,但不会对整个系统造成影响
是在环境上做工作?比如,对每次执行建立一个虚拟环境,代码执行完销毁该环境
还是在代码过滤上做工作?比如,限制 import 的包、过滤某些危险代码
1
wwqgtxx 2019-01-02 23:59:48 +08:00
seccomp 了解一下,主要还是靠白名单
|
2
wqyyy 2019-01-03 00:03:48 +08:00 via Android
扔容器里吧
|
3
eslizn 2019-01-03 00:04:25 +08:00
沙箱,不同平台有不同的实现方式。不过现在用 docker 会更方便
|
4
yanaraika 2019-01-03 00:14:54 +08:00 via Android
seccomp 限制 syscall
cgroup 限制资源占用 chroot 限制文件系统暴露面 代码过滤是最不安全的做法。光个 c 直接写 shellcode 你都拦不住 |
5
azh7138m 2019-01-03 09:32:45 +08:00 via Android
可以 ptrace+setrlimit,再加个超时 kill,基本 ok
|
6
ww2000e 2019-01-03 09:33:00 +08:00
沙盒?
|