【发布时间】:2011-04-27 16:04:31
【问题描述】:
从程序方面来说,是怎么做的?
如何避免用户态程序加载内核模块并调用其函数?
【问题讨论】:
-
这是一个非常广泛的问题。这本书将为您提供答案:technet.microsoft.com/en-us/sysinternals/bb963901 或者尝试更具体地回答您的问题?
从程序方面来说,是怎么做的?
如何避免用户态程序加载内核模块并调用其函数?
【问题讨论】:
非特权进程根本无法访问内核数据结构和代码,因为没有相应的页表条目。并且 CPU 会阻止非特权进程交换页表。
【讨论】:
了解保护之戒
硬件视图 : 1)控制寄存器中有一个不同的位(例如0 =内核,1 =用户)。 2) 硬件访问设备通常在用户模式下是不可用的。 3) 某些指令仅在内核模式下可用。 4) 对页表的修改只能在内核模式下进行。 5) 中断控制器只能在内核模式下修改。 6)其他硬件控制寄存器(如系统时间、定时器控制等)可用 仅在内核模式下。 7) 内核内存在用户模式下对用户不可用。
复制自 cs162 p 集
【讨论】: