Ajax光环背后的病毒隐患

以前从来没有人想到AJAX技术会被居心不良的人用来搞破坏的行为,成为未来的毒王,但是请您千万不要忘记,这个世界没有绝对的安全,只有绝对的防范。本文介绍了新一代AJAX蠕虫病毒的一些关键的概念,以及它的传播原理,希望读者通过了解病毒者编写的思路,从而成功的找到应对措施。

2006年属于Ajax而且红得发紫,但在Ajax光环背后却危机四起,Ajax病毒在网络上已经初现端倪。原来安全业界一直有一种误解,认为Ajax蠕虫病毒不能跨域传播。其实这是一种危险的想法。

江民等国内反病毒公司近日公布了2006年影响和破坏力最大的十个病毒,因破坏性和传播范围超过木马病毒,“威金”蠕虫病毒位居十大病毒之首,被称为2006年度的“毒王”。
可见蠕虫病毒的侵害不容小视。

蠕虫病毒步步进逼

蠕虫病毒正悄悄攻击我们的网络,走近我们的生活,在过去的一年中,Ajax蠕虫病毒遍布在WEB 2.0每一个角落,首先是著名的社交网站MySpace成为钓鱼者、扫描者、垃圾信息和病毒编写者攻击的最大目标,而像Google、Yahoo和Youtube其实也都存在类似的问题。Ajax网站的未来将可能成为蠕虫病毒炫耀自己的舞台,如何防范蠕虫给我们带来的损失呢?

俗话说“解铃还需系铃人”,我们先了解一下Ajax蠕虫病毒如何成功的在整个网络上传播,就会有地放矢的防范于未然。

AJAX蠕虫病毒,其实也是一种WEB蠕虫病毒,和其它任何类型的病毒不同,有自己独特的特点:交互似传播。AJAX蠕虫病毒不是一个独立存在的进程。它们是一种子过程,只要用户打开了它们运行的资源的时候它才存在。因此,用户和AJAX蠕虫病毒是一种类似角色扮演游戏的方式(RPG)结合在一起:用户在网上访问一个资源或点击一个链接,该蠕虫病毒就会启动被传染的感染源,对网络进行传播。如果你能理解这个基本的特征,你就会对Ajax蠕虫病毒有一个整体的把握。

AJAX蠕虫病毒通常比普通的病毒传播速度更快。简单来说,一个被感染的平台如果使用的用户越多,该蠕虫病毒就会被成倍的复制。同时传播的过程还受当前被感染的资源与其他资源的链接情况影响。如果当前感染的Web网站中当前页的超链接越多,就会造成更快的传播速度。所以,不要奇怪为什么MySpace会成为AJAX蠕虫病毒编写者最大的攻击对象。因为它的复杂性、巨大性和众多的链接资源,简直就是Ajax赖以生存的温床,可以供蠕虫病毒很方便进行传播、变异,当然还有破坏。

AJAX蠕虫在本质上与Macro蠕虫病毒没有太大的区别。很多人可能都听说过“美丽莎(Melissa)”和“求爱信(I LOVE YOU)”这两种蠕虫病毒,它们都能感染微软的办公软件Office。当用户打开一个具有诱惑性的邮件的word附件的时候,它们的传播感染过程就开始工作。在打开文件的过程中,文档执行VBA脚本,自动向当前感染用户的所有联系人发送包含病毒的邮件。当该联系人打开了邮件附件的时候,该过程再次被重复开始。

我们可以看到,Macro蠕虫病毒与AJAX蠕虫病毒是多么的相似?首先,Macro蠕虫病毒只有当用户打开它的时候才会发作。第二,它们都通过网络传播感染。在这儿的网络则是具体指的邮件联系人。不同之处是,Macro蠕虫病毒影响的是邮件帐号,而经典的AJAX蠕虫病毒影响的是Ajax网站和社区网站用户的档案信息。而且Ajax蠕虫病毒不仅仅在邮件传播方式,整个Web系统,甚至基于Ajax网站都是它滋养传播的环境。

无论是WEB 2.0还是Tim Bernars Lee先生所说的语义WEB都是和连接的网络有关的。它们都可以推动用户的交互、内容聚合和学习。因此只要具有上述特征,它们都适合被蠕虫病毒所攻击。因为语义WEB还没有在现实中实现,因此我们今天集中讨论下WEB 2.0。

为了更深入的了解问题的实质,我们从原理上设计一个概念验证(proof of concept)蠕虫病毒,它是一个简单的通过WEB传播方式。

