【发布时间】:2021-09-15 05:12:57
【问题描述】:
据我了解。内核模式是一种硬件功能。前任。它可以通过寄存器设置(value1 -> 内核模式,value2 -> 用户模式)。
当内核加载并运行用户应用程序时,用户应用程序应通过系统调用与内核通信以执行特权操作,在此期间会发生中断,执行将切换到内核模式并执行特权操作。
我的问题是:
防止恶意用户应用程序设置“模式”寄存器并进入内核模式(例如 x86)的机制是什么? 只有内核才能设置这个寄存器是有道理的,我想知道更多关于这是如何执行的细节。
【问题讨论】:
-
“只有内核才能设置这个寄存器是有道理的”——正是如此。任何架构(具有用户/内核分离)都阻止非特权代码修改“模式”寄存器。 “我想知道更多关于如何执行的细节。” - 只需采用特定架构并阅读其寄存器模型和指令集的文档。
-
“只需采用特定架构并阅读其寄存器模型和指令集的文档”。谢谢,这就是我要找的。我读了一些教科书,但没有一个包含这样的信息
-
处理器/MMU 的用户手册和汇编手册。