0

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

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

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

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

如果我不能,为什么?

4

1 回答 1

0

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

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

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

于 2014-11-05T22:24:22.180 回答