【问题标题】:Is writing kernel memory with system call available?是否可以使用系统调用写入内核内存?
【发布时间】:2015-01-01 07:13:05
【问题描述】:

我知道系统调用的用途是在使用级和内核级之间进行通信

那么,这是否意味着我可以通过系统调用写入内核内存?

例如write() 用于写入内核内存

但是如果我认为是可用的,它是否也涉及到大的安全问题?

如果我不能,为什么?

【问题讨论】:

  • “这也与大安全问题有关” - 是的......这可能是一个安全问题。注意错误代码EFAULT

标签: linux-kernel kernel system-calls windows-kernel


【解决方案1】:

让我们一一分解你的问题。

是的,如果您实现了允许写入内存中任意位置的系统调用,您可以直接通过系统调用写入内核内存。您是否或为什么想要这样的东西是另一个问题。这样的事情会带来巨大的安全风险。例如,任何进程都可以使用您的系统调用轻松提升其权限或在内核中安装 rootkit。

不过,Linux 确实有一个用于读取和写入内核内存的接口。看看/dev/kmem。它允许您将内核内存作为“文件”打开,四处寻找和读写。

【讨论】:

    猜你喜欢
    • 2021-03-20
    • 2017-12-13
    • 1970-01-01
    • 2013-03-28
    • 2015-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多