使用eBPF LSM热修复Linux内核漏洞

前面我们讨论了Tetragon产品实时阻断实现原理,那你知道它为什么没选择eBPF LSM吗? bpf_send_signal颗粒度是进程,而eBPF LSM的颗粒度是函数,更精确,控制范围也不一样,可以对函数调用堆栈做调整,达到替换执行的目标函数。业务场景就是对于漏洞的热更新了。本文就是一个简单的eBPF LSM实现思路,核心内容是确定精准HOOK点的思路。怎么找HOOK点?HOOK点挂载后,对性能影响是什么?如何做权衡?接下来,我们一起了解一下。

Continue reading