您的位置:首页 > 其它

什么是IE中的保护模式(protected mode)

2011-03-12 14:30 615 查看
保护模式是从Windows Vista中引进的一个新的安全控制机制。它将操作系统中运行的进程(process)和对象(比如注册表,文件夹)进一步划分了安全等级。有3个级别(High,
Medium, Low),如果一个Low安全级别的进程(比如一个IE进程)要往具有Medium级别的对象上写东西,就会被Access Denied掉。即使运行进程的账户具有往对象上写东西的权限,在保护模式下一样会被Access
Denied掉,因为操作系统会先做保护模式下的安全审查,再做文件属性上的安全审查。

另外,由一个具有Low级别的进程产生的子进程也具有Low级别。

保护模式是对zone的补充,所以zone里面并不包含保护模式的功能,我们不能通过zone来取代保护模式的功能。

拿我们现在的例子来说,当用户点击打印报表的时候,IE进程会先加载print
control, 这个control会再调用spool service.exe,通过spool service的帮忙来打开打印机窗口。IE如果开启了保护模式,就会运行在Low级别。IE进程调用的spool
service.exe也就运行在了低级别,一个Low级别的进程是无法获得Medium或High级别对象的write权利的,于是我们就看到了错误。下面的内容是我从你们出错的日志里拿出来的:

2011-02-25
13:15:28
13:15:28.0591302
spoolsv.exe 1596
RegOpenKey HKU/S-1-5-21-1575878230-2625628130-970249512-61800
ACCESS DENIED
Desired Access: Read/Write
NT AUTHORITY/SYSTEM
00000000:000003e7

Spoolsv.exe虽然是运行在本机的System账户下,而且这个账户的确具有对HKU/s-1……这个注册表的写权限,但由于保护模式打开了,它会被保护模式先检查,于是它被降级了,只有Read权限了,所以就报错了。请注意,一个进程希望获得某个对象上的Write权限并不意味着这个进程一定会去Write些什么,就像每个人有创建google邮箱的权利但并不是每个人都会去创建。

如果勾上保护模式,肯定比不勾更安全,但同时也要做出牺牲,那就是善意的进程也会被封杀掉。因为有些进程它就是需要获得某些对象上的Write权限(它并不一定去写,也并一定会写些恶意的东西),如果这些进程的要求得不到满足,那就会报错。如果一个站点已经在trusted
sites或Local
intranet sites里,也就意味着我们默认为这些站点都是安全的,所以也没有必要再一次限制这些站点。好比我们信任送水工到我们房间里换水,但我们又限制他用剪刀的权利(送水工用剪刀是为了拆开盖子,而不是行凶),这样他就不能拆开盖子,换水的动作就是失败了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