【问题标题】:System Call Interception (Hijacking) with Linux Loadable Kernel Module使用 Linux 可加载内核模块的系统调用拦截(劫持)
【发布时间】:2019-05-16 08:01:39
【问题描述】:

我正在尝试使用 Linux Kernel 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 Kernel v4.19.8 中使用可加载内核模块劫持系统调用吗?
  2. 如果可以,我该怎么做?

提前谢谢你。

【问题讨论】:

  • 据我记忆,系统调用表是写保护的。您需要在修改表时禁用该保护。网上有很多关于这方面的例子。

标签: linux linux-kernel kernel-module


【解决方案1】:

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

查看这个库: https://github.com/pmem/syscall_intercept

【讨论】:

    猜你喜欢
    • 2012-09-18
    • 2012-12-02
    • 2020-04-08
    • 2015-08-28
    • 1970-01-01
    • 2015-01-13
    • 2011-01-24
    • 2013-03-30
    • 2014-10-01
    相关资源
    最近更新 更多