c - 运行时内核驱动程序完整性检查

标签 c kernel runtime

我设法执行 objcopy 以查看和提取 .rodata 段内容作为不可变完整性检查的引用,但是,我意识到内核驱动程序无法读取文件。从这个意义上讲,我们如何编写驱动程序代码来确定它在运行时的完整性?

一些示例代码来制作一些插图会很好。

最佳答案

您可以使用加密签名的模块在运行时验证内核模块的完整性。

this Unix and Linux Stack Exchange answer 开头.

Here是 Jake Edge 关于截至 2011 年主线内核中加密签名状态的更新。补丁最终迁移到 mainline in 3.7 .

模块签名是最近内核中的一个配置选项。您可以在配置内核时通过menuconfig: "Enable loadable module support"->"Module signature verification"来设置。

关于c - 运行时内核驱动程序完整性检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20956618/

相关文章:

c - 从用户模式增加线程量

Linux - 识别在物理内存中拥有特定地址的进程

C++:模拟 RTTI

c - 在嵌入式系统中从汇编语言切换到 C 语言

c - ncurses 大多数可移植 key 使用

c - unlocked_ioctl 与普通 ioctl

c - 为什么内核在访问 32 位系统的内核模块中的系统调用表后会出现 panic ?

java - 在数组中找到最大值的预期赋值次数

Linux 上的 Java Runtime.exec() 参数

c - 关于一个小型内存分配程序的问题(41行)