赛迪网 > IT产品 安全 > 软件
  IT资讯搜索
 
IT产品搜索
· 教育投影机采购指南 上半年电子产品投诉统计
· 商用办公产品解决方案 服务器市场价格战之争
· 多功能一体机评测报告 暑期IT产品促销大卖场
· 快来抢!奥运照片免费打印啦 华硕M51SN评测
· 市场热销精品打印机推荐 虚拟化技术渐成热门
· 扫描仪发展的过去与未来 路由基本协议与技术

不安分的网页——网页木马的守株待兔行为

发布时间:2008.03.03 10:07     来源:安全中国    作者:

一. 不安分的网页
职员李小姐这两个月来都觉得比较纳闷,为什么最近开很多网页都会跳出RealPlayer播放器,难道网络又开始了一轮视频播放形式新潮流?但是每次她都是等了很久也没看到有音乐或电影开始播放,久而久之,她已经习惯这个现象了,直到那一天,她保存在硬盘上的重要客户文档无缘无故被加了密,并且目录下多了个名为“要想恢复文档请将500元汇入账号xxxxxxx”的文件。
当公司网络部的同事询问李小姐最近有没有发现什么异常现象时,李小姐才如梦方醒:打开网页怎么会跳出RealPlayer?RealPlayer一般不是都在网页里面播放的吗?

二. 你的地盘我做主:来自第三方工具的危害
随着安全危机的影响力逐渐扩大,许多网民的机器里都开始出现各类安全防护工具的身影,像各种反病毒产品、360安全卫士、超级巡警等,正是由于这些工具的存在,中国网民的机器上原本四处洞开的窗口终于得以关闭,然而网民们很快发现,虽然自己的“瘟到死”系统已经安装所有补丁更新,但是仍然逃脱不了被病毒侵袭的事件,最终只能寄希望于反病毒产品的庇护,结果,就在反病毒产品的监控下,恶意流氓和未知木马照旧可以大模大样的在系统里招摇过市,普通网民们只能望“马”兴叹——也不对,在很多情况下,广大网民们根本就不知道自己的系统已经被木马驻扎!
许多人接受不了这样的事实,高手说,系统要勤打补丁,好,我们照做了;高手又说,系统要装几个防御工具,好,我们装上了各种反病毒产品和超级巡警、360安全卫士等安全检测工具,结果到了最后,每次在新病毒来袭的时候,我们仍然是首当其冲的受害者,而什么工具都没装的高手却偏偏不会中招?安全工具,真的有效吗?
这种质疑论点其实是不必要的,系统补丁必然要打,一些必须的系统加固工作也是必须要做的,但是这些措施只是为了防御各种蠕虫病毒、系统漏洞入侵等,并不代表从此就可以百毒不侵,更何况,每个人的系统中,都存在有一个时时敞开的大门,正是它,让木马防不胜防,除非你决定更换另一个系统平台,否则你永远也摆脱不了它的影响。
这扇大门,就是我们每个人都熟知的Internet Explorer,IE浏览器。
不知道会不会有人立即怒发冲冠要去把浏览器卸载或者计划好投诉浏览器厂商不做安全工作了,但是作为我们与互联网世界接触的一大窗口,浏览器是不可或缺的重要工具,像IE、FireFox、Opera等,正是浏览器为我们搭建了这个交互平台,将各种交互应用呈现在我们面前,在这里,浏览器的主要功能就是“交互”,而就是这个特性,让入侵变得难以彻底根除。
因为浏览器面对的是互联网众多的交互功能,以单独一家公司自身的处理能力,要让浏览器能识别处理世界上尽多数的交互功能是不现实的,因此任何浏览器厂商都要为程序设计一个公开的接口规范让其能调用扩展或第三方接口程序,以便把它自身并不认识的交互任务交给某些有特定处理能力的接口程序来处理,所以浏览器并非是一个独立的程序,而是一个可以调用多个扩展组件运行的结合体,这些扩展组件通常也被称为“插件”(Plugin)。浏览器通过读取页面特定标记来决定自己需要加载什么组件执行,例如读取到脚本标记就自动加载脚本扩展组件执行、读取到XML标记就交给XML处理扩展执行,如果这些众多的扩展组件被取消,你将会发现浏览器大概只能显示最基本的文字和图片了。一个最简单的例子,现在网络购物和网络银行已经走入了千家万户,大家都知道“登录”步骤的操作过程——输入用户名和密码,然后点击“登录”按钮。但是并非所有用户都能平稳的享受到这个过程,有些用户会发现,自己的浏览器里,那个用于输入密码的框框成了一个类似于图片显示不出来时报错的大红叉,这就是浏览器交互功能组件缺失时最显著的表现。由于网络银行和网络购物必须在用户平台中实现相对安全的防御手段,所以要求用户输入的敏感数据是不可被轻易捕获和拦截的,这种要求,浏览器厂商自身是无法为其解决的,否则我们每次要用一个新的网络银行就必须等待厂商升级他们的浏览器产品了,这显然很不现实,所以为了兼顾这个问题,浏览器厂商在设计初期就必须加入一套可以被第三方厂商调用的接口规范,利用这个接口,任何人都能自己编写符合规范的程序来实现与浏览器的数据交互,它的工作原理请看前面的描述。
因此,网络银行的设计者必须开发一套浏览器组件,并通过特定的页面标记来激活运行,最终将一个“密码输入框”显示在网页(浏览器的容器对象)中,并接受用户的输入,当用户点击提交按钮时,它将加密处理后的输入数据附加在浏览器的交互流程中通过“安全套接字协议”(HTTPS/SSL)返回到服务器端,这样才完成了数据交互,我们才得以登录淘宝、支付宝、拍拍、各种网络银行。在国内,这些组件是以ActiveX控件的形式加载的,它们使用的是IE提供的接口标准,而另外两大浏览器阵营FireFox和Opera则不支持这种交互方式,于是,在中国,大部分网民们知道的只有两种浏览器,一种是支持中国网银的,一种是不支持中国网银的。
实际上,不仅是网络银行等交互需要第三方组件,当我们使用浏览器在各种小游戏网站上消磨时间时,是Flash插件被载入浏览器为我们提供交互功能,而我们在百度MP3里试听音乐时,是因为微软自家的Media Player插件和RealNetworks的RealPlayer插件正在浏览器中工作……诸如此类,浏览器结合各种扩展组件最终构成了我们的网络生活。
但是,事情并非始终都是美好的,天使和恶魔,就在于一念之差。
当浏览器将一个组件加载后,这个组件就成为它的一部分,浏览器被称为“宿主”,根据设计的标准,组件能拥有宿主所拥有的所有权限,也能控制宿主的行为,而且,它更能执行普通程序所拥有的所有功能,简单的说,一个被浏览器加载的组件,除了它的生命周期取决于宿主以外,其他特性与一般应用程序无异,而且,它比一般应用程序还多了一个可以传递参数的交互接口,这样的设计初衷是为了方便浏览器宿主将其加载时进行一些必要的初始化工作,但是,这一部分的数据是通过网页HTML代码以明文的形式写入的,任何人都可以对其进行修改和控制。
并且,由于微软自身浏览器的接口标准可以响应ActiveX控件交互,那就意味着,大部分ActiveX控件都可以通过组件的形式载入浏览器,并对其参数进行控制,虽然它可能会由于不符合接口数据返回的规范而不会造成浏览器有任何行为,但是,它已经被加载运行了,数据也已经传递了。

