当前位置:首页>Linux>[程序员] Linux内核模块化不经常用的功能?

[程序员] Linux内核模块化不经常用的功能?

  • 2026-10-11 07:33:01
[程序员] Linux内核模块化不经常用的功能?
前些天出了内核的一个漏洞,可以被用来本地提权限,相关的功能是内核实现的加解密接口algif_aead,然后网给上有的缓解步骤里说,只要将这个相关的模块禁止掉就好了。
但是RHEL的配置选项里这个模块是直接编译到内核binary里的,不是一个独立的kernel-module,虽然公司的产品不使用这个功能,但是默认的二进制Linux kernel image里有这个功能。所以不能使用kernel module的规则功能来限制,这可怎么办?怎么临时解决这个问题?前提是要升级系统需要花费一些时间。
然后问ChatGPT/知乎直答,给出了几个方法,可通过livepatch、eBPF拦截或systemtap钩子三种无需重启的方式阻断漏洞函数调用,以下是具体实现和对比
使用eBPF的功能,利用eBPF的kprobe钩子,在漏洞函数入口强制返回错误,阻断恶意调用。前提是需安装bcc工具链(RHEL可通过EPEL源安装)。
使用ftrace/systemtap的功能在刚进入函数的时候,添加判断逻辑,提前做规避漏洞。
还有livepatch的功能。Livepatch是Linux内核官方支持的动态补丁技术,无需重启即可修复漏洞,RHEL 7+通过kpatch工具支持。
写在最后:其实还是应该安按照模块分开的方式,低耦合,可以方便隔离有问题的代码。尤其是对那些不经常使用的模块。

最新文章

随机文章