AJAX病毒

来源:互联网 发布:淘宝宝贝推荐模板代码 编辑:程序博客网 时间:2024/05/03 09:30
在病毒编写者与他们的对手——互联网安全公司的较量中,Web 2.0光辉新世界的黑暗面正在暴露。

  这种融合了互联、共享和实时更新的网页技术,被冠以“第二代互联网”的称号,然而,它也成为企图向这个混合体注入恶意代码的入侵者的沃土。

  微软一度是最主要的攻击对象,其文字处理程序、浏览器和操作系统中的薄弱环节被利用,但随着入侵者把注意力从电脑桌面程序转向web应用程序,谷歌(Google)、雅虎(Yahoo)和MySpace现在也同样可能受到攻击。

  浏览器:Web 2.0主角

  在Web 2.0环境,许多活动在浏览器内进行。举例来说,谷歌用户可在网页填写电子数据表、进行文字处理,而其日历和电子邮件收件箱的更新方式,与使用基于硬盘的微软Office套装软件相同。

  区别在于,信息被不断嵌入网页,这些网页从谷歌服务器传送到用户浏览器,最常用的浏览器是Internet Explorer或火狐(Firefox)。

  Web 2.0也代表社会软件(social software),包括维基(wiki)、博客(blog)、简易供稿(RSS)新闻源、标签(tagging)和社区站点。它是一个宽容的社区,用户可以自由地相互借用、添加并混合数据。

  尽管这些技术和工具会带来新的自由,但也成为病毒编写者和个人身份信息盗窃者的“新天地”。

  Web 2.0对恶意软件(malware)开发者的吸引力,部分在于运行Web 2.0的后台程序的复杂性。Ajax(异步JavaScript和XML)是一系列用来使网页更具互动性的技术的总称。运用这些技术,网页与服务器可自动交换少量数据,以刷新部分网页(如不断变化的股价或比分),让网页“活”起来。

  “编写JavaScript代码约有100种不同的方法,火狐和Internet Explorer各有50种,”BreakingPoint Systems的安全研究主管HD&
8226;摩尔(HD Moore)称。“问题在于,很难区分善意与恶意代码。”

  雅虎遇袭

  6月份,一名病毒编写者用雅虎的web电邮服务发出了一封隐含某种JavaScript代码的邮件,使雅虎的网页邮件服务遭到“恶意代码”的冲击。由于雅虎允许网页执行JavaScript,因此其邮件系统很容易受到Yamanner蠕虫病毒的攻击。

  任何打开邮件的人都激活了脚本,这些脚本向用户的地址簿发出请求,然后将蠕虫病毒发给地址簿中的每个人,其目的也许是为散布垃圾邮件而收集邮件地址。

  “如果没有Ajax,Yamanner蠕虫病毒就不可能发生,”SPI Dynamics安全研究员比利&
8226;霍夫曼(Billy Hoffman)称。

  “令人害怕的是,在雅虎看来,没有什么危险的事发生,用户只不过创建并发送了一封邮件。浏览器也一样,发现了某个Java脚本,就运行了它,而最终用户对此也无能为力。”

  上月,谷歌RSS阅读器也发现了类似的缺陷。谷歌采用了JavaScript技术,以便用户能够为阅读器添加新闻源,而一位安全专家能够向新闻源地址添加数据,从而使浏览器连向另一个网站。如果带有恶意目的,所连向的可能是欺骗用户吐露个人信息的网络钓鱼(phishing)网站。

  跨站脚本漏洞

  网络安全业内将Web 2.0网站内的这些编码缺陷,称为跨站脚本(XSS)或跨站脚本漏洞。

  近期利用跨站脚本漏洞的最著名事件,是去年10月份MySpace网站遭到的相对良性攻击。MySpace是如今最大的社交网站,用户人数达5400万。

  19岁的洛杉矶软件开发员“Samy”编写了一段蠕虫程序,令他获得了逾100万网上“好友”,直至MySpace使该程序失效。他在自己的MySpace简介里,置入一段JavaScript代码,这样每个查看简介的人会在不知不觉中执行这段代码。这段代码把他列为该用户的好友之一,而在通常情况下,列为好友需要得到该用户的同意,但他写的蠕虫使用Ajax技术,使之在后台批准他的请求。

  接着,该蠕虫会打开该用户自己的简介,把恶意代码复制进去,并把Samy添加到那里的任何英雄列表中,还附上一句话:“但Samy是我最敬佩的英雄”。同样,任何查看该用户简介的人也会被感染,这样Samy的名声和“人气”迅速扩大到100万MySpace会员。

  此时,该网站的管理员才发觉大量活动,被迫将MySpace关闭数小时,以清除该蠕虫病毒。

  “在后台袭击MySpace、谷歌和雅虎的是跨站脚本,”计算机安全公司iSEC Partners主合伙人亚历克斯&
8226;斯坦默斯(Alex Stamos)说。“你可以通过脚本的输入输出过滤来进行阻挡。在传统的Web 1.0世界里,要处理的只有一大张以标准超文本标识语言(HTML)编写的网页,因此要把这些脚本阻挡在外并不难。”

  但在Web 2.0中,插入脚本的方式如此之多,以至于进行阻挡要难得多,他说道。编写web应用的人,再也不能只用现成的过滤器了。

  “24小时读完一本Ajax的书”

  “你必须培训开发人员,”SPI的霍夫曼先生说。“围绕Ajax的炒作正导致一个问题:人们看到了MySpace的成功而纷纷采用Ajax技术。他们24小时内读完一本如何学会Ajax的书,然后创建一个存在安全隐忧的网站。”

  此类初创网站得到了Ajax“框架”的帮助,“框架”就是现成的Web 2.0程序包。“利用Ajax框架的理念就是,你不必理解它如何运行。但我们的观点是,如果不知道它如何运行,你就不知道如何安全地使用它,”斯坦默斯表示。

  他的公司探索了一些漏洞,当用户打开多个浏览器窗口,并在一个窗口里访问一个恶意站点时,可能导致在另一个窗口获得信息,并执行脚本。

  SPI向一家网上股票经纪商展示了它所创建的恶意软件,该软件冒充会员身份,买卖他们的股票,并清空其银行账户。

  程序开发人员将谷歌本地搜索(Google Maps)等应用,与在线分类广告服务网站Craigslist的广告结合起来,给出待售房产的位置信息,此类混合技术(mash-up)意味着,安全问题已扩展到不同的应用程序中。在RSS阅读器中聚合新闻源,并将用户对新闻条目所作的评论包含进去,这种做法也增加了引入恶意代码的概率。

  然而,许多Web 2.0初创网站规模太小,无法把很多时间花在安全问题上。“在Web 1.0时代,安全性姗姗来迟,并且总是落在后面,这很正常,”斯坦默斯说。

  “你不可能找到一个风险投资家,对他说你将拥有最安全的混合技术站点,然后得到2000万美元。你应该说,你将提供最酷的互动方式,这才会使你得到资助。”(译者/朱冠华)