什么系统调用阻止/允许/检查来创建程序主管

tho*_*edb 8 security system-calls

根据使用ptrace在用户空间编写程序管理程序,我正在尝试创建在线评判的程序管理程序组件.

我需要完全阻止哪些系统调用,始终允许或检查以下属性:

  • 防止分叉或运行其他命令
  • 限制为标准的"安全"C和C++库
  • 防止网络访问
  • 限制访问2个文件'in.txt'和'out.txt'以外的所有文件
  • 防止访问任何系统功能或细节.
  • 防止应用程序逃离其主管
  • 防止任何令人讨厌的事情.

感谢任何帮助/建议/链接非常感谢.

Kae*_*ure 3

从安全角度来看,最好的方法是弄清楚您需要允许什么,而不是您需要拒绝什么。我建议从一个主管开始,它只记录一组已知良性程序所做的一切,然后将这些系统调用和文件访问列入白名单。当新程序与这个限制非常严格的沙箱发生冲突时,您可以根据具体情况评估放宽限制,直到找到正确的配置文件。

这本质上就是在 Mac OS X 上开发应用程序沙箱配置文件的方式。