Linux可加载内核模块的系统调用拦截(劫持)

时间:2018-12-15 06:17:20

标签: linux linux-kernel kernel-module

我试图劫持Linux内核v4.19.8中带有可加载内核模块的系统调用。

我可以从 /boot/System.map-4.19.8 中找到sys_call_table的虚拟地址。但是,当我尝试访问它时,dmesg会给我以下消息:

BUG : unable to handle kernel paging request at [address of sys_call_table]

所以,这是我的问题。

  1. 在Linux内核v4.19.8中甚至可以用可加载的内核模块劫持系统调用吗?
  2. 如果可能,我该怎么办?

谢谢。

1 个答案:

答案 0 :(得分:1)

根据您感兴趣的系统调用,您可以使用一些挂钩。通常,您可以使用模块来修补一个回调。因此,您可以创建一个包装函数并执行一些操作,然后在完成后调用“真实”回调。

查看此库: https://github.com/pmem/syscall_intercept