Linux 内核的 AppArmour 安全模块,最值得注意的是由 Canonical 支持用于 Ubuntu,对 Linux 7.0 进行了一些小的改进和修复。
AppArmor 与 Linux 7.0 增加了对加载每个权限标签的支持。Canonical 的 John Johansen 解释了这个补丁,他几乎一年前编写了这个补丁,而现在才合并到主线内核:
“为给定的权限集添加每个权限标签索引的支持。这将用于元数据标签,以允许用上下文和调试信息注释接受状态。此外,它还用于规则污染和触发器,以指定要应用的污染或触发器。”
由于这些是低频的辅助数据项,因此它们以更紧凑的格式存储,以允许在权限和接受状态之间共享和重用字符串。以减少内核内存使用为代价,需要通过几个基于索引的间接引用。
标签只是没有上下文就没有意义的字符串。当用作审计和调试的元数据时,完全是用户空间的信息,但触发器和污染可以用来影响域。然而,它们都存在于同一个打包数据集中,并且可以在不同的用途之间共享。
AppArmor 更新还包括在用户命名空间中添加对 execpath 的支持。新字段允许可靠地识别触发拒绝的二元文件,因为现有字段只给出二进制文件的名字而不是其路径。
这个新字段允许可靠地识别触发拒绝的二元文件,因为现有字段(comm)仅提供二元文件名,而不是其路径。因此,comm 不适用于$PATH 之外的二元文件,或者在两个二元文件具有相同名称时工作不可靠。此外,comm 可以被程序修改,例如,comm=”(tor)”或 comm=4143504920506F6C6C6572 (= ACPI Poller)。
AppArmor 与 Linux 7.0 还包含一些代码清理以及针对此内核安全代码的多个不同错误修复。

通过此 pull request 提供的 Linux 7.0 的 AppArmor 变更完整列表。考虑到这是为 Ubuntu 26.04 LTS 提供支持的内核版本,因此这些 AppArmor 改进的时机恰到好处,这将降低 Ubuntu 内核所携带的额外 AppArmor 补丁的补丁负担。
Linuxeden开源社区