内核与用户空间之间的通信需要被保护吗?



我正在编写一个依赖于用户空间辅助程序的内核模块设备驱动程序。我计划有两个使用字符设备通信。我在想,这种沟通应该是安全的在某种程度上,以防止任何第三方用户空间程序干扰或欺骗助手程序?如果是这样,有什么好的方法可以做到这一点?或者是过度吗?在相关的情况下,交互总是由内核模块发起,用户空间助手程序将数据发送回内核作为响应。被发送回来的信息只有几个字符,包括温度、风扇速度、风扇速度被改变的确认等。

我的建议是对内核中接收到的数据进行严格检查。伪造信息的攻击场景是什么?影响似乎能够改变温度或风扇速度,这是足够低,我没有看到任何理由攻击,除非另一个问题可以被利用-像内核字符串处理中的缓冲区溢出等。在这种情况下,在内核端进行防御似乎是正确的保护,因为它也可以防止恶意使用用户端程序。

最新更新