安全基础知识: Web浏览器面临的威胁

8.4.1 Web浏览器面临的威胁
      浏览器为用户提供了美观、实用的图形界面,通过鼠标操作可以浏览、检索与其相关的分布在各地的多媒体信息(可以是文字、图片、图像、动画等信息)。浏览器功能强大,使用方便,图文、声像并茂,很受用户欢迎,已成为因特网上最具有代表性的信息查询工具,应用十分广泛。目前市场上有20多种浏览器,并且这个数字还在继续增加,我们常见到的浏览器有Mosaic, Netscape, Navigator, Netscape Communicator, Internet Explorer, MyIE, Tencent Explorer和Lynx等。浏览器作为互联网上信息浏览的客户端软件,其安全性一直是用户关心的问题。从浏览器的开发厂家到最终用户,人们始终关心着浏览器是否从Internet上下载了某些有害的东西,或者用户机器里保存的一些信息被某些程序破坏或者盗取。值得人们关注的是,一些专门进行网络破坏的黑客,也把目光盯在了浏览器上面,他们利用浏览器的某些漏洞,在网页里放置一些恶意代码,通过浏览器对网页的解释执行,来修改用户端Windows的注册表,从而达到破坏用户数据的目的。
1.浏览器的自动调用
     浏览器一个强大的功能就是能够自动调用浏览器所在计算机中的有关应用程序,以便正确显示从Web服务器取得的各种类型的信息。某些功能强大的应用程序,依靠来自Web服务器的任意输入参数来运行,可能被用于获取非授权访问权限,对Web浏览器所在的计算机构成了极大的安全威胁。浏览器中使用的协议有HTTP, FTP, GOPHER, WAIS等,还包括NNTP和SMTP协议。当用户使用浏览器时,实际上是在申请HTTP等服务器。这些服务器都存在漏洞,是不安全的。
2.恶意代码
       由于某些动态页面以来源不可信的用户输入的数据为参数生成页面,所以Web网页中可能会不经意地包含一些恶意的脚本程序等。如果Web服务器对此不进行处理,那么很可能对Web服务器和浏览器用户双方都带来安全威胁。即使采用SSL来保护传输,也不能阻止这些恶意的代码传输。
      现在有这样的一些网站,只要链接到它的页面上,不是IE首页被改就是IE的某些选项被禁用了。一些网页上的恶意代码还可以格式化硬盘或删除硬盘上存储的数据,它们的主要行为如下:
1)修改IE浏览器的标题。
2)修改IE浏览器的默认首页,迫使用户在启动IE时都要访问它设置好的网站,这种情况尤以暴力或色情网站为多。
3)禁止Internet选项、禁止IE右键菜单的弹出或者右键菜单变成灰色无法使用,网络所具有的功能被屏蔽掉。
4)禁止系统对注册表的任何操作。
3.浏览器本身的漏洞
      浏览器的功能越来越强大,但是由于程序结构的复杂性,出现在浏览器上的漏洞层出不穷。开发商在堵住了旧的漏洞的同时,可能又出现了新的漏洞。浏览器的安全漏洞可能让攻击者获取磁盘信息、安全口令,甚至破坏磁盘文件系统等。下面举出几个已知的浏览器安全漏洞。
1)UNIX下的Lynx的一个安全漏洞
在Lynx的2.7.1版本之前都存在着这样的一个漏洞,只要做一个包含backtick字符的LynxDownLoadURL,它就允许Web创建者在用户的机器上执行任意的命令。
2)Microsoft Internet Explorer的安全漏洞
因为使用Windows操作系统的用户最多,而IE是Windows系统附带的一个浏览器,因而使用IE浏览器的用户也较其他的浏览器用户多,但是微软的IE浏览器中同样存在着许多潜在的安全威胁。
① 缓冲区溢出漏洞
在Microsoft Internet Explorer 4和4.01以下的版本,存在一系列的编程漏洞。
② 递归Frames漏洞
在4.×和5.0版本中存在这个漏洞,可能使得浏览器崩溃。
③ 快捷方式漏洞
这个漏洞在Microsoft Internet Explorer 3.01之前的版本存在,现在基本堵上了。
④ Internet Explorer 5的ActiveX漏洞
通过Internet Explorer 5的ActiveX脚本,Internet Explorer 5还允许网络入侵者随意读取浏览器用户的磁盘文件,这个漏洞可以通过E-mail来执行。
⑤ 重定向漏洞
Internet Explorer 4和Internet Explorer 5在WIN95/NT下,通过该漏洞可以任意地读取浏览者本地硬盘的文件,并可能对Windows进行欺骗,而且有可能绕过防火墙读取本地文件。
3)Netscape的安全漏洞
网景公司的Navigator浏览器在IE之前曾经风靡一时,但它同样存在着很多漏洞,已知的有:
① 缓冲区溢出漏洞
当前唯一的漏洞存在于书签文件,可能被用来使浏览器执行任意的代码。
② 个人喜好漏洞
这个漏洞会影响Netscape Communicator 4.0到4.4版本,它允许恶意的Web站点通过猜测prefs.js文件的路径名从访问用户的硬盘上读取Communicator的prefs.js内容,其中包含了用户的电子邮件地址、域名和口令。
③ 类装载器漏洞
该Classloader Java漏洞允许恶意的Web站点通过一个Java Applet来读取、修改或者删除用户本地计算机上的文件。
④ 长文件名电子邮件漏洞
当用户在阅读一个带有长文件名的电子邮件消息时,如果打开了"文件"菜单,就可能遭受这个漏洞的攻击。
⑤ Singapore隐私漏洞
它允许一个网络黑客监视用户在Web上的活动。
当然,可能还有更多的漏洞还没有被发现,这些浏览器本身的漏洞都会给浏览器用户、浏览器所连接的服务器或整个网络系统造成一种潜在的威胁。
4.浏览器泄露的敏感信息
Web服务器大多对每次接受的访问都做相应的记录,并保存到日志文件中。通常包括来访的IP地址、来访的用户名、请求的URL、请求的状态和传输的数据大小。浏览器在向外传送信息的时候,很可能已经把自己的敏感信息送了出去。
5.Web欺骗
由于Web网页具有容易复制的特点,使得Web欺骗变得很容易实现。
1)欺骗攻击
如果在大街上树立一个绿色的假邮筒,就会给人造成假象,使人误以为真,有不少人可能会把信扔进里面。欺骗攻击的原理和这很类似,主要指攻击者通过伪造一些容易引起错觉的文字、音像或者其他场景来诱导受骗者做出错误的与安全有关的决策。在网络虚拟的世界里,同样存在被骗的受害者。Web欺骗就是一种网络欺骗,攻击者构建的虚假网站看起来就像真实站点,具有同样的链接,同样的页面,而实际上,被欺骗的所有浏览器用户与这些伪装的页面的交互都受攻击者控制。
2)Web欺骗攻击的原理
Web欺骗攻击成功的关键在于攻击者的伪服务器必须位于受骗用户到目标Web服务的必经路径上。
攻击者首先在某些Web网页上改写所有与目标Web站点有关的链接,使得不能指向真正的Web服务器,而是指向攻击者的伪服务器。当用户点击这些链接时,首先指向了伪服务器,攻击者向真正的服务器索取用户的所需界面。当获得目标Web送来的页面后,伪服务器改写链接并加入伪装代码,送给被欺骗的浏览器用户。