【问题标题】:Kernel Panic -- Failed copy_from_user, kmalloc?内核恐慌 - 失败的 copy_from_user、kmalloc?
【发布时间】:2013-05-03 09:05:13
【问题描述】:

我正在为我的操作系统课程编写一个 rootkit(老师可以接受我在这里寻求帮助)。我的 rootkit 挂钩 sys_read 系统调用以向用户隐藏“魔法”端口。当我将用户缓冲区 *buf(sys_read 的参数之一)复制到内核空间(到名为 kbuf 的缓冲区中)时,我得到内核恐慌/核心转储错误。这可能只是因为中断读取导致系统停止,但我想知道是否有人对此有任何看法。

代码可在线获取。看第207行:https://github.com/joshimhoff/toykit/blob/master/toykit.c

我挂钩了 getdents 并使用 copy_from_user 将 getdents 结构带入内核空间,效果很好!我不确定 read 有什么不同。

感谢您的帮助!

【问题讨论】:

    标签: linux kernel system rootkit


    【解决方案1】:

    我想通了。我调用了实际的 sys_read 函数并没有检查返回值。有时表示错误是否定的。我没有提前失败,而是要求 kmalloc 提供负数的字节数。

    想象一下。分配负内存。那将是一个疯狂的世界。

    【讨论】:

    • 那将是一个疯狂的世界! ?
    猜你喜欢
    • 2013-12-12
    • 2020-01-28
    • 1970-01-01
    • 1970-01-01
    • 2012-02-08
    • 2015-12-11
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多