三. 系统漏洞凑热闹:挂马王“MS06-014”与“MS07-017”
当MIME头部解析漏洞基本销声匿迹后,入侵者除了通过第三方插件引发浏览器漏洞以外,还能利用系统漏洞进行入侵吗?答案是肯定的,虽然系统漏洞大家都“补”上了,但是总会有一些意外特例存在,例如真正存在漏洞的文件并未被更新或者在某种条件下被旧版本恢复,这时候即使所有的安全报告都显示它是“打过补丁”的,但是它仍然引发了理应已经补上的漏洞,如大名鼎鼎的系统漏洞“MS06-014”,虽然微软早已发布安全更新,可是仍然有一部分用户遭其毒手,所以在国内,它又被称为“挂马王”。
2006年4月11日,微软发布了一个等级标记为“严重”的安全更新,代号为“MS06-014”,它的描述为“MS06-014:MDAC功能存在可能允许执行代码的漏洞”,这个漏洞实际上由至少3种系统组件配合引发,首先是被大量应用于Web2.0交互的核心AJAX技术所需的HTTP数据请求组件“Microsoft.XMLHTTP”,它被入侵者设置为获取一个网络空间上放置的恶意木马程序;接下来,本次漏洞的主角“Adodb.Stream”出场,它将XMLHTTP组件获取的数据写入用户的系统中,这两个组件的搭配完成了一次恶意程序的下载过程;最终,入侵者构造一个“Shell.Application”组件将下载完成的恶意程序执行,就完成了这个漏洞的所有步骤。
虽然厂商及时发布了补丁,但是或许是因为MDAC这个数据库操作组件的环境依赖性质,一部分用户的组件实际上并未成功修补,从而埋下了一个隐患,当用户浏览到某个被植入这个漏洞触发代码的网站时,邪恶的代码就在后台悄悄下载执行了。
//文章出处:网络技术论坛(http://bbs.nettf.net) 作者:小金
而另一个,则是相对出名的“MS07-017”漏洞,官方定义名称为“Microsoft Windows动画光标畸形ANI头结构远程栈溢出漏洞”,也就是俗称的“ANI漏洞”,它刚问世的时候就引发了一场轰动,因为它是以“0day”的方式出现的。
许多用户对“动画光标”的概念不太清晰,其实你可以简单的将它理解为动画形式的鼠标指针——点击“开始”、“运行”,输入“cursors”回车,如果你在配置Windows组件时选择了“动画光标”,那么这里就会看到一些类似图标的文件,在任意一个文件上单击右键查看属性,你会发现它的文件类型描述为“动态光标”,后缀名是“.ani”——这就是“ANI漏洞”称呼的由来。
这次的漏洞根源是由于厂商考虑不周,导致系统在渲染畸形的光标、动画光标文件或图标时没有正确验证文件头部中所指定的文件大小,从而导致数据缓冲区溢出导致执行任意指令,入侵者最常见的手段就是构造一个特殊的动态光标格式文件,并在它的相应位置放置执行代码,然后编写一个用于加载这个光标文件的网页,当用户访问到这样的页面时,加载光标的CSS样式表行为CURSOR被触发,从而导致恶意代码被执行,这可以被称为“类似一句话木马”,因为它只需要一个漏洞文件和相应样式表代码便能执行入侵者的指令,如下载远程文件执行等。

