LSM 在 Linux 内核安全相关的关键路径上预置了一批 hook 点,从而实现了内核和安全模块的解耦,使不同的安全模块可以自由地在内核中加载/卸载,无需修改原有的内核代码就可以加入安全检查功能。 在过去,使用 LSM 主要通过配置已有的安全模块(如 SELinux 和 AppArmor)或编写自己的内核模块;而在 Linux 5.7 引入 BPF L...
答案是有的,eBPF LSM可以做到这一点。 LSM(Linux Security Module)是Linux内核中的一个安全框架,它从linux2.6版本内核开始引入。LSM 提供了一系列的安全钩子(hooks),这些钩子允许安全模块在关键系统操作发生时介入。例如,文件系统操作、网络通信、进程创建等都有相应的钩子,允许模块执行安全检查和控制。 eBPF LSM是eBPF...
我们可以在eBPF程序中通过bpf_send_signal、bpf_override_return辅助函数或eBPF LSM特性提供的能力实现拦截操作的功能。因此,对于拦截权限提升操作,下面将以基于eBPF LSM实现作为演示,不再分别说明每种方法及相应的示例源码。 我们基于eBPF LSM提供的bprm_check_security追踪点实现了审计程序,同样也可以通过返回非0值让它...
答案是肯定的,比如我们可以基于LSM技术在内核中直接判断文件是否是内存文件的方式审计该操作。 我们可以基于LSM提供的bprm_creds_from_file追踪点编写追踪命令执行操作的eBPF程序,然后从file参数中获取文件系统相关信息。 LSM_HOOK(int,0, bprm_creds_from_file, struct linux_binprm *bprm, struct file *file) 在Li...
safeguard 是一种基于 KRSI(eBPF+LSM) 的 Linux 安全审计和管控解决方案,可以实现对系统的全面监控和保护。下面是一些可能的应用场景:表1 应用场景 项目功能 审计控制 1. 文件 追踪文件系统的活动,包括文件的打开、关闭、读写、删除等。修改文件系统的行为,例如拦截某些文件操作,或者实现自定义的安全策略。安全...
eBPF 和 LSM 可以结合使用,形成一种基于 eBPF 的 LSM 扩展,叫做 KRSI (eBPF+LSM)。它允许用户在运行时使用 eBPF 程序实现和执行自定义的安全策略和审计规则。它的优点是不需要修改或重新编译内核,也不需要配置现有的 LSM 模块。KRSI (eBPF+LSM) 的工作原理是将 eBPF 程序加载到 LSM 钩子中,然后在调用路径中...
LSM(Linux Security Module)是Linux内核中的一个安全框架,它从linux2.6版本内核开始引入。LSM 提供了一系列的安全钩子(hooks),这些钩子允许安全模块在关键系统操作发生时介入。例如,文件系统操作、网络通信、进程创建等都有相应的钩子,允许模块执行安全检查和控制。
eBPF是一个能够在内核运行沙箱程序的技术,提供了一种在内核事件和用户程序事件发生时安全注入代码的机制,使得非内核开发人员也可以对内核进行控制。 作者|炎寻 过去一年,ARMS基于eBPF技术打造了Kubernetes监控,提供多语言无侵入的应用性能,系统性能,网络性能观测能力,验证了eBPF技术的有效性。eBPF技术和生态发展很好,...
Linux Security Modules^[2]^ (LSM)是一个钩子的基于框架,用于在Linux内核中实现安全策略和强制访问控制。直到现在,能够实现实施安全策略目标的方式只有两种选择,配置现有的LSM模块(如AppArmor、SELinux),或编写自定义内核模块。 Linux Kernel 5.7[^3^ ]引入了第三种方式:LSM扩展伯克利包过滤器^[4]^ (eBPF)(简称...
像LSM-eBPF 这样年轻的内核子系统功能非常强大,也非常有前景,只是需要依赖最新的内核(≥5.7)。 三、内核安全可观测性展望 下面从传统内核安全、Android 内核安全、KRSI 等几个方面展开讨论。 1.传统内核安全方案: 正如Linus Torvalds 曾经说过的,大多数安全问题都是 bug 造成的,而 bug 又是软件开发过程的一部分,...