2020-11-04使用LSM实现运行控制的方案

总体架构:用户态 + 通信 + 内核态LSM

捕获一定是在LSM中完成,实现bin、so、ko和file检测使用以下钩子:
1、bprm_check_security
2、mmap_file + elf过滤 + exec权限过滤
3、kernel_module_file
4、file_permission + write/append/exec过滤??

通信可以使用netlink,但securityFS是LSM模块的惯例,securityFS使用和调试都更为简单,在内核加载过程中应该也更早生效。

度量比对可以只放在用户态完成,也可配合LSM共同完成。后者信任链更完整。

百度是SB

白名单如果使用文件,则需要保护。可以在LSM中作为关键数据进行专门处理;使用xattr的方式则更为高效,也是IMA的做法,安全性受制于root用户权限。

因为配置功能的存在,安全性受制于root权限。使用口令授权配置的话,又需要系统性对口令进行管理,还要对口令进行二次保护,不可取。

综上,良好的方案是:
用户(配置+xattr) + securityFS + LSM(度量比对)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容