下沙论坛

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

QQ登录

QQ登录

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

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

[复制链接]

该用户从未签到

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

8 B) I# O' _) r+ j$ }用这种方法启动IE,对几个“臭名卓著”的恶意网站进行测试,结果非常安全。同时还能用来对付DuDu加速器、3721等流氓插件!
3 B, X! \% }6 T8 W5 l, \为什么?原来这时的IE浏览器会获得一个受限的访问令牌(Restricted Token),无法对系统目录和注册表进行写操作,网页中的恶意代码也就没办法破坏系统。
5 k( [. z' `' x  u: z$ |当然,还得让实验来说话:+ f' u. C' k& j, j6 ]) {
分别在“运行方式”和正常模式下打开IE浏览器,然后用Process Explorer双击打开这两个IE进程的属性对话框,切换到“Security”标签页,即可查看这两个进程所获得的访问令牌,如下图所示。* Z4 B; {. V0 U  D9 X* H

: B1 C# k3 L4 S+ j. z! k9 T
) I- o5 E. [! c) G0 V, z
很显然,相对于正常模式,“运行方式”打开IE进程所获得的受限令牌,其内容发生了以下两大变化:# _7 Z  P, {6 V9 u5 Y
u      用户和组的SID2 f$ A6 h1 H# \6 R: O/ q
(1)Administrators或Power Users组帐户的SID被标记为拒绝(Deny)。1 V4 n8 t- k# [" r0 x
如果某个资源拒绝Administrators或Power Users访问,则进程无法访问该资源;而且进程会忽略除Deny之外的其他访问权限。
  |" I2 B( @( Q(2)除了Admin、Administrators和Power Users组帐户外,其他帐户的SID都加入受限(Restricted)列表:当进程访问资源时,必须经过两次安全检查:一次是检查令牌中启用的SID,另一次是检查受限列表里的SID,只有两次检查都通过,才能访问成功。6 D$ _9 L8 j" ]) ]4 I