四. 逃避查杀的技术:加密加密再加密
毫无疑问,在现在各大反病毒产品和安全工具围堵拦截的形势下,直接傻乎乎的将自己的恶意代码以原本的明文形式呈现出来是初学者的做法,这样的后果通常只有一个:被安全工具检测并查杀。
于是现在流行的恶意代码大都经过了一种被称为“加密”的手段进行处理,由于浏览器交互脚本的“弱语言”特征,入侵者可以将一句指令代码任意书写,而最终它依然能被脚本解释器正常执行,例如“clsid:BD96C556-65A3-11D0-983A-00C04FC29E36”可以拆开写为“clsid:BD”+“96C556-”+“65A3-11D0-983A-00”+“C04FC29E36”,最终结合起来,它仍然能被脚本解释器所理解,但是安全厂商载入浏览器中用于监视文件中敏感字符的恶意代码检测组件就叫苦了,它可不认识这种拆来拆去的东西最终表达了什么东西,而且它的功能也不包含有类似脚本解释器一样的执行功能,最终它就将这段恶意代码视为无物而放行了。
后来随着技术发展,检测组件开始具备敏感字符检测与代码组合分析的功能,于是新的加密手法再次出现,通过一种特殊的脚本指令“eval”,入侵者可以将一段代码改头换面写成风牛马不相及的内容,最终在多次奇妙的eval指令配合解密代码的工作后,它又神奇的被解释执行了,依旧留下那摸不着头脑的检测组件在一旁晾鱼干,即使有安全厂商专门编写了一套用于中介性质的脚本解释接口也无济于事。
但是我们没法去责怪安全厂商,如果要彻底杜绝这些问题,那还不如让安全厂商自己写一套完整的脚本解释器算了,但这样是非常不现实的。
我们只能祈祷,系统漏洞越少越好、工具漏洞越少越好……

五. 结语:防御——难以言说的话题
面对如此浩瀚网海,普通网民根本无法得知下一次漏洞将会出现在哪个组件身上,所以,它是防不胜防的,我们只能寄希望于一些相对强大的安全工具,如360安全卫士、安全巡警等,它们都提供了较齐全的系统漏洞更新检测与第三方工具漏洞更新功能,高级用户可通过使用微点主动安全防御、SSM等HIPS工具加以抵挡,结合反病毒产品的运作,力求将漏洞危害降到最低限度。
在这样的网络中,我们别无选择。

(责任编辑:董建伟)


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· 教你学会七种维护服务器安全的最佳技巧 (03-03) · 教你保数据安全 (03-03)
· 数据保护成2008年焦点 (03-03) · 黑客使用八种武器 入侵Oracle数据库系统 (03-02)
· 企业安全无忧网件交换机式防火墙大降价 (02-29) · WVS 大显伸手 保障 Web网页应用程序安全 (02-29)
· 减少收到垃圾广告 让你的电子邮箱更安全 (02-29) · Web应用安全系列:安装和配置WVS(一) (02-29)
· 专家谈:警惕商业软件窃取客户敏感信息 (02-28) · 警惕:AJAX应用程序容易遭受到新型攻击 (02-28)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
· 网站建设市场重新洗牌 一卡通引领革命潮流
· 北京加快信息化建设 医保一卡通年底前启动
· ERP案例分析 SaaS带来冲击 IT服务商面临挑战
· 通方期货CRM解决方案 房地产行业CRM解决方案
  IT博客 ·曾剑秋·项立刚·Java学习·网管
  IT技术论坛 ·开发·网管·安全·数据库·系统