首页 理论教育 Linux内核安全模块深入剖析:IMA/EVM策略解析

Linux内核安全模块深入剖析:IMA/EVM策略解析

时间:2023-11-22 理论教育 版权反馈
【摘要】:IMA/EVM同其他Linux中的子系统一样,也是定义机制,执行策略,机制和策略分离EVM功能比较单一,不需要策略的支持。下面简单描述一下IMA的策略:行为有五种:measure、dont_measure、appraise、dont_appraise、audit。如果对所有文件都做度量或评估,无疑会对系统性能产生较大影响。所以IMA对文件做度量或评估,一定要有所选择。选择的条件有两个,一个是“base”,另一个是“lsm”。

Linux内核安全模块深入剖析:IMA/EVM策略解析

IMA/EVM同其他Linux中的子系统一样,也是定义机制,执行策略,机制和策略分离EVM功能比较单一,不需要策略的支持。下面简单描述一下IMA的策略:

行为(action)有五种:measure、dont_measure、appraise、dont_appraise、audit。measure的含义是度量,将文件的完整性度量值存储在内核的一个链表中,如果有TPM硬件存在,还会将此度量值映射到TPM的某个PCR中。appraise的含义是评估,将文件现在的完整性度量值和存储于文件扩展属性“security.ima”中的度量值做比较,返回一个结果。audit的含义是审计生成一条审计日志消息,传给内核审计子系统。

如果对所有文件都做度量或评估,无疑会对系统性能产生较大影响。所以IMA对文件做度量或评估,一定要有所选择。选择的条件有两个,一个是“base”,另一个是“lsm”。先看“base”。

func的五个值:BPRM_CHECK对应钩子函数ima_bprm_check,MMAP_CHECK对应钩子函数imap_file_mmap,FILE_CHECK对应钩子函数imap_file_check,MODULE_CHECK对应钩子函数imap_module_check。fsmagic对应内核文件系统super_block结构体中的成员s_magic的值,比如proc文件系统的super_block的s_magic的值是0x9fa0。全部的值可以在/usr/include/linux/magic.h中查到。其他都很简单,不解释了。(www.xing528.com)

这里的lsm实际上专指SELinux,lsm相关的条件,实际上就是和selinux相关的条件,因为只有selinux有subj_user、subj_role、subj_type、obj_user、obj_role、obj_type,分别代表主体用户、主体角色、主体类型、客体用户、客体角色、客体类型。

option只有一个:appraise_type。appraise_type只有一个值:imasig,它只会影响到appraise“行为”。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