« links for 2006-08-31 | 首页 | 电信的宽带拨入软件升级通知 »

分类: 技术眼

2006年08月31日

[转载]有漏洞的Web 2.0

  AJAX的安全性问题越来越受到瞩目,技术都是双刃剑,XMLHTTPRequest可以偷窥人家,人家一样可以偷窥你,要不怎么叫Peer to Peer呢,哈哈,kidding......

作者:英国《金融时报》克里斯?纳托尔(Chris Nuttall)
2006年8月14日 星期一

在病毒编写者与他们的对手——互联网安全公司的较量中,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?摩尔(HD Moore)称。“问题在于,很难区分善意与恶意代码。”

雅虎遇袭

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

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

“如果没有Ajax,Yamanner蠕虫病毒就不可能发生,”SPI Dynamics安全研究员比利?霍夫曼(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主合伙人亚历克斯?斯坦默斯(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万美元。你应该说,你将提供最酷的互动方式,这才会使你得到资助。”

译者/朱冠华

POPO转载自金融时报中文版
Posted by POPOEVER at 2006年08月31日 22:18 | back to top
Featured

Trackback Pings

本篇日志的回溯引用地址:

http://plod.popoever.com/acp630/mt-tb.cgi/1108

Comments


  1. #8360

    我也非常认同这一点...
    呵呵
    看了你的BLOG这么久,第一次顶贴...
    :)

    Posted by 星辉一冷 at 2006年09月01日 22:50 | back to top

Post a comment

说老实话,做开心人,欢迎您留露箴言
即便如此,也请遵纪守法,勿放厥辞
汝国如汝母,辱国如辱母,吾辈当自强
您的观点仅代表个人,与本站无关,望请自尊

Thanks for signing in, . Now you can comment. (sign out)

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)


Remember me?