该用户从未签到
|
IE浏览器,我想你安全、再安全些--Updated
% w# j# C/ R: _+ Q# X* C. i. hIE浏览器是一个颇具争议的组件,不少用户一想到IE,恐怕脑子里就会浮现起曾经遭遇过的惨状:主页被恶意修改,IE动辄无缘无故关闭,注册表被改得乱七八糟,莫名其妙跳出网页……) B1 Y! z, v* D5 _5 L f7 p5 ]: E
也难怪, IE是连接Internet的门户,难免会受病毒蠕虫等的“骚扰”。想让IE练就 “金刚不坏”之体,那就得首先分析一下恶意网页为什么可以为所欲为:大多数用户都是用管理员身份登录系统,IE默认获得管理员的访问令牌,这样网页中的恶意代码就会以最高的特权对系统进行篡改。只有让IE运行在更低的特权级别,才能防止恶意网页破坏系统。6 I# c: N5 e; d
怎样才能让IE以更低的特权运行?Windows Vista可以满足要求,其UAC功能可以让所有用户进程运行在Standard User的特权级别,但是Vista还“犹抱琵琶半遮面”,其实我们的XP一样可以达到类似的目的!
u4 m" d: J/ o提示 为了讲述的方便,这里假设以管理员帐户Admin登录系统。
7 J" q% @1 V% ^1 r0 Y) t6 P, D一、“运行方式”给IE穿上铁布衫: H3 H1 r1 i: S4 z& P" m5 b+ X: T
右键单击IE的快捷方式,选择“运行方式”命令,在打开对话框上,确保勾选“保护我的计算机和数据不受未授权程序的活动影响”复选框,如下图所示。
- G- g5 C) T) _( e8 M8 a: p2 F% z
0 R4 u+ P, D. x3 O' i6 [& O) M: @+ }! r4 U
用这种方法启动IE,对几个“臭名卓著”的恶意网站进行测试,结果非常安全。同时还能用来对付DuDu加速器、3721等流氓插件!
) M5 J5 t8 e) ]2 x+ P5 V为什么?原来这时的IE浏览器会获得一个受限的访问令牌(Restricted Token),无法对系统目录和注册表进行写操作,网页中的恶意代码也就没办法破坏系统。
4 |! l; P: z/ Q) P s当然,还得让实验来说话:
4 @, ^; y$ L8 h$ A2 J3 X分别在“运行方式”和正常模式下打开IE浏览器,然后用Process Explorer双击打开这两个IE进程的属性对话框,切换到“Security”标签页,即可查看这两个进程所获得的访问令牌,如下图所示。! {7 G2 i3 ]" p, y7 e6 W8 E& \
' T4 a {! Y- x7 W( l4 p: \
- b7 g1 S8 N( p. U& |; L, o2 f很显然,相对于正常模式,“运行方式”打开IE进程所获得的受限令牌,其内容发生了以下两大变化:
}2 L4 |2 K' I! J/ Fu 用户和组的SID
$ a I: p' h* L9 V% X$ \. q: [(1)Administrators或Power Users组帐户的SID被标记为拒绝(Deny)。4 F4 r( P1 d: e1 O( r
如果某个资源拒绝Administrators或Power Users访问,则进程无法访问该资源;而且进程会忽略除Deny之外的其他访问权限。
5 V& |" d6 M& s" U3 [: O(2)除了Admin、Administrators和Power Users组帐户外,其他帐户的SID都加入受限(Restricted)列表:当进程访问资源时,必须经过两次安全检查:一次是检查令牌中启用的SID,另一次是检查受限列表里的SID,只有两次检查都通过,才能访问成功。7 W9 Z$ g; b/ ?5 L6 N
u 特权(Privilege)
3 }* c0 {- A+ u6 L, c- C6 a仅保留SeChangeNotificatonPrivilege(跳过遍历检查)特权。
3 H( I5 j9 y9 L; [2 l难怪这时的IE特别安全,尽管是以管理员帐户Admin登录系统,但是IE进程不能访问用户的配置文件夹(%USERPROFILE%),连收藏夹、我的文档都不能访问!
( ]3 `( S2 b+ `! V) j0 `5 X0 ~+ LIE也不能在分区根目录写入文件,对注册表没有写的权限。同时只有SeChangeNotificatonPrivilege(跳过遍历检查)特权,可以防止病毒滥用特权做坏事。! g: v4 V9 A& Z) @( [3 \ c
提示 配置文件夹ACL包括Admin和Administrators和SYSTEM,由于Administrators被标记为Deny,而Admin帐户没有对应的Restricted SID(在第二次安全检查时失败),所以无法访问。/ J, O2 K8 w# h) n* P9 x
二、“基本用户”类型帮助IE强身健体7 C- ]3 e5 l1 f
用“运行方式”运行IE浏览器,虽然非常安全,但是有以下两个缺陷:* ?. A$ H7 p3 C' \6 r' S7 H
u 限制太严格,例如IE浏览器无法加载收藏夹。
! x2 z- n% `9 j2 q# ju 每次运行IE浏览器,还需要增加额外的步骤,很不方便。
. x/ H0 ~6 f& `5 P: s5 @2 f本文将介绍如何给XP系统启用一个“基本用户”(Basic User)类型,这个“基本用户”(Basic User)类似于Windows Vista的“标准用户”(Standard User),只是默认没有启用。$ u8 f$ ?5 r: U" ~- n6 q! v& L
1.启用基本用户类型; D$ g$ W) m9 q+ ]1 E2 E
(1)打开注册表编辑器,定位到以下注册表项:
' ~; V2 U* J+ E) Q! w0 ]) aHKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Safer\CodeIdentifiers
4 M" R( z. m' {' F: L8 }" G(2)新建一个名为Levels的DOWRD键值,其数据数值为0x20000。
% x& |+ L# F; t2 K3 ?" V6 q! d2.Runas命令
. x( i& W8 Y3 U }# ]/ p7 ~打开命令提示符窗口,运行以下命令:* i$ a3 N( h4 a3 v) p
Runas /ShowTrustLevels
7 j7 X% u+ [3 \即可看到系统当前的信任级别,如附图所示,其中有一个“基本用户”,对应新增加的注册表键值(Levels:0x20000)。 b+ m5 O# T+ L7 a# x
$ b: Q- p" Q! Z9 r6 {
+ ?- Y* Y3 g, ]5 ^- }* {6 E
: v& _4 V. _( g9 j' H
运行以下命令,即可以“基本用户”的身份启动IE浏览器:9 ]8 ~# @$ u8 G
runas /trustlevel:基本用户 "C:\Program Files\Internet Explorer\IEXPLORE.EXE"
3 l1 ]6 j' h2 Y6 w' C0 T* ^5 W可以新建一个快捷方式,在项目位置里输入以上的命令,这样每次双击该快捷方式,就能够以“基本用户”的身份启动IE浏览器。" h( p" a# m5 [5 ~8 A, E% n
3.软件限制策略) ]2 [+ f+ l" ~% ]$ M
打开“本地安全策略”管理单元(如果第一次设置软件限制策略,请右键单击“软件限制策略”,选择“创建新的策略”菜单项),展开软件限制策略→安全级别,在右侧的详细窗格里可以看到“基本用户”,如附图所示,这和“Runas /ShowTrustLevels”命令看到的信任级别是一致的。( J' w' t/ `# F$ K" h ]
7 E; {- f( o& l: F! W! x
& P9 N' J# r5 W# N* ~8 @
$ j8 p y; {4 p1 Q% x- J5 Q+ J可以新建一个路径规则,如附图所示,指定安全级别为“基本用户”,这样每次运行IE浏览器,都可以运行在更安全的级别。
}# `5 Z( I% U+ w N- d% L, O7 K. I
! W1 G& |7 h5 ?2 K
" Y4 w/ n8 @7 z, G, Y 每次新建的一条“基本用户”的软件限制策略,都会在HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Safer\CodeIdentifiers\131072注册表项下新增一个子项。如果是路径策略,则会新增一个Path子项;如果是散列策略,这会新增一个Hash子项。注册表项里的131072是什么?实际上就是前面增加的那个Levels:0x20000,0x20000正好就是131072。5 I2 V7 o5 E8 G/ C, W
4.查看基本用户的访问令牌
2 P/ ~$ v* G# b# a1 J8 ]用Process Explorer查看此时的IE浏览器属性,发现其访问令牌和Windows Vista的“标准用户”功能所获得访问令牌相似,如附图所示。- n& G& Z1 Q' K n
# B+ _1 P) a* |1 _) `- P% Q
- y, \( C3 l, j9 o1 e4 w5 U
1 |1 ?, Y0 W9 p& G I- V* \" j5 ~Windows Vista的标准用户、Windows XP的基本用户、和运行方式之间的区别如下:
, E& `, x3 X. G2 c(1)Vista的“标准用户”比XP的“基本用户”多出了几个特权(Privilege),只是默认禁用。
& r* n/ j# W1 |/ h(2)XP的“基本用户”所获得的访问令牌相对于“运行方式”(Restricted Token)来说,限制相对少一些,只是将Administrators和Power Users组标志为Deny,而并没有将其他帐户放入Restricted SID列表,这样IE进程可以访问配置文件夹等其他资源(包括收藏夹和我的文档),可以读写HKEY_CURRENT_USER下的绝大多数注册表键值,但是仍然不能写HKEY_LOCAL_MACHINE下的注册表键值。# K8 i4 E- `3 O, l
三、命令工具- e7 k2 q, J( O
这里推荐Michael Howard所写的命令行工具DropMyRights。
) w! d: z; r4 m+ ]' W& |DropMyRights的使用语法如下:
7 X U- F7 D; [- s( L8 XDropMyRights {path} [N|C|U]
/ j6 l) Y0 c% Y& y) @4 k$ x/ X1 L这里的path是指应用程序的路径,N指代基本用户(Basic User),C指代受限用户(Restricted User),U是指不信任用户。' s7 `3 O/ I- Z- ^; r
如果要以基本用户身份运行IE浏览器,可以创建一个快捷方式,将项目位置设置为:
2 ?: e4 |' ^, c9 I; ZDropMyRights "C:\Program Files\Internet Explorer\IEXPLORE.exe" N0 H2 K9 o: r' Y7 [ g
这样就可以在需要时双击该快捷方式,以更加的安全环境下运行IE浏览器。
, W( o! P0 ~# ?/ B& v: |四、注意1 F m# }0 T5 ~3 t
O' R% h% i9 ?/ E) G0 U- ], Y+ l4 G8 N
如果确实需要安装某些IE插件、或者要运行Windows更新等需要管理员权限的任务,请暂时禁用“软件限制策略”,否则这些管理任务将无法顺利完成,例如笔者曾经死活安装不上MSN Space的上传图片控件,系统也不报错,原因就是IE浏览器运行在Basic User特权级别下。这里特别期待Vista,因为Vista的UAC可以自动识别是否需要管理员特权。$ Q( b: X5 c3 ~1 R
0 s- }. q/ |) b+ Z$ D! A) x- c* k+ k
提示5 C1 g6 G2 E: P
1.本文部分内容参考自Michael Howard的文章《Browsing the Web and Reading E-mail Safely as an Administrator》(两篇),原文链接如下:2 G: p4 i9 B. S' \* P# w
http://msdn.microsoft.com/security/securecode/columns/default.aspx?pull=/library/en-us/dncode/html/secure11152004.asp' O/ N/ G- R) n2 t! r
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncode/html/secure01182005.asp
( g: R7 N9 j, @3 x. C2.本文提到的Process Explorer,可以到以下网站下载:0 Q" f A e) b1 V6 J2 q
http://www.sysinternals.com/Utilities/ProcessExplorer.html( Z9 E9 a0 _5 \/ K+ x* n; m. w; ~
本文提到的DropMyRights,可以到以下网站下载:
0 r! S! l- Q( H# thttp://download.microsoft.com/download/f/2/e/f2e49491-efde-4bca-9057-adc89c476ed4/DropMyRights.msi
P$ p3 Z$ z$ d9 G/ c, U8 d3.Windows Vista的核心安全功能UAP,目前已经正式改名为UAC(User Account Control)。
M+ ]* V1 R' b7 _+ |. H
! L3 S6 P! U! {9 G9 u8 |, J/ I- `; J) x3 X* `
W3 b6 R* }6 ?. X7 D# |+ h9 a1 T& \% ^- }' f0 t7 X7 k9 g
. m2 j: I; a+ X
. |. Y; k: `7 j% b- W4 M
Comments+ B, I" ?; v7 B* p# c8 a
# re: IE浏览器,我要你安全、再安全些 : U& f$ _3 i# x* N* v- ^6 Y
8 A5 W4 I5 O8 c5 G) l6 M9 y如果IE被安装了太多插件(包括Spyware或Malware),要想启动一个无插件状态的IE,可以直接运行“"C:\Program Files\Internet Explorer\iexplore.exe" –extoff”(只适用于Vista下)。
& d: F, W$ n6 p; w; a* H% [# re: IE浏览器,我要你安全、再安全些 ) e8 ]+ I2 o; }; `
$ i% _7 \$ c8 d- N, p! J
如果XP下的IE要实现NoAddon的功能,应该用什么办法呢? 7 U: n8 l, @% n. {
# re: IE浏览器,我要你安全、再安全些 8 I! q3 r9 F! ~% { J* c
' d# x4 F. n' n4 X8 B# o. M/ c
XP中的IE没有该参数,所以估计只能打开IE(此时已经加载所有插件),然后在IE的“工具”——“管理加载项”中一一禁用这些插件。 0 k1 {5 C5 ~# J% Y; p3 f) n
# re: IE浏览器,我要你安全、再安全些 7 U- N) L; ^2 l1 a
' S0 n4 P& _% L# K S2 C1 V8 f& c
IE7有一种启动方式叫做“Start without Add-ons”
- l+ n2 a2 W9 a! O& H# re: IE浏览器,我要你安全、再安全些
# x) ^2 k! g4 r6 C0 e$ c9 [
( ?. r) X: c- j" z! D! O: bIE 7.0也有这个功能,太棒了,期待啊~~ ( H1 X5 O. d) N) ?9 ~
IE的很多常见问题就是由于第三方插件的冲突和干扰所导致的。
- s4 n9 q7 J1 n) H7 o# re: IE浏览器,我想你安全、再安全些 ! {- J4 f' q: x* [! {. v3 s9 |
% k- q0 ^' M3 }2 m0 X, v
vista的安全模式里面我记得好象也有IE的安全模式,就是"Start without Add-ons"
0 K5 e1 D6 S% x4 F# re: IE浏览器,我想你安全、再安全些--Updated
2 A8 G- l& m, K: B
$ i4 z# L/ W; r7 I. H/ |' o如果确实需要安装某些IE插件、或者要运行Windows更新等需要管理员权限的任务,请暂时禁用“软件限制策略”,否则这些管理任务将无法顺利完成,例如笔者曾经死活安装不上MSN Space的上传图片控件,系统也不报错,原因就是IE浏览器运行在Basic User特权级别下。这里特别期待Vista,因为Vista的UAC可以自动识别是否需要管理员特权。 7 s; \, b) b& N R+ z4 ?
# re: IE浏览器,我想你安全、再安全些--Updated
+ `: p, d! t! L I* `. ~1 S0 c! n T1 k8 ?* v1 v
是的,在HelpOnline论坛上有很多关于IE种种故障的案例,我都是先建议禁止所有插件来看看是否为插件所导致的(事实证明很多情况下都是),如果不是再重装IE(也很方便,一个命令即可)。不过IE 7以前的版本没有一个很方便禁止所有插件的方法,而IE 7提供的这一模式基本等同与诊断模式。 1 {7 B' u6 K: r6 Z
# re: IE浏览器,我想你安全、再安全些--Updated
3 ^1 x0 _7 U% d
/ T; y' w2 R0 ~) ]3 i我也遇到过很多的这样的问题,基本上都是先卸载掉IE的插件就能解决,甚至都不需要重新安装IE. ' \9 X4 N y* l! ?% J% ~9 A' V! I8 y
# re: IE浏览器,我想你安全、再安全些--Updated
* _% H6 b! g8 U! q. H, b; h2 I! _6 ?+ ^$ j& [2 c# w5 X
嗯,遇到IE 6.0 SP2相关问题,可以采用以下常规排错方法:
3 L, V3 T. \! ^4 q) [, }5 m- f& w1.在IE浏览器窗口上单击工具、Internet选项。 4 }" |) r4 o$ ~/ _) w
在打开的对话框的“常规”里单击删除文件,并勾选“删除所有脱机文件”,然后单击确定。 3 H! z" |. e- g; c
单击删除Cookies,然后单击确定。 . E% `! r+ Q: E7 c: o8 \
单击清除历史,然后单击确定。 # ^, y+ T( v3 V$ {' Z7 h6 s
2.在Internet选项的“高级”标签页,确保清空“启用第三方浏览器扩展”复选框。
. |. ~& G7 K; t3.在Internet选项对话框上切换到“程序”标签页,然后单击管理加载项。
2 j$ C8 E7 }5 m在打开的对话框上,单击“发行者”,然后禁用所有发行者不是“Microsoft Corporation”的加载项。 $ ]0 [& O! @" J/ H; U; Z) B3 u
单击确定,保存设置。 5 B& Q$ x2 Z! C: u1 z1 w7 i
# re: IE浏览器,我想你安全、再安全些--Updated
6 l0 e: `7 g8 g, H0 S, P; A+ I( s9 Q8 x) I9 ?- {; s8 w
盆盆,我不太擅长组策略的设置,我有一个疑问,就是你这种限制之后其他的IE核心的浏览器的权限是否也会降下来呢? 还有这个组策略是否仅针对由explorer进程下创建的IE进程有限制作用呢? - Y$ F- W9 M c
当其他和explorer差不多同级的进程创建了浏览器进程,后者是否会继承前者的权限呢? |
|