从本质上来说,网页***就是一个Web页面,可以是一个静态的HTML页面,也可以是ASP、PHP、JSP等动态页面。从表面上看,它和一个普通的页面并没有太大的区别,但是包含在HTML源代码中的恶意脚本可以使IE浏览器在后台、在用户不知情的情况下下载,并执行恶意的***。但是大家也不必“谈马色变”,弄清了它的原理之后,防范其实也是能够做到的。
    为什么浏览器会自动下载,并执行***呢?现在大部分的网页***都是针对Windows系统自带的IE浏览器的,针对其他第三方浏览器的网页***很少;但像Maxthon、腾讯TT等这种基于IE核心的浏览器也和IE浏览器一样,会受到网页***的影响。那么,使用Firefox等非IE浏览器上网的用户是不是就不会中网页***了呢?答案是否定的。现在有许多应用软件,例如RealPlayer等影音播放软件、RSS阅读器以及迅雷这些程序都是借助于IE核心来显示HTML页的第三方软件的,因此同样存在着中网页***的风险,也就是说,网页***是防不胜防的。
    笔者使用如图1.1所示的MS06-014这一漏洞和一个无害的程序作为例子,目的是为了来使读者直观地理解网页***。由图1.1可见,***下载完毕要执行了。
 
图1.1 网页***
    从原理上来说,网页***就是利用了一些已知或者未知的系统或者第三方软件的漏洞,然后悄悄地下载病毒***并执行。
    由美国管理学家彼得提出的木桶原理表明:由多块木板构成的木桶,其价值在于其盛水量的多少;但决定木桶盛水量多少的关键因素不是其最长的板块,而是其最短的板块,如图1.2所示。这就是说,任何一个组织可能面临的一个共同问题是,构成组织的各个部分往往是优劣不齐的,而劣势部分往往决定整个组织的水平。
图1.2 木桶理论
    计算机安全领域同样也适用这个木桶原理,安全与否往往取决于整个系统最短的那一块板。就目前的安全形势来说,网页***和移动介质是整个系统最为薄弱的两块短板,大量的病毒、***就是通过这两个渠道疯狂传播的。通过U盘等移动存储介质传播的恶意代码可依赖杀毒软件对其查杀,而网页***则更多地依赖于良好的使用习惯以及一些安全工具,杀毒软件往往是无法对其进行有效查杀的。
    根据传播方式的不同,网页***分为被动和主动两种。
    (1)被动网马是指***出于某种不可告人的目的***了某些大型网站,例如:***为了获取某网络游戏的装备及金钱,***了某网游的官方网站或者其他一些访问量很大的网站,在其中的首页嵌入了挂马的代码。这样,访问过此网站的网民(无任何防护措施)的计算机中就会被植入***,该网民下次登录网络游戏的时候,***会将账号及密码在后台悄悄地发送给盗号者。当然,并不是所有浏览该网站的网民都会中招,否则就天下大乱了;因为网页***也要依赖具体的漏洞才能生存,及时打全补丁的用户就不会受到影响。如果这个漏洞是未公开的,也就是俗称的“0day”,那么恐怕大多数网民都要遭殃了。尽管微软公司对于IE浏览器的修补非常及时,但正如上面提到的,现在有很多网页***利用的都是一些国产应用软件的漏洞,而非IE浏览器本身的漏洞,所以不但要更新操作系统的补丁,也要及时更新机器中应用软件的补丁。
    (2)主动挂马则更多属于一种钓鱼性的***,通过一些媒体,比如:电子邮件、即时通讯软件:QQ、MSN等,由人为或者***本身为了传播自己,给一些好友发送一些欺骗性的链接,诱使对方点击,来达到不可告人的目的。近年来,由于网站管理员的水平逐步提高,***一个网站并挂马已经并非易事,所以通过即时通讯软件+网页***来传播自己的病毒数目迅速增多,在国内,最流行的就是“QQ尾巴”,许多病毒都是借即时通讯领域霸主——腾讯QQ的东风来传播自己的。
    如图1.3所示是笔者从聊天记录中搜索到的众多通过QQ尾巴+网页***传播的病毒之一。到本书成稿时,上面的地址已经失效,上一个网址就是申请了和腾讯宠物差不多的域名来欺骗网民点击的。这对于安全意识不强的用户,是有很大迷惑性的。
图1.3  QQ尾巴病毒
    如图1.4所示的网址则更具有欺骗性,乍一看,好像是某门户网站的域名,其实是利用该某门户网站脚本系统的一个缺陷,将地址转向了 http://www2.994qq.cn这个域名,打开以后,是一个伪装成另一个门户网站的钓鱼页面。
    笔者看了一下其中的源代码,幸好没有发现网页***。类似这样的***手段,还有很多;如果有网页***的话,可能你的计算机就成为别人的“肉鸡”了。
图1.4  钓鱼页面
    应对网页***的传播手段,防范网页***主要有两种手段:
    *养成良好的使用习惯,及时更新补丁,不仅仅是操作系统的,还有系统中的第三方软件,不要随便打开不信任的网址;
    *仅仅有良好的使用习惯还是不够的,再配合使用一些安全工具会有更好的防护效果:例如IE卫士(IE卫士的作者也是本书的著者)、瑞星卡卡、金山清理专家、网页***拦截器等。这些工具还具有拦截未知网页***的能力,其原理就是挂接了浏览器的CreateProcess等创建进程的函数,配合MD5校验、白名单等措施来防范网页***。目前,绝大多数的网页***都能被上述几种工具检测到;当然,“道高一尺、魔高一丈”,“别有用心”的人想绕过这些安全工具也不是难事,在第7章中会向读者介绍有关的知识(注意,这里讲述的方法不是教唆读者如何躲避安全工具,相反是要读者引起警惕,采取更强有力的防范措施)。而关于防范网页***的方法,将会在第8章介绍。
    网页***的出现,使网络安全的形势更为严峻,把网页***通过一个框架或者其他手段插入到正常网页的行为,就是俗称的“挂马”,这是一个比较形象的说法。网页***刚出现的时候纯粹是一种技术上的研究。但是,许多居心叵测的人挂马则或是为了经济利益,或为了其他不可告人的目的(如图1.5所示)。通常网页***没有固定目标,缺乏针对性;在一定意义上,它只是等着别人来中毒,它不能主动地选择受害者。其实,挂马的直接目的就是获得肉鸡,利用肉鸡进行DOS(Denial of Service的简写,拒绝服务)***、作为***其他计算机的跳板以盗取账号密码等。
 
图1.5  网络安全的犯罪产业链
本文节选自电子工业出版社2009年5月出版的 《网页******实战》一书。