LSM相关知识及理解
Posted lyeeer
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LSM相关知识及理解相关的知识,希望对你有一定的参考价值。
一.什么是LSM
LSM全称为Linux Security Modules,Linux安全模块,是一个在内核模块的基础上提出的轻量级的安全访问控制框架。
下图为包含LSM的Linux内核模块结构,可以看出来LSM框架只是提供一个支持安全模块的接口,本身不能增强系统安全性。通过LSM框架,安全模块层的安全模块们可以非常自由地在内核里加载和卸载,不需要对内核进行重新编译。
*(图源:曲坤,周莲英-基于 LSM 的安全审计机制研究与实现。侵删)
框架结构:
1)在内核数据结构中加入安全域(存放安全属性)
2)在内核代码中不同的关键点插入对hook函数的调用
二.hook机制
LSM框架通过提供一系列的hook,用来控制对内核对象的操作。
下图为hook函数的访问示意图,首先用户访问系统调用时,先通过原有的内存接口进行功能性的错误检查,然后再进行自主访问控制DAC检查。在访问内核的内部对象之前,通过安全模块的hook函数调用LSM,LSM查看操作上下文和主客体安全域的相关信息决定是否允许请求,觉得访问的合法性,返回信息。
其中自主访问控制(Discretionary Access Control,DAC)是指对某个客体具有拥有权(或控制权)的主体能够将对该客体的一种或多种访问权自主地授予其它主体,并在随后的任何时刻将这些权限回收。这种控制是自主的,也就是指具有授予某种访问权力的主体(用户)能够自己决定是否将访问控制权限的某个子集授予其他的主体或从其他主体那里收回他所授予的访问权限。
(图源:张浩-基于LSM的安全审计系统的设计与实现,侵删)
三.审计机制
审计机制对系统中有关安全的活动进行记录、检查及审核,同时为入侵检测等其它安全措施提供可靠的数据源。审计的结果定时报告给管理层,并被用来更新安全策略。
以上是关于LSM相关知识及理解的主要内容,如果未能解决你的问题,请参考以下文章