Widget(微件),或小型Web应用程序,是深受用户喜爱的、用于在不同的Web 2.0 网站上表现自我的工具或Web插件,如在Facebook和Twitter;同时,一些组织机构也利用它们来获得其他网站的内容。但是,随着web 2.0程序和Web插件日益成为商业活动中不可或缺的一部分,企业可能需要防范一些新的严重安全隐患。
在本文中,我们将阐述在将Widget 纳入Web 2.0环境之前对其安全性进行评估,这将对企业保护网络用户、内部用户,以及最终公司的声誉方面带来哪些好处。尽管Widget 也被用于合乎规则的商业用途(尤其是用于基础如Facebook、Twitter、谷歌或其他第三方网站的内容方面),但它们同样能够被轻而易举地用于散布恶意软件和恶意代码,甚至可能被其他类型的高级攻击所利用。
对Web 2.0 Widget的说明
Widget 是指可以单独使用的独立应用程序,或者是能够被嵌入网站或网络应用程序的来自第三方站点的代码片段。它们通常用于显示内容,诸如新闻条目或新闻发布,同时它们也能执行其他的操作,如显示一个Twitter用户的最新更新、或包含其它网页或网站近期发布的博文。 Twitter的Widget 能让用户在第三方网站上展示tweet消息,当有人访问这些网站时,该Widget 会实时更新消息。同样,Facebook的Widget 也能让第三方网站实时的显示Facebook更新内容。
Widget 能用多种编程语言进行开发。基于Ajax的Widget 使用Google Ajax API来显示谷歌地图或谷歌提供的其他内容。许多Widget 通过嵌入的JavaScript代码片段来帮助企业在Web上展示新产品或发布新闻。例如,Twitter的个人资料Widget 能够在第三方网站上显示最近的用户更新信息。用户只需将Twitter提供的JavaScript代码段嵌入想要展示的地方即可,访问者的浏览器会自动执行这些代码,相应的更新信息便会显示在网页上。通常,网站会指示Web浏览器去执行来自多个不同Web服务器的代码,并同时创建动态网页。
来自Web 2.0 Widget的安全威胁
正如Fortinet公司的FortiGuard安全中心在2008年的一份报告中所述,恶意软件的作者们几年前就已经开始利用Widget 来作为攻击媒介了。该报告重点提到了通过Facebook插件来散布的恶意软件Zango。从严格意义上讲,这种威胁已经算不上是什么新闻了,但类似的恶意Widget 如今仍然大量存在,并且和Web 2.0应用程序一样,这些恶意软件也在不断地演变。
Web 2.0 Widget 不仅给企业造成了安全隐患,还给网站的访问者带来了安全风险。企业的风险程度因使用的Widget 的不同而有所差异,典型的情况是企业雇员因访问了恶意Widget 的内容而成为黑客牺牲品。他们在被恶意Widget 感染后,这些Widget 会植入恶意软件,进而感染内部网络、或者盗取用户电脑上的敏感数据。
同样,在将第三方的Widget 纳入到自己的商用或公用Web 2.0 应用上时,企业也面临着风险。随着越来越多的公司将社交网络平台上的Web 2.0Widget 整合到他们自己的网站和移动通信应用中,Widget 所带来的风险已越来越多的受到重视。如果这些第三方Web 2.0插件是恶意的、或者被黑客攻破的,那么公司的网站访问者可能会执行来自于各种不同网站的恶意JavaScript或者移动设备程序代码,即便这些代码的来源看上去是合法的(如来自贵公司的网站)。因此,一个公司可能会在不知不觉中将攻击者的恶意软件散播到网站访客和客户的电脑上,并在需要为这些安全问题买单的时候感到吃惊不已。
Web 2.0 Widget:企业的防御策略
尽管存在这些威胁,我们仍然有办法能让Widget 安全地在企业环境中使用——它们自己既能被公司的用户所使用,也能凭借构建网络混搭(mashups)应用从而被其他站点所引用。为了保护网站访客免受恶意Widget 的侵害,网站开发者在将第三方Widget 引入到自己开发的网站中时,应当首先开发一个安全识别程序。开发者应该明确使用这些Widget 会带来的潜在风险,同时应当学会在发布Widget 前评估它们的安全性,然而因为在网站上发布一个新的Widget 很简单,以至于这一步常常被忽视了。
在安全评估过程中,每个Widget 的运行情况应在测试环境中得到充分的验证,以确保常见的恶意内容无法通过该Widget 散布出去。开发人员可以通过阅读JavaScript代码来评估Widget 的安全性,并仔细检验其功能。为了检测将会通过Widget 的恶意内容(如Twitter的信息流),测试人员可以在受测网站上创建一个Twitter账号,查看在多种潜在恶意内容发表时Widget 所显示的内容。一个自动化的程序同样可以检测一个机构网站中通过Widget 传递的恶意内容。此类自动化程序拥有特殊的脚本,应在运行有多种其他反恶意软件的电脑上运行。该脚本将下载Widget 所引用的所有内容,以确定是否有反恶意软件能够对这些内容生成警告信息。为了测试上述功能,你可以在Widget 中发布一个EICAR(欧洲反计算机病毒协会)测试文件的链接,以测试你的自动化程序是否能检测到其中的病毒样本。这种方法可能并不能对每一个Widget都起作用,尤其是预编译的二进制代码Widget 。尽管如此,验证程序的输出结果仍然是可能的。
为了防止内部用户给公司的网络和数据带来风险,应当使用标准的反恶意软件保护产品。内部网络防御和网络出口端点防御相结合可以保护用户免遭大部分通过Widget 传播的恶意软件的侵害。许多网络设备(通常是你所在的组织用于阻止常见恶意软件的设备,如网络代理服务器等)包括了对于社交网络的保护。有些设备将此种保护作为基本功能,但另外一些设备则需要额外的授权或模块设置才能对这些威胁进行监控。
意识到潜在威胁的存在、并确保有足够的反恶意软件的保护,是对Web 2.0Widget 潜在威胁进行防范的关键。恶意的、或被破解的Widget 能轻而易举地散播来自第三方的代码,这些代码会破坏你的网站体系结构、窃取你的敏感数据、或由此导致网站客户对贵机构的信任度下降。展望未来,你所在的公司不仅应该意识到网络混搭应用的危险性,还要实行适当的保护措施来防范这些应用所带来的危害,这一点至关重要!
【编辑推荐】