下沙论坛

 找回密码
 注册论坛(EC通行证)

QQ登录

QQ登录

下沙大学生网QQ群8(千人群)
群号:6490324 ,验证:下沙大学生网。
用手机发布本地信息严禁群发,各种宣传贴请发表在下沙信息版块有问必答,欢迎提问 提升会员等级,助你宣传
新会员必读 大学生的论坛下沙新生必读下沙币获得方法及使用
查看: 3922|回复: 3
打印 上一主题 下一主题

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

[复制链接]

该用户从未签到

跳转到指定楼层
1
发表于 2008-3-7 10:33:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
IE浏览器,我想你安全、再安全些--Updated1 ^9 p' ?+ d: }* G2 \
IE浏览器是一个颇具争议的组件,不少用户一想到IE,恐怕脑子里就会浮现起曾经遭遇过的惨状:主页被恶意修改,IE动辄无缘无故关闭,注册表被改得乱七八糟,莫名其妙跳出网页……
. r# B. ^, J  ^也难怪, IE是连接Internet的门户,难免会受病毒蠕虫等的“骚扰”。想让IE练就 “金刚不坏”之体,那就得首先分析一下恶意网页为什么可以为所欲为:大多数用户都是用管理员身份登录系统,IE默认获得管理员的访问令牌,这样网页中的恶意代码就会以最高的特权对系统进行篡改。只有让IE运行在更低的特权级别,才能防止恶意网页破坏系统。
- o7 \0 M. ]4 C! \* \怎样才能让IE以更低的特权运行?Windows Vista可以满足要求,其UAC功能可以让所有用户进程运行在Standard User的特权级别,但是Vista还“犹抱琵琶半遮面”,其实我们的XP一样可以达到类似的目的!2 H% B9 }" I' ~& p, ~9 j: `8 O
提示 为了讲述的方便,这里假设以管理员帐户Admin登录系统。9 _% P9 D' `: q% F5 n0 p' N/ }! x
一、“运行方式”给IE穿上铁布衫4 {9 B1 v0 s/ u
右键单击IE的快捷方式,选择“运行方式”命令,在打开对话框上,确保勾选“保护我的计算机和数据不受未授权程序的活动影响”复选框,如下图所示。" M) N# M0 C' @2 |0 I# k
* ~1 |8 b5 ?/ T' g- L7 ]

1 q* y1 V" |0 a
0 b) b. a/ f# Z2 R9 j
用这种方法启动IE,对几个“臭名卓著”的恶意网站进行测试,结果非常安全。同时还能用来对付DuDu加速器、3721等流氓插件!
% V5 o; W* K6 N2 f: Q' l为什么?原来这时的IE浏览器会获得一个受限的访问令牌(Restricted Token),无法对系统目录和注册表进行写操作,网页中的恶意代码也就没办法破坏系统。
3 m* C7 R% t6 E9 g" W$ m. o/ [4 P+ W当然,还得让实验来说话:7 k% j8 d+ Y, U/ {" k* K1 ?$ G- D- e5 M
分别在“运行方式”和正常模式下打开IE浏览器,然后用Process Explorer双击打开这两个IE进程的属性对话框,切换到“Security”标签页,即可查看这两个进程所获得的访问令牌,如下图所示。5 ^/ e3 ?$ Y4 D6 e! l$ k1 y

- W9 H7 J) ?+ {. c2 }

