LSM零知识学习二、Linux内核中的安全模块

接前一篇文章:LSM零知识学习一、概念与框架机制

本文内容参考:

《Linux内核安全模块深入剖析》 李志 机械工业出版社

Linux LSM(Linux Security Modules) Hook Technology_weixin_30929011的博客-
CSDN博客

[Linux Security Module Usage — The Linux Kernel
documentation](https://www.kernel.org/doc/html/v5.10/admin-
guide/LSM/index.html “Linux Security Module Usage — The Linux Kernel
documentation”)

一、总体概况

前文已提到,LSM的全称为Linux Security Module,字面意思为Linux安全模块。其在Linux内核中体现为 一组安全相关的函数,
这些安全函数在 系统调用的执行路径
中会被调用。因此LSM的目的是对用户态进程进行强制访问控制。至于这些安全函数要实施什么样的访问控制,则是由具体的安全模块决定的。截止到2014年,Linux内核主线上有
5个安全模块:SELinux、AppArmor、Smack、TOMOYO和Yama(后来又增加了LoadPin、SafeSetID)
。用户可以选择哪些安全模块被编译进内核。可以同时有多个安全模块存在于内核中,但是在运行时只能有一个安全模块处于工作状态。

虽然还被称为模块,但实际上自Linux内核2.6.x版本之后,Linux就强制LSM各个模块必须被编译进内核中,不能再以模块的形式存在了。这意味着,在运行时不能再随意加载一个所谓的安全模块作为访问控制机制了,也不能随意卸载一个安全模块了。到2012年时,Linux主线中已经有5个安全模块了。但是除了Yama,其它各个安全模块是
运行时互斥 的。比如系统中SELinux在工作,Smack就一定不能工作。这时就有人想,能不能让安全模块可以同时工作呢?Smack的负责人Casey
Schaufler承担了这项工作。但两年过去了,虽然Casey Schaufler提交了多个patch,但终因安全模块的差异性和系统的复杂性而没有成功。

以下是一段英文,取自于Linux内核文档,与上段文字对应:

The name “module” is a bit of a misnomer since these extensions are not
actually loadable kernel modules. Instead, they are selectable at build-time
via CONFIG_DEFAULT_SECURITY and can be overridden at boot-time via the
“security=…” kernel command line argument, in the case where multiple LSMs
were built into a given kernel.

二、各模块简介

  • SELinux

在上文提到的5个安全模块中,SELinux进入内核时间最早。事实上,LSM机制是伴随着SELinux而进入内核的。SELinux是5个安全模块中功能最全最复杂的一个。

SELinux的开发引入了LSM。在2001年,Linus
Torvalds拒绝了SELinux直接进入内核主线,他要求把SELinux做成一个相对独立的模块。于是Linux内核安全子领域的开发者实现了LSM机制。LSM机制带来了两个可能:一个是内核代码中多个安全模块并存;另一个是用户或者管理员可以在内核编译和系统启动时选择安全模块。

  • Smack

第二个进入Linux内核主线的是Smack。Smack标榜的是简单,其在安全功能上和安全机制上没有突破。

  • TOMOYO

第三个进入Linux内核主线的是TOMOYO。TOMOYO的长处是易用性,相关管理工具和文档都很完备。

  • AppArmor

第四个进入Linux内核主线的是AppArmor。AppArmor开发得很早,但开发时断时续,结果很晚才进入内核主线。AppArmor也在易用性上下功夫,其长处是很容易对单个应用进行安全加固并且不影响到系统其它部分。

  • Yama

最后一个是Yama。Yama的有趣之处是其只针对某一个安全问题点(ptrace)做工作,其余不管。

通过以上简介可以看到,SELinux之后的模块在系统性安全上没有突破,只在简单性和易用性上下功夫,而且有从系统性全功能安全防护向单个应用安全和单一功能防护上发展的趋势。

学习计划安排


我一共划分了六个阶段,但并不是说你得学完全部才能上手工作,对于一些初级岗位,学到第三四个阶段就足矣~

这里我整合并且整理成了一份【282G】的网络安全从零基础入门到进阶资料包,需要的小伙伴可以扫描下方CSDN官方合作二维码免费领取哦,无偿分享!!!

如果你对网络安全入门感兴趣,那么你需要的话可以

点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

①网络安全学习路线
②上百份渗透测试电子书
③安全攻防357页笔记
④50份安全攻防面试指南
⑤安全红队渗透工具包
⑥HW护网行动经验总结
⑦100个漏洞实战案例
⑧安全大厂内部视频资源
⑨历年CTF夺旗赛题解析

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值