代码之家  ›  专栏  ›  技术社区  ›  thomasfedb

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

  •  8
  • thomasfedb  · 技术社区  · 14 年前

    根据 Using ptrace to write a program supervisor in userspace

    • 防止分叉或运行其他命令
    • 阻止网络访问
    • 限制对除2个文件以外的所有文件的访问在.txt中'和'顺序文件'
    • 阻止访问任何系统功能或详细信息。
    • 防止任何讨厌的事情。

    非常感谢您的帮助/建议/链接。

    3 回复  |  直到 7 年前
        1
  •  3
  •   Kaelin Colclasure    14 年前

    从安全的角度来看,最好的方法是找出需要允许的内容,而不是需要拒绝的内容。我建议从一个只记录已知良性程序集所做的一切的管理器开始,然后将那些系统调用和文件访问列为白名单。当新程序与这个限制性很强的沙盒冲突时,您可以逐个评估放宽限制的情况,直到找到正确的配置文件。

    这就是在macosx上开发应用程序沙盒配置文件的基本方式。

        2
  •  1
  •   Emil Sit    14 年前

    也许您可以配置 AppArmor 做你想做的事。从常见问题:

    AppArmor是目前市场上最有效、最易于使用的Linux应用程序安全系统。AppArmor是一个安全框架,通过强制执行良好的程序行为和防止未知软件缺陷被利用,主动保护操作系统和应用程序免受外部或内部威胁,甚至零日攻击。AppArmor安全配置文件完全定义了各个程序可以访问哪些系统资源,以及具有哪些权限。AppArmor中包含了许多默认策略,通过结合使用高级静态分析和基于学习的工具,即使是非常复杂的应用程序,AppArmor策略也可以在数小时内成功部署。

        3
  •  0
  •   Community arnoo    7 年前

    Using ptrace to write a program supervisor in userspace .

    您可以使用valgrind来检查和钩住函数调用、库,但是这样做会很乏味,也许黑名单不是一个好方法。

    http://en.wikipedia.org/wiki/Systrace )编写规则以授权/阻止各种事情,例如只打开一些文件等。。。用它来沙盒进程很简单。