' r" S' B5 n/ H, X! N7 `很显然,相对于正常模式,“运行方式”打开IE进程所获得的受限令牌,其内容发生了以下两大变化:
8 T9 u" \8 C& Ku      用户和组的SID  S3 b+ F0 I- E+ D- M' E+ C& B
(1)Administrators或Power Users组帐户的SID被标记为拒绝(Deny)。
# g  x& S' k5 R* w如果某个资源拒绝Administrators或Power Users访问,则进程无法访问该资源;而且进程会忽略除Deny之外的其他访问权限。
! J5 ]1 C: Z, f  y(2)除了Admin、Administrators和Power Users组帐户外,其他帐户的SID都加入受限(Restricted)列表:当进程访问资源时,必须经过两次安全检查:一次是检查令牌中启用的SID,另一次是检查受限列表里的SID,只有两次检查都通过,才能访问成功。
" c& G. p0 I4 M7 w0 E6 S/ V# W. N. U& ~u      特权(Privilege)
" ^+ r) p4 q/ v# G4 l' t仅保留SeChangeNotificatonPrivilege(跳过遍历检查)特权。
  q+ Q# t6 E# `/ U; V8 c- D2 \3 [难怪这时的IE特别安全,尽管是以管理员帐户Admin登录系统,但是IE进程不能访问用户的配置文件夹(%USERPROFILE%),连收藏夹、我的文档都不能访问!: d: X$ d( A! v- p
IE也不能在分区根目录写入文件,对注册表没有写的权限。同时只有SeChangeNotificatonPrivilege(跳过遍历检查)特权,可以防止病毒滥用特权做坏事。! h5 `7 I6 |/ B& }
提示 配置文件夹ACL包括Admin和Administrators和SYSTEM,由于Administrators被标记为Deny,而Admin帐户没有对应的Restricted SID(在第二次安全检查时失败),所以无法访问。
8 F6 F/ J5 j% h5 P6 O二、“基本用户”类型帮助IE强身健体
  W& b. X6 @# y9 o. ?$ [/ t用“运行方式”运行IE浏览器,虽然非常安全,但是有以下两个缺陷:
1 b6 I( d8 C. R# w; P* Q* Lu      限制太严格,例如IE浏览器无法加载收藏夹。( r# i) W: f0 X. E; M- P/ _
u      每次运行IE浏览器,还需要增加额外的步骤,很不方便。" J! R, s! J( v% o! Y  _3 ^( Q% ?' c% ?
本文将介绍如何给XP系统启用一个“基本用户”(Basic User)类型,这个“基本用户”(Basic User)类似于Windows Vista的“标准用户”(Standard User),只是默认没有启用。0 ]7 S$ ]1 K$ r2 Q7 T. ^; o& m/ K0 _
1.启用基本用户类型
7 {& g  y! l9 ]0 y/ i" ^1 |(1)打开注册表编辑器,定位到以下注册表项:) ]# x4 _9 b6 V; E' N1 l8 g7 q8 k
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Safer\CodeIdentifiers: N* q& X. l% m' [
(2)新建一个名为Levels的DOWRD键值,其数据数值为0x20000。/ H- B. a  V; w/ \
2.Runas命令: m! u3 {6 ]9 Y0 U0 ~
打开命令提示符窗口,运行以下命令:
: \0 c0 a4 D) ~0 d/ ORunas /ShowTrustLevels5 j% J; e) o% z
即可看到系统当前的信任级别,如附图所示,其中有一个“基本用户”,对应新增加的注册表键值(Levels:0x20000)。4 H% m# T4 M( w6 O2 y4 e

, M7 @3 }# ?, r0 o$ W& T6 X
% N8 u5 H) r1 ]* Z, a( {

4 F! h9 x2 L8 p' L3 g: c4 p, Q运行以下命令,即可以“基本用户”的身份启动IE浏览器:
9 h8 g# U6 s0 M$ @runas /trustlevel:基本用户 "C:\Program Files\Internet Explorer\IEXPLORE.EXE"
% L+ }1 E& f" t3 X可以新建一个快捷方式,在项目位置里输入以上的命令,这样每次双击该快捷方式,就能够以“基本用户”的身份启动IE浏览器。
  x! N) z9 O# H$ d) d' _  g1 K* ~; R' b3.软件限制策略9 @5 \! h( Z2 N+ r; z7 u8 ?7 l
打开“本地安全策略”管理单元(如果第一次设置软件限制策略,请右键单击“软件限制策略”,选择“创建新的策略”菜单项),展开软件限制策略→安全级别,在右侧的详细窗格里可以看到“基本用户”,如附图所示,这和“Runas /ShowTrustLevels”命令看到的信任级别是一致的。( e: P6 d* G9 {* h4 f& o5 Q
) E; j5 S1 {' l7 c$ U7 A

" k( C, @) G. f6 Y

7 F1 A; U1 }# H3 ~9 W+ f4 }4 N8 X可以新建一个路径规则,如附图所示,指定安全级别为“基本用户”,这样每次运行IE浏览器,都可以运行在更安全的级别。5 W* h8 w0 f  A+ e0 w

! N: s6 H* R( g* w, S' h1 T2 E8 N- W) R* ]

8 P8 q" `! ?; T" m3 v: f! g        每次新建的一条“基本用户”的软件限制策略,都会在HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Safer\CodeIdentifiers\131072注册表项下新增一个子项。如果是路径策略,则会新增一个Path子项;如果是散列策略,这会新增一个Hash子项。注册表项里的131072是什么?实际上就是前面增加的那个Levels:0x20000,0x20000正好就是131072。, Y3 R  h, t: h
4.查看基本用户的访问令牌
$ k: p) r9 t# {+ G9 t用Process Explorer查看此时的IE浏览器属性,发现其访问令牌和Windows Vista的“标准用户”功能所获得访问令牌相似,如附图所示。
- `$ i' o' z6 c2 R; b
* o8 @: B3 L$ O! v- \& m8 `0 R0 i( e( H% d/ S) D- r
$ R3 ^3 {8 k( `1 i2 i% ]2 \# b
Windows Vista的标准用户、Windows XP的基本用户、和运行方式之间的区别如下:
5 r9 E! T& x/ e$ N+ n2 n: i: o(1)Vista的“标准用户”比XP的“基本用户”多出了几个特权(Privilege),只是默认禁用。
* C. k$ c9 M2 I3 j(2)XP的“基本用户”所获得的访问令牌相对于“运行方式”(Restricted Token)来说,限制相对少一些,只是将Administrators和Power Users组标志为Deny,而并没有将其他帐户放入Restricted SID列表,这样IE进程可以访问配置文件夹等其他资源(包括收藏夹和我的文档),可以读写HKEY_CURRENT_USER下的绝大多数注册表键值,但是仍然不能写HKEY_LOCAL_MACHINE下的注册表键值。
3 X. N7 h$ a: n1 |6 z% x( S: Y三、命令工具3 n! ?' [: a4 l" b. ?
这里推荐Michael Howard所写的命令行工具DropMyRights。
* O- o1 j) n9 B( _( ~4 mDropMyRights的使用语法如下:
8 L# T3 q) o: ~; y7 W2 w0 ?3 TDropMyRights {path} [N|C|U], U) v$ S( t  m: z* b
这里的path是指应用程序的路径,N指代基本用户(Basic User),C指代受限用户(Restricted User),U是指不信任用户。+ I1 w' [) F, N$ G
如果要以基本用户身份运行IE浏览器,可以创建一个快捷方式,将项目位置设置为:1 }( B) v' S. C6 H! R& N" |7 ?- d
DropMyRights "C:\Program Files\Internet Explorer\IEXPLORE.exe" N: R; \. \- o- [/ t6 a
这样就可以在需要时双击该快捷方式,以更加的安全环境下运行IE浏览器。
% u( X" Y- }4 h四、注意

3 B4 q+ q; s; |2 |$ d
  X5 ~% t% Y  M0 R+ t. x
4 \. x' f' i1 W- K) ?7 |
如果确实需要安装某些IE插件、或者要运行Windows更新等需要管理员权限的任务,请暂时禁用“软件限制策略”,否则这些管理任务将无法顺利完成,例如笔者曾经死活安装不上MSN Space的上传图片控件,系统也不报错,原因就是IE浏览器运行在Basic User特权级别下。这里特别期待Vista,因为Vista的UAC可以自动识别是否需要管理员特权。
( y+ H' x4 ~1 Q
( B' D, a. `4 y* Z. D提示
" z3 C' v  m0 q2 y1.本文部分内容参考自Michael Howard的文章《Browsing the Web and Reading E-mail Safely as an Administrator》(两篇),原文链接如下:1 w0 c& v' y2 S* A9 z/ R+ g5 u' O
http://msdn.microsoft.com/security/securecode/columns/default.aspx?pull=/library/en-us/dncode/html/secure11152004.asp9 Y8 A! x8 J& F( @0 ]" Z
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncode/html/secure01182005.asp
/ Q# d) a& P+ b' |% b2.本文提到的Process Explorer,可以到以下网站下载:
$ R! m! R8 m$ v/ \% ^: U: d( d4 v7 Xhttp://www.sysinternals.com/Utilities/ProcessExplorer.html. @- K5 O; s1 O+ o$ n2 _7 [
本文提到的DropMyRights,可以到以下网站下载:# s1 W( K7 I2 c* t
http://download.microsoft.com/download/f/2/e/f2e49491-efde-4bca-9057-adc89c476ed4/DropMyRights.msi9 k, S/ M9 g, K/ m# W7 w
3.Windows Vista的核心安全功能UAP,目前已经正式改名为UAC(User Account Control)。) ^# t7 \: J6 t4 C0 I: s
- k" a, l9 ^, Q5 d  H0 u8 e( L3 u
( i3 G, ^$ i& T1 g

1 Z; P/ Y6 D% K# U- V+ W
3 D: ^9 r) c: d& R& {1 p

3 s, h. R4 L  e$ e; R

( e* V- U6 u* s: f. ~Comments$ x, I/ X( {$ W+ p* ^
# re: IE浏览器,我要你安全、再安全些
. j% m% G  c8 n; Y4 [7 k/ l& K+ V: d( G2 {- d) ?4 J
如果IE被安装了太多插件(包括Spyware或Malware),要想启动一个无插件状态的IE,可以直接运行“"C:\Program Files\Internet Explorer\iexplore.exe" –extoff”(只适用于Vista下)。
5 ^3 i# H0 A) k1 P# p# re: IE浏览器,我要你安全、再安全些
0 ~, D: a  r8 j. {8 c7 H/ _. m$ B0 r7 d& a) n
如果XP下的IE要实现NoAddon的功能,应该用什么办法呢?
* o$ ^/ R# ~) b) N7 I# J0 u" \# re: IE浏览器,我要你安全、再安全些 0 h3 I/ G  Z0 [% D& U. I
% J# x6 s4 V9 }$ u
XP中的IE没有该参数,所以估计只能打开IE(此时已经加载所有插件),然后在IE的“工具”——“管理加载项”中一一禁用这些插件。 % B# O; l  z% _0 m
# re: IE浏览器,我要你安全、再安全些
% B9 Y* t9 {# x% s1 g2 J
1 e1 Q. A' C' t8 B* z7 R) ~6 [- n* DIE7有一种启动方式叫做“Start without Add-ons”
6 Y! a) y. j7 x# re: IE浏览器,我要你安全、再安全些 $ {8 a- s- A& c0 ~5 k* q( G. ?4 x
! v% r0 v+ k- Q
IE 7.0也有这个功能,太棒了,期待啊~~
( p, |! }0 a, q9 q( F! eIE的很多常见问题就是由于第三方插件的冲突和干扰所导致的。
6 E2 i, l% I* j* f9 V+ o; r2 T# re: IE浏览器,我想你安全、再安全些
6 K- K7 ]' |! m2 ?% O
8 Z5 W2 o  R' l5 Z8 P/ Xvista的安全模式里面我记得好象也有IE的安全模式,就是"Start without Add-ons" ; _6 C6 l* X! C7 ^% X8 l' R
# re: IE浏览器,我想你安全、再安全些--Updated
5 r! b/ |* o5 D1 c- t; L* Z& G* A2 ]. C& u( [* c5 A
如果确实需要安装某些IE插件、或者要运行Windows更新等需要管理员权限的任务,请暂时禁用“软件限制策略”,否则这些管理任务将无法顺利完成,例如笔者曾经死活安装不上MSN Space的上传图片控件,系统也不报错,原因就是IE浏览器运行在Basic User特权级别下。这里特别期待Vista,因为Vista的UAC可以自动识别是否需要管理员特权。
$ R1 a, I* e, a6 w# re: IE浏览器,我想你安全、再安全些--Updated 4 u% K6 s- l$ c2 z  {: \
4 x9 @5 E( a. i3 M; G+ K
是的,在HelpOnline论坛上有很多关于IE种种故障的案例,我都是先建议禁止所有插件来看看是否为插件所导致的(事实证明很多情况下都是),如果不是再重装IE(也很方便,一个命令即可)。不过IE 7以前的版本没有一个很方便禁止所有插件的方法,而IE 7提供的这一模式基本等同与诊断模式。
9 P: P% i, B% R! v# re: IE浏览器,我想你安全、再安全些--Updated 3 H( @0 K9 S' G& O. ~# Y  P
% T! Z6 X5 y3 {, C( G# Y
我也遇到过很多的这样的问题,基本上都是先卸载掉IE的插件就能解决,甚至都不需要重新安装IE.
# C, C: p8 L& r8 m) F# re: IE浏览器,我想你安全、再安全些--Updated
. t9 y9 K3 X$ c2 ~* z
8 n  v4 ?! D) \& E% b3 K嗯,遇到IE 6.0 SP2相关问题,可以采用以下常规排错方法:
6 W! o/ }! d$ y2 c$ \. |2 r1.在IE浏览器窗口上单击工具、Internet选项。 + I9 s+ O7 t0 d4 Y/ Q+ {
在打开的对话框的“常规”里单击删除文件,并勾选“删除所有脱机文件”,然后单击确定。
' {7 N& k2 b6 l, E( X( l# F单击删除Cookies,然后单击确定。 ) S7 `) w2 p+ x1 |8 E
单击清除历史,然后单击确定。 7 D# v8 _3 e) s- L2 |1 `! D! e5 E
2.在Internet选项的“高级”标签页,确保清空“启用第三方浏览器扩展”复选框。 - }" ~, y7 t5 f+ v: j
3.在Internet选项对话框上切换到“程序”标签页,然后单击管理加载项。
- D0 G+ ]6 k3 V+ h+ J在打开的对话框上,单击“发行者”,然后禁用所有发行者不是“Microsoft Corporation”的加载项。
1 Y0 }6 e* \, h单击确定,保存设置。 2 _4 [9 g4 L2 T: W: j) ?* r
# re: IE浏览器,我想你安全、再安全些--Updated , v9 ?+ Y) C& c4 G9 s1 {& l
$ D& I: J2 S  R8 t" o
盆盆,我不太擅长组策略的设置,我有一个疑问,就是你这种限制之后其他的IE核心的浏览器的权限是否也会降下来呢? 还有这个组策略是否仅针对由explorer进程下创建的IE进程有限制作用呢? 3 I1 b" E" c) X$ k. q
当其他和explorer差不多同级的进程创建了浏览器进程,后者是否会继承前者的权限呢?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 顶 踩

该用户从未签到

2
发表于 2008-3-7 19:33:04 | 只看该作者
好东东,收藏了,谢谢分享
回复 支持 反对

使用道具 举报

头像被屏蔽

该用户从未签到

3
发表于 2008-3-14 16:08:00 | 只看该作者
谢谢楼主的分享
回复 支持 反对

使用道具 举报

本版积分规则

关闭

下沙大学生网推荐上一条 /1 下一条

快速回复 返回顶部 返回列表