Chromium官方博客:深入解析Chrome扩展的安全性

Posted by Fornever on December 16, 2009

对于Chrome浏览器来说,是否有强大的扩展系统支持将成为Chrome能否力压群雄的关键,但扩展的安全性也一直是各大浏览器厂商头疼的问题。今天,Chromium官方更新了博客,专门对Chrome扩展的安全性进行了解释和分析,并且对Chrome如何保证扩展安全的技术进行了讲解,以下是博客摘录内容:

chrome-plus-extensions

在之前关于扩展系统的讨论中,我们的焦点在于如何在保证平台安全性的前提下,使开发者能够编写出与网页具有更高交互性的扩展。经过分析,我们发现两种具有安全隐患扩展:恶意扩展和缺陷扩展。

恶意扩展,顾名思义,由那些别有用心的开发者设计开发,它们可能记录用户的密码,并将其传回服务器端,给用户带来损失。抵御这类恶意扩展的障碍在于它们的功能和有些现存扩展一样,比如密码记录扩展lastpass是一个安全的扩展,但在别有用心的开发者手里可能就会不安全,这会使得用户在选择扩展时埋下隐患。针对于此我们向用户提出两点建议:

1、尽量从官方扩展中心下载扩展。我们在发现恶意扩展时,会第一时间将其撤除; 2、如果从其它渠道安装扩展,一定要加以甄别。在服务器方面,我们一旦检测到这种恶意扩展,会采用扩展升级系统远程扑杀该扩展。

为减少缺陷扩展带来的安全问题,我们采取了久经时间考验的“最少权限”和“权限分离”原则。每个扩展都需要在描述文件中对权限进行说明。即使某扩展被攻击,攻击者所能获得的权限也十分有限。比如Gmail Checker这一扩展只有访问Gmail的权限,即使遭受攻击,用户的网银账户也不会有任何危险。

为实现“权限分离”,每个扩展都由两部分组成——基本信息页和脚本。基本信息页拥有该插件的绝大部分权限,但其被禁止与页面直接进行数据交换。脚本可以直接对页面进行操作,但它只拥有附加权限。当然,这两部分是可以互相沟通的。“权限分离”使得脚本层面的攻击对用户的威胁大大减弱。

除此之外,我们还采用“多进程架构”和“沙箱技术”使网页、扩展和浏览器三者之间彼此隔离,这样可以有效防止恶意网站通过具有攻击性的扩展入侵浏览器核心进程。为了提高交互性,我们允许各种扩展脚本的运行,但为之提供了“隔离区”,使其无法威胁到页面脚本的正常运作。

图谋不轨的恶意扩展和无心之过的缺陷扩展永远不会绝迹,我们也将持续致力于提升扩展系统的安全性,使开发者可以为用户提供安全的扩展,最终使得用户可以放心体验互联网的精彩内容。

Via ChromiumBlog