gpt4 book ai didi

linux - 如何计算流程的最小能力集?

转载 作者:太空狗 更新时间:2023-10-29 11:13:19 25 4
gpt4 key购买 nike

为任何进程计算最小 Linux 功能集的最佳方法是什么?

假设您正在加固操作系统,并且您的某些工具可能需要 CAP_NET_ADMIN 和相关的网络权限,而其他工具可能需要 CAP_SYS_NICE。应该有一种方法可以告诉每个可执行文件哪些功能是真正需要的。

最佳答案

在运行时确定所需功能的两种可能方法:

  • 随后在 strace 下运行您的程序,无需 root 权限。使用 EPERM 确定哪些系统调用失败,并向您的程序添加相应的功能。重复此操作,直到收集到所有功能。
  • 使用SystemTapDTraceKprobes 来记录或拦截内核中为您的程序进行的功能检查。 (例如,使用 BCC 工具套件中的 capable,如 here 所述)

我想,具有良好覆盖率的单元测试会有很大帮助。另请注意 capabilities(7)手册页列出了可能需要每种功能的系统调用(尽管它不是完整列表)。

更新:

article @RodrigoBelem 提到的 capable_probe 模块,它基于 KProbes

关于此模块的原始文章是“POSIX 文件功能:分解 root 的力量”,现在不可用(托管 here)。但是你可以找到 source codesome docs在互联网上。

关于linux - 如何计算流程的最小能力集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31441320/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com