【发布时间】:2020-12-10 00:34:36
【问题描述】:
我正在尝试使用 Linux 安全模块,尝试制作一个。
关于它们应该如何工作的主要知识来源是邮件列表存档和现有 LSM 的来源,以及 Linux 文档中关于它们的几页。
我知道有两种 LSM。
- SELinux / AppArmor 等专有 LSM,在其 LSM 定义中设置了
LSM_FLAG_EXCLUSIVE标志。 - Yama、功能或锁定等非专有 LSM。
浏览所有这些 LSM 的源代码后,我发现非排他性 LSM 从不使用安全 blob。另一方面,独占者大量使用它们。
例如,请参阅 the AppArmor LSM definition 和 the one for Yama。
那么,非独占 LSM 可以指定 blob 大小并使用此功能吗?
为了找到答案,我探索了框架的源代码,看看是否可能在每个 LSM 挂钩调用之间切换了安全 blob,我想这将允许每个 LSM 只能访问自己的 blob,而不能访问另一个 LSM 的 blob。
但是,我们可以看到here in the LSM framework 并非如此。
如果我的 LSM 声明了 blob 大小,如果我的内核也启用了 SELinux,我是否可以使用这些 blob? SELinux 和我的结构不会重叠吗?
【问题讨论】:
标签: linux kernel linux-security-module