该蠕虫病毒具有三种特点对Web进行攻击:

1.该病毒所具有的第一个重要规则是需要找一个安全漏洞,病毒通过安全漏洞不经过用户许可就可以自动运行。但是现在Web网站上的缺陷有很多,如XSS、CSRF和SQL等这些安全漏洞都给蠕虫病毒自由发挥的入口,虽然网上的漏洞不止这些,还有其它类型的安全缺陷,但是这些都是最普通缺陷,也是蠕虫病毒编写者利用这些漏洞惯用的手法。

2.算法传播也是蠕虫病毒必杀招数,算法传播机制可以确保将来会被触发,同时也对蠕虫病毒的生存至关重要。

3.蠕虫病毒具备的最后一个特点,具有可变异和更新能力,这样可以保证与反病毒软件更好的斗争。

首先我们假想一个博客网站被蠕虫病毒的感染,蠕虫首先攻击目标是博客的评论,选择评论做为首要的攻击手段,通过博客的评论可以对该博客上的所有帖子进行感染。

假若管理员碰巧登录到了蠕虫病毒正在攻击的博客上,恶意的JavaScript将会从当前的浏览器上给这个攻击的域授权。这样就会启动感染的过程,将会附加恶意的JavaScript代码到所有的地方,其方式可能是逐一修改单个帖子,也可能是修改博客的模版。Ajax病毒给网站造成的危胁和后果可想而知。

CSGF也是一个用来攻击AJAX网站的一种很好技术,它需要被授权获得访问网站内部。CSGF攻击不能在目标域上执行JavaScript,但是它们能够修改数据注入恶意代码。这个代码将在下次管理员访问这个被感染的页面的时候被激活。

SQL注入也是非常强大的网络攻击方式,与CSRF技术一起组合使用,简直是完美的结合体,这样的组合可以让它们得到更多权限,假若SQL注入技术出现在管理面板中,使用CSRF技术,蠕虫病毒可以注入SQL查询语句,以此来修改数据库。如果数据库可以被侵入,那么帖子的文本和评论同样可以被加入恶意的JavaScript代码。如果SQL注入是一个外部的攻击模式,该过程就要容易多了。只需要CSRF就可以了,并不需要一个授权管理员的“配合”。

请记住this is patient zero。一旦一个帖子或博客模版被蠕虫病毒感染,也就是第二步-感染传播过程的时候。它很容易在博客和网站空间上进行传播。当前网站及博客以及授权的管理员都面临严重感染危胁。一旦发生,这个过程就会不间断的被重复执行。

这些听起来似乎有点复杂,但实际做起来是却非常的容易。蠕虫病毒的升级和变异的实现也很简单,可以通过Web技术就可以实现,例如升级和变异蠕虫病毒只需启用一个升级后蠕虫感染的进程,一旦老的蠕虫病毒访问这个包含更新后蠕虫病毒的网站,它就会自动对自身进行更新并增强自身功能。蠕虫病毒作者既可以手动更新蠕虫病毒,也可以把被感染的资源的链接放在上面,一旦这些链接被访问,它们就会激活已经被感染的旧蠕虫病毒进行更新升级。

以上提到的三种(XSS、CSRF、SQL注入)攻击方或都可以被蠕虫病毒注入使用,因此我强烈建议对其进行修补。与这类威胁进行斗争,但是这些话说起来容易,做起来很难,我们国内有很多开发人员忽略这些漏洞,也就造成Ajax网站成为蠕虫传播的温床。蠕虫病毒可以通过访问你的博客网站的管理面板,也可以访问你的数据库,也有可能访问你的本地文件系统,因此它们可以修改系统参数以确保它们可以存活下去。举个例子,为了从一个数据库中移除蠕虫病毒,你需要使用特殊的专门类型的工具,但是这类工具不好找。这种情况下,升级你的博客软件甚至都不会起作用。

尽管我是一个乐观主义者,也不希望这些事情发生在我们身边。我只是希望看到此文的朋友能够理解我写此文的目的,尽管这篇文章有可能会让一些不法之徒利用,,但是我所希望的是每一个人能了解问题所在。我也希望这篇文章能引起安全社区和软件厂商的认真对待。你不能等到一切都太晚了的时候才开始自己的防护行动。

注:在写这篇文章的时候,我遇到了好几个跨站点脚本漏洞,它们存在于Blogspot/Blogger、Youtube、Myspace、Wordpress和其他几个知名的WEB 2.0社区中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值