登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

北边的风

IT 钓鱼 养生

 
 
 

日志

 
 

IE浏览器,我想你安全、再安全些  

2008-04-01 19:23:39|  分类: IT心得 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

 

 

 

IE浏览器是一个颇具争议的组件,不少用户一想到IE,恐怕脑子里就会浮现起曾经遭遇过的惨状:主页被恶意修改,IE动辄无缘无故关闭,注册表被改得乱七八糟,莫名其妙跳出网页……

 

也难怪,  IE是连接Internet的门户,难免会受病毒蠕虫等的“骚扰”。想让IE练就  “金刚不坏”之体,那就得首先分析一下恶意网页为什么可以为所欲为:大多数用户都是用管理员身份登录系统,IE默认获得管理员的访问令牌,这样网页中的恶意代码就会以最高的特权对系统进行篡改。只有让IE运行在更低的特权级别,才能防止恶意网页破坏系统。

 

怎样才能让IE以更低的特权运行?Windows Vista可以满足要求,其UAC功能可以让所有用户进程运行在Standard User的特权级别,但是Vista还“犹抱琵琶半遮面”,其实我们的XP一样可以达到类似的目的!

 

提示  为了讲述的方便,这里假设以管理员帐户Admin登录系统。

 

一、“运行方式”给IE穿上铁布衫

 

右键单击IE的快捷方式,选择“运行方式”命令,在打开对话框上,确保勾选“保护我的计算机和数据不受未授权程序的活动影响”复选框,如下图所示。

 

 

 

用这种方法启动IE,对几个“臭名卓著”的恶意网站进行测试,结果非常安全。同时还能用来对付DuDu加速器、3721等流氓插件!

 

为什么?原来这时的IE浏览器会获得一个受限的访问令牌(Restricted Token),无法对系统目录和注册表进行写操作,网页中的恶意代码也就没办法破坏系统。

 

当然,还得让实验来说话:

 

分别在“运行方式”和正常模式下打开IE浏览器,然后用Process Explorer双击打开这两个IE进程的属性对话框,切换到“Security”标签页,即可查看这两个进程所获得的访问令牌,如下图所示。

 

 

很显然,相对于正常模式,“运行方式”打开IE进程所获得的受限令牌,其内容发生了以下两大变化:

 

u        用户和组的SID

 

(1)Administrators或Power Users组帐户的SID被标记为拒绝(Deny)。

 

如果某个资源拒绝Administrators或Power Users访问,则进程无法访问该资源;而且进程会忽略除Deny之外的其他访问权限。

 

(2)除了Admin、Administrators和Power Users组帐户外,其他帐户的SID都加入受限(Restricted)列表:当进程访问资源时,必须经过两次安全检查:一次是检查令牌中启用的SID,另一次是检查受限列表里的SID,只有两次检查都通过,才能访问成功。

 

u        特权(Privilege)

 

仅保留SeChangeNotificatonPrivilege(跳过遍历检查)特权。

 

难怪这时的IE特别安全,尽管是以管理员帐户Admin登录系统,但是IE进程不能访问用户的配置文件夹(%USERPROFILE%),连收藏夹、我的文档都不能访问!

 

IE也不能在分区根目录写入文件,对注册表没有写的权限。同时只有SeChangeNotificatonPrivilege(跳过遍历检查)特权,可以防止病毒滥用特权做坏事。

 

提示  配置文件夹ACL包括Admin和Administrators和SYSTEM,由于Administrators被标记为Deny,而Admin帐户没有对应的Restricted SID(在第二次安全检查时失败),所以无法访问。

 

二、“基本用户”类型帮助IE强身健体

 

用“运行方式”运行IE浏览器,虽然非常安全,但是有以下两个缺陷:

 

u        限制太严格,例如IE浏览器无法加载收藏夹。

 

u        每次运行IE浏览器,还需要增加额外的步骤,很不方便。

 

本文将介绍如何给XP系统启用一个“基本用户”(Basic User)类型,这个“基本用户”(Basic User)类似于Windows Vista的“标准用户”(Standard User),只是默认没有启用。

 

1.启用基本用户类型

 

(1)打开注册表编辑器,定位到以下注册表项:

 

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Safer\CodeIdentifiers

 

(2)新建一个名为Levels的DOWRD键值,其数据数值为0x20000。

 

2.Runas命令

 

打开命令提示符窗口,运行以下命令:

 

Runas /ShowTrustLevels

 

即可看到系统当前的信任级别,如附图所示,其中有一个“基本用户”,对应新增加的注册表键值(Levels:0x20000)。

 

 

 

运行以下命令,即可以“基本用户”的身份启动IE浏览器:

 

runas /trustlevel:基本用户  "C:\Program Files\Internet Explorer\IEXPLORE.EXE"

 

可以新建一个快捷方式,在项目位置里输入以上的命令,这样每次双击该快捷方式,就能够以“基本用户”的身份启动IE浏览器。

 

3.软件限制策略

 

打开“本地安全策略”管理单元(如果第一次设置软件限制策略,请右键单击“软件限制策略”,选择“创建新的策略”菜单项),展开软件限制策略→安全级别,在右侧的详细窗格里可以看到“基本用户”,如附图所示,这和“Runas /ShowTrustLevels”命令看到的信任级别是一致的。

 

 

 

可以新建一个路径规则,如附图所示,指定安全级别为“基本用户”,这样每次运行IE浏览器,都可以运行在更安全的级别。

 

 

 

         每次新建的一条“基本用户”的软件限制策略,都会在HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Safer\CodeIdentifiers\131072注册表项下新增一个子项。如果是路径策略,则会新增一个Path子项;如果是散列策略,这会新增一个Hash子项。注册表项里的131072是什么?实际上就是前面增加的那个Levels:0x20000,0x20000正好就是131072。

 

4.查看基本用户的访问令牌

 

用Process Explorer查看此时的IE浏览器属性,发现其访问令牌和Windows Vista的“标准用户”功能所获得访问令牌相似,如附图所示。

 

 

 

Windows Vista的标准用户、Windows XP的基本用户、和运行方式之间的区别如下:

 

(1)Vista的“标准用户”比XP的“基本用户”多出了几个特权(Privilege),只是默认禁用。

 

(2)XP的“基本用户”所获得的访问令牌相对于“运行方式”(Restricted Token)来说,限制相对少一些,只是将Administrators和Power Users组标志为Deny,而并没有将其他帐户放入Restricted SID列表,这样IE进程可以访问配置文件夹等其他资源(包括收藏夹和我的文档),可以读写HKEY_CURRENT_USER下的绝大多数注册表键值,但是仍然不能写HKEY_LOCAL_MACHINE下的注册表键值。

 

三、命令工具

 

这里推荐Michael Howard所写的命令行工具DropMyRights。

 

DropMyRights的使用语法如下:

 

DropMyRights {path} [N|C|U]

 

这里的path是指应用程序的路径,N指代基本用户(Basic User),C指代受限用户(Restricted User),U是指不信任用户。

 

如果要以基本用户身份运行IE浏览器,可以创建一个快捷方式,将项目位置设置为:

 

DropMyRights "C:\Program Files\Internet Explorer\IEXPLORE.exe" N

 

这样就可以在需要时双击该快捷方式,以更加的安全环境下运行IE浏览器。

 

四、注意

 

如果确实需要安装某些IE插件、或者要运行Windows更新等需要管理员权限的任务,请暂时禁用“软件限制策略”,否则这些管理任务将无法顺利完成,例如笔者曾经死活安装不上MSN Space的上传图片控件,系统也不报错,原因就是IE浏览器运行在Basic User特权级别下。这里特别期待Vista,因为Vista的UAC可以自动识别是否需要管理员特权。

  评论这张
 
阅读(582)| 评论(0)

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018