u      特权(Privilege)
: F; T( G; ?) {. Y  B仅保留SeChangeNotificatonPrivilege(跳过遍历检查)特权。: K& D9 p2 ~9 B; |
难怪这时的IE特别安全,尽管是以管理员帐户Admin登录系统,但是IE进程不能访问用户的配置文件夹(%USERPROFILE%),连收藏夹、我的文档都不能访问!( }  [* C  g6 f* H3 r* ^9 l
IE也不能在分区根目录写入文件,对注册表没有写的权限。同时只有SeChangeNotificatonPrivilege(跳过遍历检查)特权,可以防止病毒滥用特权做坏事。
9 N/ F2 H! X8 \提示 配置文件夹ACL包括Admin和Administrators和SYSTEM,由于Administrators被标记为Deny,而Admin帐户没有对应的Restricted SID(在第二次安全检查时失败),所以无法访问。6 h/ d: @; Z$ ^) ^( t! l0 B
二、“基本用户”类型帮助IE强身健体
( ]' ^/ s& d- I5 c+ H  [* Y用“运行方式”运行IE浏览器,虽然非常安全,但是有以下两个缺陷:) Q8 `+ W, ?2 `/ w3 n' k6 {# b' A6 z
u      限制太严格,例如IE浏览器无法加载收藏夹。
! w4 K  g9 D% n. O* Du      每次运行IE浏览器,还需要增加额外的步骤,很不方便。% z; e0 u4 _2 _2 R/ G
本文将介绍如何给XP系统启用一个“基本用户”(Basic User)类型,这个“基本用户”(Basic User)类似于Windows Vista的“标准用户”(Standard User),只是默认没有启用。
# @. q/ n0 W5 Z1.启用基本用户类型6 j" }4 k2 c7 b  m" q: l1 a
(1)打开注册表编辑器,定位到以下注册表项:
& t4 E  q3 E2 E8 e# P" T6 T. }HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Safer\CodeIdentifiers
% `1 {* J0 L2 o6 L# K(2)新建一个名为Levels的DOWRD键值,其数据数值为0x20000。
3 I5 s: [% V' k1 b% \2.Runas命令
7 @* t: n  o9 `. i& J打开命令提示符窗口,运行以下命令:& l/ U, d& @- u+ [) {3 z2 w* N4 k
Runas /ShowTrustLevels
$ v# \1 `0 N- M, c% D7 U7 l  w即可看到系统当前的信任级别,如附图所示,其中有一个“基本用户”,对应新增加的注册表键值(Levels:0x20000)。1 l8 r$ @3 k" x2 ]9 u

0 j$ q. n; |1 W4 v1 L2 M( d' ?8 c4 U" y& Z/ ]

: m- i1 \4 Y  G; e- ^) v运行以下命令,即可以“基本用户”的身份启动IE浏览器:
) p. P* e0 \+ q1 I9 Erunas /trustlevel:基本用户 "C:\Program Files\Internet Explorer\IEXPLORE.EXE"
, R6 ?* l. F" t3 P3 B+ ]1 `可以新建一个快捷方式,在项目位置里输入以上的命令,这样每次双击该快捷方式,就能够以“基本用户”的身份启动IE浏览器。: u* w& F9 d& m% K
3.软件限制策略" ^( b4 x4 x0 Q
打开“本地安全策略”管理单元(如果第一次设置软件限制策略,请右键单击“软件限制策略”,选择“创建新的策略”菜单项),展开软件限制策略→安全级别,在右侧的详细窗格里可以看到“基本用户”,如附图所示,这和“Runas /ShowTrustLevels”命令看到的信任级别是一致的。1 L  v( Z* `  t5 D2 O. ^: F5 Z' m
. e" t4 u4 B- ]% c4 |
' Y$ L" p6 v. K" B

" ?2 D4 Z8 y9 s+ ~2 D5 q: G  W可以新建一个路径规则,如附图所示,指定安全级别为“基本用户”,这样每次运行IE浏览器,都可以运行在更安全的级别。
  @: r. Q* h0 P( G, [/ Y" I0 i0 A. g# K  x$ p* r

8 U, \1 R- N' j7 G, m# a) k

1 r' c! }6 `+ N# Y. I3 _& ?( y* ?        每次新建的一条“基本用户”的软件限制策略,都会在HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Safer\CodeIdentifiers\131072注册表项下新增一个子项。如果是路径策略,则会新增一个Path子项;如果是散列策略,这会新增一个Hash子项。注册表项里的131072是什么?实际上就是前面增加的那个Levels:0x20000,0x20000正好就是131072。+ }' m' o5 B% Y$ @  ]9 |, j
4.查看基本用户的访问令牌
/ d5 z$ S: e- ?" h  j: i; [4 T用Process Explorer查看此时的IE浏览器属性,发现其访问令牌和Windows Vista的“标准用户”功能所获得访问令牌相似,如附图所示。
! E% ?+ D5 V1 F2 ?
0 X. b* {& Z% W8 ]* |9 \0 X) Q$ `/ B, m" q1 e7 _# D

! A! G% j' `) n! m+ ?6 EWindows Vista的标准用户、Windows XP的基本用户、和运行方式之间的区别如下:+ M9 `5 b" j. k2 t3 p% f
(1)Vista的“标准用户”比XP的“基本用户”多出了几个特权(Privilege),只是默认禁用。. k) a* ]7 X2 O6 `9 q" v
(2)XP的“基本用户”所获得的访问令牌相对于“运行方式”(Restricted Token)来说,限制相对少一些,只是将Administrators和Power Users组标志为Deny,而并没有将其他帐户放入Restricted SID列表,这样IE进程可以访问配置文件夹等其他资源(包括收藏夹和我的文档),可以读写HKEY_CURRENT_USER下的绝大多数注册表键值,但是仍然不能写HKEY_LOCAL_MACHINE下的注册表键值。, ~' V% ?8 i3 o- H+ g4 {1 X
三、命令工具
+ m8 b3 j' @" ]9 b这里推荐Michael Howard所写的命令行工具DropMyRights。* H8 g- ^/ J8 a& o# b+ K% W
DropMyRights的使用语法如下:$ U& j0 S' L# j0 f4 V
DropMyRights {path} [N|C|U]$ i4 z0 W: C/ G9 N4 W3 g$ i
这里的path是指应用程序的路径,N指代基本用户(Basic User),C指代受限用户(Restricted User),U是指不信任用户。- z5 u& \( C+ F- Z9 b. B2 y4 l
如果要以基本用户身份运行IE浏览器,可以创建一个快捷方式,将项目位置设置为:
. k5 l* b: _* j' ZDropMyRights "C:\Program Files\Internet Explorer\IEXPLORE.exe" N% `7 Z' e2 _8 [- r8 N8 A
这样就可以在需要时双击该快捷方式,以更加的安全环境下运行IE浏览器。
. u9 N7 {9 P9 H0 N4 @8 L9 i: S四、注意

7 ~6 n4 q( H  V: F5 l7 \
7 I4 W8 }% B6 e! ]1 a& y( {5 Z

) r8 Y% N7 i9 \* Z. I: X如果确实需要安装某些IE插件、或者要运行Windows更新等需要管理员权限的任务,请暂时禁用“软件限制策略”,否则这些管理任务将无法顺利完成,例如笔者曾经死活安装不上MSN Space的上传图片控件,系统也不报错,原因就是IE浏览器运行在Basic User特权级别下。这里特别期待Vista,因为Vista的UAC可以自动识别是否需要管理员特权。( u4 \- R- j% {& q
( A* y* d1 F% |. w
提示) l' J9 f, i- ]" e! j( I
1.本文部分内容参考自Michael Howard的文章《Browsing the Web and Reading E-mail Safely as an Administrator》(两篇),原文链接如下:
# M+ g% T& a7 Q: }' o3 m8 {+ Lhttp://msdn.microsoft.com/security/securecode/columns/default.aspx?pull=/library/en-us/dncode/html/secure11152004.asp. {6 q% H. `% [% C" Z* f
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncode/html/secure01182005.asp- v5 Q; J& e# v
2.本文提到的Process Explorer,可以到以下网站下载:
" w  ]8 ]3 ?* I  e6 S" ehttp://www.sysinternals.com/Utilities/ProcessExplorer.html& T0 a* |& ]( }( q* ^, c
本文提到的DropMyRights,可以到以下网站下载:
" B7 O% X$ P- @2 \* c; W% ghttp://download.microsoft.com/download/f/2/e/f2e49491-efde-4bca-9057-adc89c476ed4/DropMyRights.msi
; \6 ~! h8 s/ H9 A3.Windows Vista的核心安全功能UAP,目前已经正式改名为UAC(User Account Control)。
( K* B: `# m& y6 ^9 |% U3 ?6 ^4 K: w7 J; k: m- B

" i) Z% b+ g, K' g% Z5 _2 F8 e7 b9 X
9 T9 D5 V) n( P1 ]( G

) e1 D. R5 X9 T, c) M& ~

* X6 m4 H) {7 {# t* k) {. tComments
" l# [. U/ G  U/ p* \5 i# re: IE浏览器,我要你安全、再安全些
" M# P  O) Y# H0 ]; f" H& p0 [0 `7 h
如果IE被安装了太多插件(包括Spyware或Malware),要想启动一个无插件状态的IE,可以直接运行“"C:\Program Files\Internet Explorer\iexplore.exe" –extoff”(只适用于Vista下)。
# L2 e& @  l; x) c) e# re: IE浏览器,我要你安全、再安全些
0 C; b% e" t+ @; b" X: h# P
: T7 S9 q" G& k: n1 r* {如果XP下的IE要实现NoAddon的功能,应该用什么办法呢?
6 H7 R& R# s. u# re: IE浏览器,我要你安全、再安全些
* a" ^1 U# U' x) N. H
0 P: }2 ]- ~) D& `" d$ iXP中的IE没有该参数,所以估计只能打开IE(此时已经加载所有插件),然后在IE的“工具”——“管理加载项”中一一禁用这些插件。 " `' {4 ?/ C" E! t
# re: IE浏览器,我要你安全、再安全些
4 p% l0 d2 v& Z' B7 [+ s# c6 I/ A$ {. n& e% M  r
IE7有一种启动方式叫做“Start without Add-ons”
* N- ~5 P) n$ {, e$ u# re: IE浏览器,我要你安全、再安全些
/ V4 k! ~* w8 y5 ?  B0 v' X9 W( c5 u. o- b) L/ P) b
IE 7.0也有这个功能,太棒了,期待啊~~ 6 R1 I. a; g( y* p2 Y5 _& V9 y
IE的很多常见问题就是由于第三方插件的冲突和干扰所导致的。
9 t3 |& m! x+ E* Z" g# re: IE浏览器,我想你安全、再安全些
% s6 ]) b/ [2 A+ l) K) d7 g1 E! G2 N$ M7 f% k7 K; g
vista的安全模式里面我记得好象也有IE的安全模式,就是"Start without Add-ons"   @( [! }$ ^. k  `3 T
# re: IE浏览器,我想你安全、再安全些--Updated 7 {% V- S9 ^) A) @8 z

$ i8 H2 N6 f! G5 n如果确实需要安装某些IE插件、或者要运行Windows更新等需要管理员权限的任务,请暂时禁用“软件限制策略”,否则这些管理任务将无法顺利完成,例如笔者曾经死活安装不上MSN Space的上传图片控件,系统也不报错,原因就是IE浏览器运行在Basic User特权级别下。这里特别期待Vista,因为Vista的UAC可以自动识别是否需要管理员特权。 % @! w* C( t8 k* w; p
# re: IE浏览器,我想你安全、再安全些--Updated ' T) @& O  T* C5 `
' u  q7 \' Q( a( G+ s" n
是的,在HelpOnline论坛上有很多关于IE种种故障的案例,我都是先建议禁止所有插件来看看是否为插件所导致的(事实证明很多情况下都是),如果不是再重装IE(也很方便,一个命令即可)。不过IE 7以前的版本没有一个很方便禁止所有插件的方法,而IE 7提供的这一模式基本等同与诊断模式。
. \, u; C( g" d+ L5 }# re: IE浏览器,我想你安全、再安全些--Updated
& i: N" C7 Q7 R: r8 W6 L3 G- v% ]7 H+ I6 |: R8 ?
我也遇到过很多的这样的问题,基本上都是先卸载掉IE的插件就能解决,甚至都不需要重新安装IE. % O- A/ ?5 O" K$ i' K
# re: IE浏览器,我想你安全、再安全些--Updated " W" K- ]0 W2 L& b) r
+ w- \5 i% ?: T
嗯,遇到IE 6.0 SP2相关问题,可以采用以下常规排错方法: 6 B5 z- \& ^( s0 X3 ~4 ]& C1 ?2 u! a
1.在IE浏览器窗口上单击工具、Internet选项。
$ X7 ^. K, n3 \5 ?1 B' i5 Y在打开的对话框的“常规”里单击删除文件,并勾选“删除所有脱机文件”,然后单击确定。
5 r: y7 h3 H0 u# k& X- {, X单击删除Cookies,然后单击确定。
7 |4 I9 L3 J7 C8 G6 j6 V单击清除历史,然后单击确定。   I9 `6 U) r' s. z( G
2.在Internet选项的“高级”标签页,确保清空“启用第三方浏览器扩展”复选框。 & \2 Z( t* |# v" V( e3 M
3.在Internet选项对话框上切换到“程序”标签页,然后单击管理加载项。
5 F" m1 m% `( Z2 F: t' P在打开的对话框上,单击“发行者”,然后禁用所有发行者不是“Microsoft Corporation”的加载项。 : b2 I" A: I& W
单击确定,保存设置。
6 f/ U' Y  _2 N4 t  R! X; e2 U" q# re: IE浏览器,我想你安全、再安全些--Updated
9 `1 [" `( k7 c" K' D7 ^7 Z8 G( w& |5 A0 \# N# p) l2 C
盆盆,我不太擅长组策略的设置,我有一个疑问,就是你这种限制之后其他的IE核心的浏览器的权限是否也会降下来呢? 还有这个组策略是否仅针对由explorer进程下创建的IE进程有限制作用呢? ; ^9 X) E8 K: D8 N' p
当其他和explorer差不多同级的进程创建了浏览器进程,后者是否会继承前者的权限呢?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 顶 踩

该用户从未签到

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

使用道具 举报

头像被屏蔽

该用户从未签到

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

使用道具 举报

本版积分规则

关闭

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

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