该用户从未签到
|
IE浏览器,我想你安全、再安全些--Updated! z5 w4 g, _5 N8 B
IE浏览器是一个颇具争议的组件,不少用户一想到IE,恐怕脑子里就会浮现起曾经遭遇过的惨状:主页被恶意修改,IE动辄无缘无故关闭,注册表被改得乱七八糟,莫名其妙跳出网页……
C1 A9 ?$ y3 t6 Y$ l6 G3 J6 R" Z也难怪, IE是连接Internet的门户,难免会受病毒蠕虫等的“骚扰”。想让IE练就 “金刚不坏”之体,那就得首先分析一下恶意网页为什么可以为所欲为:大多数用户都是用管理员身份登录系统,IE默认获得管理员的访问令牌,这样网页中的恶意代码就会以最高的特权对系统进行篡改。只有让IE运行在更低的特权级别,才能防止恶意网页破坏系统。8 {2 V# b/ U: ^! s
怎样才能让IE以更低的特权运行?Windows Vista可以满足要求,其UAC功能可以让所有用户进程运行在Standard User的特权级别,但是Vista还“犹抱琵琶半遮面”,其实我们的XP一样可以达到类似的目的!7 Z2 X: K2 Q7 U. l- Q, s
提示 为了讲述的方便,这里假设以管理员帐户Admin登录系统。
. `6 F5 s d/ P' k$ T2 }) n' i6 ?) t {一、“运行方式”给IE穿上铁布衫7 T) ] n6 ^% t
右键单击IE的快捷方式,选择“运行方式”命令,在打开对话框上,确保勾选“保护我的计算机和数据不受未授权程序的活动影响”复选框,如下图所示。
; { X8 B" |0 q) N8 H/ A( e8 ]: ^9 Z {! x& v
& O8 r0 \6 H% D1 m0 n( z9 l. c
: L: \' a+ H4 `: h+ i0 w用这种方法启动IE,对几个“臭名卓著”的恶意网站进行测试,结果非常安全。同时还能用来对付DuDu加速器、3721等流氓插件!' w+ C& M J9 R" A' @
为什么?原来这时的IE浏览器会获得一个受限的访问令牌(Restricted Token),无法对系统目录和注册表进行写操作,网页中的恶意代码也就没办法破坏系统。. W* \: O- _( O a9 ?5 j) V
当然,还得让实验来说话:2 @) W- O. d2 C
分别在“运行方式”和正常模式下打开IE浏览器,然后用Process Explorer双击打开这两个IE进程的属性对话框,切换到“Security”标签页,即可查看这两个进程所获得的访问令牌,如下图所示。6 T3 `7 m7 ~) V3 Y% i
% v- O) j- e1 G \9 N
3 L. Z7 [- D8 x; N很显然,相对于正常模式,“运行方式”打开IE进程所获得的受限令牌,其内容发生了以下两大变化:' S0 }* D& g8 F' S4 x7 s
u 用户和组的SID
( m4 q2 D9 z( u1 f a5 |! t; O(1)Administrators或Power Users组帐户的SID被标记为拒绝(Deny)。6 d3 J. N0 m5 M1 O/ n/ {
如果某个资源拒绝Administrators或Power Users访问,则进程无法访问该资源;而且进程会忽略除Deny之外的其他访问权限。* L8 z6 T, x5 h) a
(2)除了Admin、Administrators和Power Users组帐户外,其他帐户的SID都加入受限(Restricted)列表:当进程访问资源时,必须经过两次安全检查:一次是检查令牌中启用的SID,另一次是检查受限列表里的SID,只有两次检查都通过,才能访问成功。% G/ {7 T# L, p
u 特权(Privilege)
' S; @4 \6 C% x* K仅保留SeChangeNotificatonPrivilege(跳过遍历检查)特权。( S: r) ^0 k4 h6 f! |" n! y
难怪这时的IE特别安全,尽管是以管理员帐户Admin登录系统,但是IE进程不能访问用户的配置文件夹(%USERPROFILE%),连收藏夹、我的文档都不能访问!
! {7 I4 f" h! m2 k& E' {/ AIE也不能在分区根目录写入文件,对注册表没有写的权限。同时只有SeChangeNotificatonPrivilege(跳过遍历检查)特权,可以防止病毒滥用特权做坏事。- I7 g8 M( c1 e2 e- ]( E
提示 配置文件夹ACL包括Admin和Administrators和SYSTEM,由于Administrators被标记为Deny,而Admin帐户没有对应的Restricted SID(在第二次安全检查时失败),所以无法访问。
! J* k1 c" [# I' Z二、“基本用户”类型帮助IE强身健体- n6 z" g6 t/ d7 q0 |
用“运行方式”运行IE浏览器,虽然非常安全,但是有以下两个缺陷:1 _2 p. f. E [- d
u 限制太严格,例如IE浏览器无法加载收藏夹。
1 \) h7 N, U- f0 N5 u3 b }u 每次运行IE浏览器,还需要增加额外的步骤,很不方便。2 O. _9 \! I6 e
本文将介绍如何给XP系统启用一个“基本用户”(Basic User)类型,这个“基本用户”(Basic User)类似于Windows Vista的“标准用户”(Standard User),只是默认没有启用。
" j/ [% }! Q% G7 b# a1 {" C* |$ O1.启用基本用户类型
/ A( a1 M, Z. H7 O) [* T: Y(1)打开注册表编辑器,定位到以下注册表项:" e2 `' c8 P A; v
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Safer\CodeIdentifiers
: t( L. M. Y( i: S+ t(2)新建一个名为Levels的DOWRD键值,其数据数值为0x20000。
' ]: q/ ]/ @- L, W2.Runas命令
t1 c0 C, W. I/ `- p打开命令提示符窗口,运行以下命令:
9 L' ? |2 N6 BRunas /ShowTrustLevels7 x0 p% k% ^' B3 y- G: t5 c8 X
即可看到系统当前的信任级别,如附图所示,其中有一个“基本用户”,对应新增加的注册表键值(Levels:0x20000)。
, L) D5 ^2 B z& C+ q7 q3 y3 J. M! S
+ ^6 g3 s+ e( _6 s/ i6 D+ J, w* ]' ]( C" [ y
2 J2 n, \! \" ] d* R$ o
运行以下命令,即可以“基本用户”的身份启动IE浏览器:2 B! W0 L1 W- B& ~# C/ H6 y
runas /trustlevel:基本用户 "C:\Program Files\Internet Explorer\IEXPLORE.EXE"; `3 g9 F) I2 q! m' R) H& f. J
可以新建一个快捷方式,在项目位置里输入以上的命令,这样每次双击该快捷方式,就能够以“基本用户”的身份启动IE浏览器。
. C9 G9 B" C( K/ t" m3.软件限制策略
& O+ _! a. V& a+ N) |打开“本地安全策略”管理单元(如果第一次设置软件限制策略,请右键单击“软件限制策略”,选择“创建新的策略”菜单项),展开软件限制策略→安全级别,在右侧的详细窗格里可以看到“基本用户”,如附图所示,这和“Runas /ShowTrustLevels”命令看到的信任级别是一致的。
4 S w- {1 a. t3 |; G
; K/ |8 v: o. |! y3 D; u9 _) [1 l7 _+ a7 ?1 T/ s
5 h, x5 r) N) n
可以新建一个路径规则,如附图所示,指定安全级别为“基本用户”,这样每次运行IE浏览器,都可以运行在更安全的级别。) Y" X0 u; V8 ?( L; O. z
( w8 W6 K, W# G8 k
; N9 e3 L( \: f1 {7 s, _
5 [! w9 D! K) [7 k* H8 O 每次新建的一条“基本用户”的软件限制策略,都会在HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Safer\CodeIdentifiers\131072注册表项下新增一个子项。如果是路径策略,则会新增一个Path子项;如果是散列策略,这会新增一个Hash子项。注册表项里的131072是什么?实际上就是前面增加的那个Levels:0x20000,0x20000正好就是131072。! X! @# m5 g3 A7 l& T
4.查看基本用户的访问令牌5 b o' W% g% k5 B: u
用Process Explorer查看此时的IE浏览器属性,发现其访问令牌和Windows Vista的“标准用户”功能所获得访问令牌相似,如附图所示。" V* T4 H# j( z9 ?/ V) l* K: w
g, \$ X9 U; O8 ? ~& w# n
. R5 [ a$ f2 G( p$ T/ \
! X; i1 e; |3 z( P( r9 QWindows Vista的标准用户、Windows XP的基本用户、和运行方式之间的区别如下:
) A- _* M: r% S" e1 D% v3 E4 z1 e(1)Vista的“标准用户”比XP的“基本用户”多出了几个特权(Privilege),只是默认禁用。
% `: z( X) o. e2 T# q(2)XP的“基本用户”所获得的访问令牌相对于“运行方式”(Restricted Token)来说,限制相对少一些,只是将Administrators和Power Users组标志为Deny,而并没有将其他帐户放入Restricted SID列表,这样IE进程可以访问配置文件夹等其他资源(包括收藏夹和我的文档),可以读写HKEY_CURRENT_USER下的绝大多数注册表键值,但是仍然不能写HKEY_LOCAL_MACHINE下的注册表键值。
. y- d \3 F& }' b' Z# {: C三、命令工具
, _4 b3 P7 \- D: S6 f0 T/ k这里推荐Michael Howard所写的命令行工具DropMyRights。7 M& ]* | X) m) y; g' R
DropMyRights的使用语法如下:9 ^0 f& _- E& x& y# `- Y% @
DropMyRights {path} [N|C|U]4 |3 R4 Q" F2 z2 `$ \2 Y3 b6 r% |
这里的path是指应用程序的路径,N指代基本用户(Basic User),C指代受限用户(Restricted User),U是指不信任用户。* f/ e' m' p2 |4 g
如果要以基本用户身份运行IE浏览器,可以创建一个快捷方式,将项目位置设置为:
, g6 ^% F: g( M. z; S" j2 E2 A! z. gDropMyRights "C:\Program Files\Internet Explorer\IEXPLORE.exe" N
2 s o* P4 P7 o( ]* ?- |! G这样就可以在需要时双击该快捷方式,以更加的安全环境下运行IE浏览器。
3 {2 a" B* ^2 c& y4 {四、注意
) G" n6 r; b) H9 G0 L% F. K% y0 u9 S! T! Q) ]. Q8 ]8 n' g
4 I8 A( D" n& T& A# [! X
如果确实需要安装某些IE插件、或者要运行Windows更新等需要管理员权限的任务,请暂时禁用“软件限制策略”,否则这些管理任务将无法顺利完成,例如笔者曾经死活安装不上MSN Space的上传图片控件,系统也不报错,原因就是IE浏览器运行在Basic User特权级别下。这里特别期待Vista,因为Vista的UAC可以自动识别是否需要管理员特权。
. S$ M9 Z$ N6 q
; ^0 P" Z3 L9 z" ~提示
# _* w$ j$ k8 M1 T# Z+ z) W1.本文部分内容参考自Michael Howard的文章《Browsing the Web and Reading E-mail Safely as an Administrator》(两篇),原文链接如下:
! {4 S" r# N/ f) {% q; F' vhttp://msdn.microsoft.com/security/securecode/columns/default.aspx?pull=/library/en-us/dncode/html/secure11152004.asp
0 A, U7 g5 q3 @) I0 U+ ?. G. Jhttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncode/html/secure01182005.asp
& Z: |: |, L* S3 s! [' ?/ t) C) c2.本文提到的Process Explorer,可以到以下网站下载:
1 r3 Z; w# B2 Ehttp://www.sysinternals.com/Utilities/ProcessExplorer.html- d+ x+ G& q( r9 F; h
本文提到的DropMyRights,可以到以下网站下载:+ D7 K' i3 F7 w4 D
http://download.microsoft.com/download/f/2/e/f2e49491-efde-4bca-9057-adc89c476ed4/DropMyRights.msi4 E# W' R; d2 |
3.Windows Vista的核心安全功能UAP,目前已经正式改名为UAC(User Account Control)。
2 b6 g; E& F) ]) @$ \4 _8 | n. N1 a/ W! S/ M$ g
3 M6 t6 ^( e4 L
6 Y+ d3 O* O6 k3 F1 }* o
1 s/ W- O0 v/ E @: j3 {: n+ @
# {$ k% V) `& E$ Y6 c K3 p
5 ^3 W! M" h) {4 Y* ]Comments
( T, ~+ t" x+ }8 J1 |1 q- |& y8 C3 i# re: IE浏览器,我要你安全、再安全些
0 M2 d& K# s0 m+ w, Y3 L- X" V- I3 \9 P
如果IE被安装了太多插件(包括Spyware或Malware),要想启动一个无插件状态的IE,可以直接运行“"C:\Program Files\Internet Explorer\iexplore.exe" –extoff”(只适用于Vista下)。 5 b6 g" }5 B- F8 _* _) z
# re: IE浏览器,我要你安全、再安全些
5 L% z8 C. y2 z- ^6 O! |) a
7 L; {! o; u' S) ?如果XP下的IE要实现NoAddon的功能,应该用什么办法呢? 2 V0 T. R" T6 o) @: q
# re: IE浏览器,我要你安全、再安全些
) H3 D8 V+ |7 p
8 }% Z4 z) l, M8 wXP中的IE没有该参数,所以估计只能打开IE(此时已经加载所有插件),然后在IE的“工具”——“管理加载项”中一一禁用这些插件。 % b8 `+ n" W8 ^0 w( k9 m7 u8 ^7 \
# re: IE浏览器,我要你安全、再安全些
) t s3 X4 ^" F+ |3 N+ k# R1 O$ t
; M8 o+ _9 Z" r) w! B- mIE7有一种启动方式叫做“Start without Add-ons”
+ p( Z2 `( B2 v: L& c) ^- V# re: IE浏览器,我要你安全、再安全些
, Y! a+ ~( M2 i9 V* G' g4 Z/ B) J+ b6 t/ G/ w/ {. Z" D
IE 7.0也有这个功能,太棒了,期待啊~~
F) F4 p- e' U0 [" H) S# p; RIE的很多常见问题就是由于第三方插件的冲突和干扰所导致的。 , j3 F0 f& G% G( b
# re: IE浏览器,我想你安全、再安全些 7 ]' c9 C) \& Q3 R* \6 J! h
/ E6 g. D! R% P5 a. \; @/ `$ I S9 Cvista的安全模式里面我记得好象也有IE的安全模式,就是"Start without Add-ons" 3 q4 ?! M# ]: V! n4 i: C( {
# re: IE浏览器,我想你安全、再安全些--Updated p6 }2 I# B6 r* O8 ^3 m! H
3 I. T% G8 l' b- x& ?! n2 C
如果确实需要安装某些IE插件、或者要运行Windows更新等需要管理员权限的任务,请暂时禁用“软件限制策略”,否则这些管理任务将无法顺利完成,例如笔者曾经死活安装不上MSN Space的上传图片控件,系统也不报错,原因就是IE浏览器运行在Basic User特权级别下。这里特别期待Vista,因为Vista的UAC可以自动识别是否需要管理员特权。
, s# A+ o( ^- J; m% H4 |, i# re: IE浏览器,我想你安全、再安全些--Updated
( H. m2 `3 C- g% Y" D) R$ C+ I5 e( r- J
是的,在HelpOnline论坛上有很多关于IE种种故障的案例,我都是先建议禁止所有插件来看看是否为插件所导致的(事实证明很多情况下都是),如果不是再重装IE(也很方便,一个命令即可)。不过IE 7以前的版本没有一个很方便禁止所有插件的方法,而IE 7提供的这一模式基本等同与诊断模式。
8 m5 M& ?4 n- X& ]7 ^# re: IE浏览器,我想你安全、再安全些--Updated
9 s* K) u9 @7 y/ r/ T3 \' c0 Q. J
( ~ m8 S! |# i, w8 d' k: y我也遇到过很多的这样的问题,基本上都是先卸载掉IE的插件就能解决,甚至都不需要重新安装IE.
& v" q3 w2 n5 m- ]# re: IE浏览器,我想你安全、再安全些--Updated
& r, f8 O# U2 {( d
8 w, |7 U# }# P7 I嗯,遇到IE 6.0 SP2相关问题,可以采用以下常规排错方法:
" ^* V/ H! h) c2 v; g/ E6 q1.在IE浏览器窗口上单击工具、Internet选项。 9 k7 Y. M; n' A: n
在打开的对话框的“常规”里单击删除文件,并勾选“删除所有脱机文件”,然后单击确定。 2 m2 {5 X Y9 B( n& ?& Q
单击删除Cookies,然后单击确定。
* E+ Q# ]; c; W0 a单击清除历史,然后单击确定。 3 F8 m u! j) \- L6 R/ t; h& l0 v
2.在Internet选项的“高级”标签页,确保清空“启用第三方浏览器扩展”复选框。 2 ^: P, ?, p" h
3.在Internet选项对话框上切换到“程序”标签页,然后单击管理加载项。
* y* q1 @% h( p+ X在打开的对话框上,单击“发行者”,然后禁用所有发行者不是“Microsoft Corporation”的加载项。 - U) S4 I7 l; j( T0 r( W
单击确定,保存设置。
* v0 ?( p1 ]! v8 [# re: IE浏览器,我想你安全、再安全些--Updated
- i5 u% g/ M4 l! [8 U) W* y$ {4 L3 C5 H, [! n, c4 n+ {' a3 k9 V% {
盆盆,我不太擅长组策略的设置,我有一个疑问,就是你这种限制之后其他的IE核心的浏览器的权限是否也会降下来呢? 还有这个组策略是否仅针对由explorer进程下创建的IE进程有限制作用呢? , ] P: y$ E1 f* _
当其他和explorer差不多同级的进程创建了浏览器进程,后者是否会继承前者的权限呢? |
|