网站共享代码带来的便利对今天的互联网而言是把双刃剑。它带来了可以集成各种数据与服务的强大网络应用。但它同样使网站任由第三方编写的代码摆布——这些代码可能有安全漏洞,或者与网站其它部分不兼容导致问题。
一个新的浏览器插件将使开发者放心使用第三方代码,而无须担心这些代码可能造成的漏洞。上周在加州奥克兰市举行的电气电子工程师协会安全与隐私研讨会(IEEE Symposium on Security and Privacy)上,两位研究员在演讲中描述了这个被称为ConScript的插件。
现代网站“漂亮的盖头下面可能微微令人不舒服,”参与此项工作的加州大学伯克利分校研究员里欧·米耶洛维奇(Leo Meyerovich)说。他举例说,本地商店点评网站Yelp上同时还运行着来自Facebook、Google Analytics和一家叫做Scorecard Research的公司的JS脚本。
在很多案例中,米耶洛维奇说,这种“情况都是善意但问题多多的。”当问题真的出现时,他说,常常很难判断是哪里出错了——运行第三方代码的服务,还是这些代码本身。这就让解决问题更加困难。
有了ConScript,研究人员希望能够给开发者和网站拥有者提供更简单的方法来控制第三方代码在其网站上的行为,从而规避这个问题。
ConScript需要为浏览器增加相对较少的代码(约1000行)。这段代码将检查浏览器正在执行的JS命令。它将插入额外的代码以阻止JS脚本试图执行那些用户设置为禁止运行的任务。
来自微软研究院,并参与此项工作的本·李维西特(Ben Livshits)说,ConScript为开发人员和浏览器制造商提供了一种既可以促进网站使用JS脚本,又无需在该过程中牺牲安全性的方法。该系统被设计为灵活、可靠并轻量级的方法来保证良好的安全型。
根据网站所有者筛选出来的一组策略,ConScript知道应该强制执行某些动作。例如,某个网站的拥有者可以设置系统禁止那些不信任的代码弹出窗口或将用户引向别的网站。研究人员设计的ConScript允许网站所有者通过数种方式选择策略——直接编写策略;从可用策略库中选择策略;或者根据对网站代码的分析自动生成策略。
ConScript的一大优势,米耶洛维奇说,在于它可以允许开发者不用改写早期代码即可使用,即使这些代码包含已知漏洞。这点不仅对新网站意义重大,同时也使用户可以安全访问那些没有随时更新的已有网站。如果策略设计得当并仔细挑选,研究人员说,它们应该不会影响网站需要的任何功能。
研究人员使用多种流行的网络服务测试他们的系统,包括谷歌地图、MSN、Gmail、Live桌面以及谷歌日历。他们发现在部署该系统的同时不会显著降低这些网站的访问速度,而这点是对防御不信任代码系统最大的顾虑。
来自法的欧洲通信学院(Institute Eurecom)的计算机科学教授尹琴·基尔达(Engin Kirda)说,ConScript“是个非常有用的系统。假如它真的能集成到浏览器中并让人们开始使用它,将使互联网安全得多。”
米耶洛维奇说为所有主流浏览器创建Conscript插件在技术上并非难事。然而,他承认要将ConScript设立为一种标准,从而使浏览器制作者真的这样做,却可能非常困难。
保护网站远离共享代码漏洞
评论
11 views