【发布时间】:2013-01-05 01:58:25
【问题描述】:
我正在阅读关于 x86 分段保护的blog post。 RPL 可以与 DPL 不同吗?如果可以,它的用例是什么?
【问题讨论】:
我正在阅读关于 x86 分段保护的blog post。 RPL 可以与 DPL 不同吗?如果可以,它的用例是什么?
【问题讨论】:
它们可以不同,这是故意的。
这个想法是,当操作系统/内核代表用户代码执行某些操作时,它可以使用用户代码的权限访问内存(RPL 将反映,Requestor Privilege Level,用户代码的级别)。如果它们不足,则异常使操作失败。如果这种(或类似的)机制不存在,用户代码可能会通过以某种方式请求代表其执行的操作来破坏操作系统/内核,并且该操作将由内核以其内核权限执行。这就是你得到EOP的地方。
有关分段的更多信息,请访问源代码,即英特尔的 CPU 手册。都在那里。
【讨论】: