让IE浏览器抵御网络威胁
技术难度:Windows高级应用
适用人群:家庭用户、企业用户,特别是经常使用隶属于Administrators组(系统管理员组)登陆系统并使用IE访问互联网的高风险用户。
适用系统:Microsoft Windows XP Professional(原版/SP1/SP2)或者Media Center Edition + Microsoft Internet Explorer
在当今信息社会,互联网无疑是传播恶意软件(Malicious Software)、木马(Trojan)和病毒(Virus)的危险区域。而我们的生活已经离不开互联网,那么在这些小则使您电脑性能下降、重则使您信息泄露并且软硬件损坏的网络威胁面前,我们的计算机安全至关重要。听了微软MVP/MCT彭爱华老师的课程以后,我想在此将IE浏览器的最佳安全保护方法呈现给大家,让大家的IE浏览器能抵御几乎所有的恶意软件,绝大多数的通过IE自下载、运行的木马和病毒,让您轻松上网,抵御威胁。
具体实施方案如下:
一、我们要向系统添加一个默认不存在的“基本用户”,并让IE浏览器始终以该低权限用户的身份在保护状态下执行。
1、点击“开始”->“运行”,或者按Win+R快捷键,打开“运行”对话框,输入“regedit.exe”并且执行,此时您将会打开“注册表编辑器”窗口;
2、在注册表编辑器内的左栏,依次双击鼠标左键展开“HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Safer”,单击Safer下展开的“CodeIdentifiers”项,然后转到右边的窗格里,在空白处单击鼠标右键,选择“新建->DWORD 值(D)”;
3、立即将新建的注册表项命名为“Levels”(请注意大小写以及拼写的正确性),双击该键值,在打开的“编辑 DWORD 值”对话框里“基数”下选择“十六进制(H)”,然后在“数值数据(V):”一栏填入“20000”(也就是十进制的两万),点“确定”后关闭注册表编辑器;
4、再次点击“开始”->“运行”,或者按Win+R快捷键,打开“运行”对话框,此时输入“gpedit.msc”并且执行,此时您将会打开“组策略”窗口;
5、在打开的“组策略”窗口的左栏,依次展开“计算机配置\Windows 设置\安全设置\软件限制策略”,如果您是第一次配置软件限制策略,您可能会在执行此操作后在右边的窗格中看到黄色惊叹号——“没有定义软件限制策略”。此时您不必着急,只需回到左边窗格中,用鼠标右键单击“软件限制策略”并点击“创建新的策略(C)”即可继续;
6、执行第5步后,您的“软件限制策略”之下会多出“安全级别”与“其他规则”两项,此时点击“其他规则”,并在右边窗格里的空白处单击鼠标右键选择“新路径规则(P)...”;
7、在弹出的“新路径规则”设置窗口中,点击“浏览”按钮并定位至IEXPLOR.EXE(比如您的系统装在C盘,则其默认的路径应该是“C:\Program Files\Internet Explorer\IEXPLORE.EXE”),确定后会回到“新路径规则”配置窗口,这时您应该可以在“路径(P):”的文本框里看到您的IEXPLOR.EXE的具体路径了。在下边的“安全级别(S):”一栏,点开下拉菜单,并选择“基本用户”,单击“应用”与“确定”后退出组策略编辑器。注意:如果您在下拉菜单中找不到“基本用户”则说明您在步骤2-3中出现了问题,请再次仔细复查更正;
到这里,“添加基本用户”和“让IE浏览器以受保护的低权限运行”的两个目的就达到了,只要您再次点击桌面上或者开始菜单中或者快速启动栏里的Internet Explorer按钮或者快捷方式,或者不加任何附加命令的直接运行IE,它都将以保护态运行,使您免受网络威胁的干扰。
但是,如果用户要安装某些控件(ActiveX)或者在别无选择的情况下直接在IE中下载并运行某些程序该怎么办呢?要知道,在保护态下这样做是不会被系统允许的。所以我们要以防万一,重建一个用来暂时启动高权限非保护模式下的原汁原味的IE浏览器:
8、回到桌面,在桌面空闲处单击鼠标右键,选择“新建->快捷方式”;
9、在打开的“创建快捷方式”窗口中的“请键入该项目的位置(T):”之下的文本框中输入以下方框中的全部内容:(1、注意空格与引号等格式,本人推荐您复制;2、若您的系统不是安装在C盘,那么请您将下面的“C:\”改为您的系统盘符,其他不符的情况也一样灵活更改,但注意,“runas /trustlevel:不受限的”这一段是不可能变更的!)
runas /trustlevel:不受限的 "C:\Program Files\Internet Explorer\IEXPLORE.EXE"
10、确认输入无误之后,点击“下一步”,自己给该快捷方式命名。为了以示区分,推荐您将其命名为“IE高权限”或者“IE不受保护模式”等字眼;
11、单击“完成”按钮之后,您将会在桌面上看到您刚建好的一个非常“丑陋”的快捷方式。
若您想将其美化,可以这样做,用鼠标右键单击该图标并选择“属性”,在打开的属性对话框中选择“快捷方式”选项卡(默认已经为您选好,一打开就是),点击下方的“更改图标(C)...”按钮,然后在选择您喜爱的图标后点“确定”退出即可。
这样一来,您就可以在平常情况下点击系统默认的启动IE浏览器的按钮或者快捷方式来以保护模式运行IE,使您免受网络大多数威胁的侵害;
在您需要安装插件、直接下载运行绝对安全可靠的软件时,您可以双击您自建的“IE非保护模式”或者“IE高权限”快捷方式来暂时还原您最原始的易受侵害的IE浏览器。
值得注意的是,有且仅有您以该“高权限运行IE”的快捷方式启动的IE窗口及其自身打开的多选项卡(针对IE7.0)才不受系统保护,你同时以正常方式打开的IE窗口仍然是受保护的,他们分别存在于内存中的不同进程之中,互相不受影响。
二、我们对以上方法进行测试与检验。
1、以系统自带的正常方式启动IE浏览器(即,不要通过高权限快捷方式启动),然后在地址栏输入“http://cn.zs.yahoo.com/start.htm”以访问雅虎助手安装页面。
2、若未自动弹出“您还没有安装雅虎助手工具条,是否下载?”的对话框,点击网页中的“立即下载”按钮,进行下载;
3、在“文件下载 - 安全警告”对话框中,点击“运行(R)”按钮;(注意:千万不要点击“保存(S)”按钮,因为当您保存到本地文件夹或者位于本地计算机上的其他位置之后再双击鼠标运行,已经不再是在IE内存进程之内,等同于直接运行本地文件或者程序,系统不会有任何保护措施!)
4、在完全下载完毕准备运行之前,SP2的用户会看见弹出的“Internet Explorer - 安全警告”对话框,
此时您点击“运行(R)”按钮之后,会发现我们的成效——雅虎助手安装失败的提示,其原因为您启动的IE是以低权限的“基本用户”帐户身份运行的,不具备同您登陆的系统管理组(Administators)用户一样的高权限。
三、特别注意与友情提示。
1、使用以上方法不是万能的,仅仅能针对绝大多数的在程序设计中顾及了或者需要利用系统安装权限的软件(包括正常软件、流氓软件、木马、病毒),所以为了您系统更高的安全,请务必确保您的系统安装并启用了防火墙,安装并使用了能实时更新病毒库的杀毒软件以及实时监控程序。本方法不能成为也不可能成为杀毒软件与防火墙等安全产品的替代品;
2、使用以上方式武装您的IE浏览器定会见到良好成效,但您若是企业用户,请咨询您的系统管理员,以免与企业的统一整体方案相冲突;
3、本方法仅针对下载提示框中选择“运行”方式直接通过IE进程试图运行软件的情况(绝大多数流氓软件或者悄无声息的恶意软件选择此方式传播),不针对选择“保存”并保存到本地计算机然后双击鼠标运行程序的情况。关于这两种情况的实例,请看上面第二节(“我们对以上方法进行测试与检验”)中的第3点;
4、本方法仅这对隶属于Administrators组的一切用户帐户适用,Power Users组很多情形下也适用,Users组或者其它用户组不适用,其根本原因是只有Administrators组以及部分时候的Power Users组才是互联网面前的高风险用户群体,您若使用Users组用户登陆系统并访问互联网,不仅您的IE浏览器,您的任何操作都是以很低的权限执行的,就算本地安装软件也得不到系统的允许。因此低权限组用户或者常常使用低权限组用户帐户登陆使用计算机的用户没有必要用此方法;
5、以上的部分操作——特别是第一节中的操作——必须以系统管理员身份或者隶属于Administrators组的用户帐户登陆系统进行操作,否则会因不具备相应的权限而被系统拒绝;
6、Microsoft Windows Vista用户因具备了UAC高级功能而不需要此文,Microsoft Windows XP Home用户因无法编辑组策略与注册表而不能应用此文。
四、对实现该方法原理的阐释。
基本原理:
Microsoft Windows XP Professional/Media Center Edition是基于NT技术的高端系统,在Microsoft Windows Vista出来之前,系统中并没有或者说并没有很好地引入“以低权限运行程序以保护用户安全,且仅在必要时得到用户允许之后才临时地独立提升权限”的概念。因此,没有相关的安全设置,用户以什么用户组身份登陆系统,就具有多高的相应的权限并且以该权限执行所有的常规程序,包括IE在内。但是我们可以通过相应的策略设置来弥补这一缺点。
Microsoft Windows XP系统是根据对程序的访问令牌(Token)的检查来确定程序应该具有什么权限并给与相应权限的。以IE浏览器举例,它的访问令牌具有“用户帐户”“组账户列表”“特权列表(Privilege)”三大部分以及“其他安全信息”,当使用IE浏览器下载或者安装什么软件或是插件(ActiveX)时,就要涉及到访问本地资源了,毕竟东西是下载并安装到本地计算机上的嘛,这时系统就要检查IE的令牌来分配给它相应的权利。比如登陆系统的是Administrators组的用户,系统就会认为是管理员,并且分配给你最高的特权(Privilege)。可访问的资源(包括注册表、服务、配置文件、系统目录等等)对应有一个“访问控制列表(ACL)”(用来定义用户/工作组与文件、目录或其他资源相关的访问权限的一组数据。在活动目录服务中,一个ACL是一个存储访问权限与被保护对象相互之间关系的列表。在 Windows NT操作系统中,一个ACL作为一个二进制值保存,称之为安全描述符),其中包括“所有者帐户(Owner)”“组帐户”“自由访问列表(DACL)”与“系统访问列表(SACL)”,其中,SACL管制审核,DACL管制对象访问。DACL与SACL中又有若干项具体的“访问控制条目(ACE)”(每一个ACE包括一个安全标识符(SID),这个标识符标识这个ACE的应用对象(用户或小组)以及允许或者拒绝访问的ACE信息的类型)。
当IE要访问本地资源时,Windows就要执行安全检查,将IE访问令牌中的信息与访问控制列表(ACL)中的DACL下的ACE一一对比,以确定IE对注册表键值有没有修改权,IE对系统目录有没有读写权等等。
因此我们要做的就是改变IE的访问令牌,以最低的、最安全的权限来使用IE,剥夺其特权,做到令牌与DACL下的ACE对比时,系统认为其不具备写入系统磁盘文件以及注册表键值的权限。
对实现方法的解释:
1、regedit.exe是系统的注册表编辑器,通过它可以增、删、修改注册表键值;
2、gpedit.msc是系统的组策略编辑器,可以修改系统的各项策略,包括软件策略、安全策略等;
3、[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Safer\CodeIdentifiers]下的DWORD值“Levels:0x20000”对应着XP系统中的隐藏着的“基本用户(Basic User)”,该用户相当于Windows Vista中的“标准用户(Standard User)”,权限不高但能执行常规任务。以下给出XP中三个安全级别的权限概述对比:
不允许的
无论用户的访问权如何,软件都不会运行。
基本用户
允许程序访问一般用户可以访问的资源,但没有管理员或 Power User 的访问权
不受限的
软件访问权由用户的访问权来决定。
4、定义软件限制策略中的路径规则可以对位于某一固定路径下的具体程序进行限制,若设置为“不允许的”,那么该程序就不能运行;若设置为“不受限的”,就同默认的未限制的没有什么区别;若设置为“基本用户”,就是以一定的保护模式运行该程序,而且是永久性的。注意:若建立的是“散列规则”,计算机就会计算其Hash值,那么与你选定的程序相同的同一版本程序无论位于本地计算机或者远程计算机的什么位置都将被应用所选定的安全级别,其好处就是被限制的文件不会因存储位置的改变而逃脱限制;
5、runas.exe是系统自带的实用程序,它在命令提示符(CMD)下运行,有语法规定。本文使用的参数“/trustlevel:”只是众多参数中的一个,其目的是临时地、一次性地改变某一具体程序运行的安全级别,究竟有哪些安全级别可以在CMD下执行"runas /showtrustlevels"来查看或者在组策略编辑器的[计算机配置\Windows 设置\安全设置\软件限制策略\安全级别]下察看。为了避免每次需要时的冗长的命令语句,我们建立了IE高权限的快捷方式;
6、以不同安全级别打开的多个IE浏览器在内存中各自具有独立的进程,互不影响,他们的安全级别不同那么具有的访问令牌也不同;
7、在“文件下载 - 安全警告”对话框中,若点击“保存(S)”按钮,则会将下载的文件保存到本地文件夹或者位于本地计算机上的其他位置,找到本地文件后再双击鼠标运行,由于已经不再是在IE进程之内而是在explorer.exe下,是直接运行本地程序的行为,所以系统会以你登陆帐户的相应权限执行,不再以IE的保护模式——基本用户安全级别执行,因此,恶意软件可以正常被安装(如果你以隶属于Administrators组的用户身份登陆系统)。
文章引用自:http://blog.sina.com.cn/u/5773dd91010008fn