记录黑客技术中优秀的内容, 传播黑客文化,分享黑客技术精华

CRXcavator——让Chrome扩展更安全

2019-03-08 12:20

浏览器是我们进行网络作业的最主要途径,不过这也使得它成为了攻击者最青睐的目标。以chrome为例,许多用户和企业在学习和工作中经常会需要用到各种各样不同需求的插件,结果导致chrome插件越装越多,chrome浏览器也越来越慢,最要命的是插件成了浏览器的安全漏洞,大大增加了攻击面。目前的计算机都存在严重的与浏览器插件有关的安全漏洞,虽然浏览器的安全性目前已经取得了巨大进步,如Chrome已经提供了重要的安全功能:自动更新和内置的恶意内容保护功能,但浏览器扩展的强大功能可能会常常给用户带来不清楚的风险。

虽然Chrome浏览器可能提供了最安全的浏览体验,但用户通常很难知道哪些第三方扩展程序具体引起了哪些风险。

CRXcavator介绍

在评估用户端的安全性时,这些扩展通常被忽略,随着软件即服务(SaaS)工具被广泛用于演示、税务或电子邮件客户端,它们对个人和企业数据的访问次数越来越多,要求的权限也越来越高。为了向用户和IT团队提供有关Chrome扩展的可操作情报,美国网络安全公司Duo 实验室的研究团队在上个月进行的,他们开发了一项名为CRXcavator的新web服务,这是一项分析Chrome扩展并提供全面安全报告的免费服务。用户可以在该网站上查看关于他们最感兴趣的扩展的安全报告,或者提交一个扩展ID。该公司于2月21日还发布了CRXcavator Gatherer Chrome扩展程序,此扩展程序是为企业使用而开发的。系统管理员可以在公司员工的pc端上安装扩展名,扩展名将收集关于员工在各自系统上安装了哪些扩展程序的信息,然后将这些数据发送到系统管理员在CRXcavator门户上预先创建的CRXcavator帐户。系统管理员可以查看用户在其系统上安装的每个扩展的CRXcavator风险评分,同时允许或禁止其网络内的分机使用网络范围的策略。

我们将在下面讨论和分析企业使用的CRXcavator的管理功能,不过在讲解之前,我得先说一下浏览器功能扩展的历史。

浏览器功能扩展的历史

加图.jpg

上图是著名的IE4.0踩场事件的图片,1997年10月一天夜里,微软员工在网景总部楼前草坪上树立了一个大型的微软IE徽标。第二天,网景员工放倒了它,并让自己Mozilla玩偶造型踩了上去。当年,IE4.0和Netscape Navigator(网景导航者)竞争的火药味可见一般。在技术上,IE4在很多方面已经比当时的网景Netscape Navigator 4.0要好。同时,从Windows 95 OSR2开始,IE被捆绑作为所有新版本的Windows操作系统中的默认浏览器,并且还是免费的,这就使得Netscape的份额渐渐被蚕食。接下来,IE5在1999年发布,IE5.5和IE6在2001年发布,而Netscape6的功能却漏洞百出。这使IE的地位进一步巩固,到2002年一度达到了96%占有率。而当时唯一的竞争对手Netscape的占有率已跌至无法挽回的地步,这场浏览器战争以IE完胜告终。IE4.0之后的浏览器也为Web开发做出过重大贡献,大量专有的特性后来都成了事实的网络浏览标准,最后又进入HTML5规范成为官方标准。

IE4.0的出现使得浏览览器世界再也和原理不一样了,比如 IE 4.0为第三方开发人员提供了一种向右键单击菜单添加条目的方法。而在之前,浏览器没有为用户提供任何自定义浏览器的机制。

从这时起,工具栏、插件和扩展提供的功能范围开始扩大。自从这些令人兴奋的功能出现以来,截至目前,市场上已经出现了几种浏览器功能自定义模型,比如Internet Explorer的ActiveX和Netscape Plugin API这样自定义界面,还有就是供用户自己选择的工具栏。

crx1.png

谷歌浏览器目前是世界上使用最广泛的浏览器,超过60%的用户使用Chrome浏览器。从一开始,Chrome就专注于开发安全的浏览体验,并对浏览器生态系统进行了众多改进,例如push to drop Flash

与所有通过扩展支持第三方可扩展性的浏览器一样,应用时的安全体验可能最具有挑战性。扩展可以在浏览器的上下文中访问功能强大的功能,因此,有时这种功能会被恶意使用者滥用。不仅会有完全恶意的扩展,而且合法的、良性的扩展如果具有易受攻击的Javascript,用户也会无意中加载页面上的恶意内容,触发攻击。用户访问的网站本身可能是合法的,但最终仍有可能成为网络攻击的媒介。

此外,与当今许多其他类型的软件一样,扩展开发人员通常使用第三方库来构建扩展。这些第三方库会定期更新以解决安全漏洞,但扩展开发人员需要确保这些更新包含在扩展中。如果具有已知安全漏洞的过时库在扩展中持续存在,则这些漏洞可能会被访问的站点上的恶意代码利用。

Chrome扩展程序权限模型的使用前提是要求用户批准使用权限,通常情况下,人们会毫不迟疑地向这些扩展程序授予权限。由于授予扩展所需权限的机会首先出现在安装工作流中,因此谨慎的企业安全团队希望在允许用户完成安装流程之前评估每个扩展的安全性。不过要做到这点并不是很现实,因为安全团队需要具备几乎无限的能力,才能对每个扩展进行彻底调查。

即使安全团队已对扩展的安全性进行了检查和审批,其功能也会随着时间的推移而发生变化,而这些功能的变化通常是不会再做另行通知的。这种情况就会导致一种攻击,即恶意第三方可以通过从开发人员那里购买扩展,或者破坏开发人员的帐户来获得对扩展的控制权。这样第三方就可以添加恶意代码并将新版本推送给现有用户,而不会触发新的安全审查。对于大多数安全团队来说,手动检查组织域中允许的每个扩展更新,这是不现实的。

所以更现实的办法是在安装Chrome扩展程序的请求“ChRome eXtension”时,有一套自动检测服务,来保证对它们进行安全过滤,这也就是CRXcavator出现的理由。

CRXcavator的工作原理

扩展请求的权限集可以很好地帮助检测者设置他们需要关注的内容,因此CRXcavator是在了解可用于请求扩展的各种权限的含义的基础上构建的。开发人员已经为每个权限分类并分配了一个客观的风险评价体系,以帮助安全团队在分类扩展分析时使用一个度量标准。

但是,正如我们上面所讨论的,仅凭权限不足以完全理解扩展的安全属性。 CRXcavator通过从其他几个角度评估扩展来解决这个问题,这些属性包括:

1. 构建扩展代码可能向其发出外部请求的站点列表,这些站点可能会上传用户数据或下载其他恶意代码;

2.使用RetireJS分析第三方Javascript库的漏洞;

3.分析扩展的内容安全策略(CSP)以识别扩展可以与哪些域通信。具体来说就是根据VirusTotal(一个提供免费的可疑文件分析服务的网站),ThreatExchange(Facebook于2月11日推出一个新的社交网络平台)和SSL Labs(全球知名的HTTPS网站检测工具)等威胁情报源检查CSP允许的域;

4.列出外部包含的JavaScript文件,并允许用户在报告中查看其源代码;

5.扫描潜在危险的函数和可能的“入口点”,因为攻击者可以利用代码中可能存在的潜在危险的输入内容;

6.如果开发人员提供了扩展元数据,则包括扩展元数据,例如用户数量以及指向其隐私策略和支持页面的链接;

7.识别Chrome网络商店(Chrome Web Store)里的相关扩展程序,以便在请求的扩展程序看起来风险太大时,向用户提出是否继续安装的建议。

通过分析所有相关的扩展属性,CRXcavator报告就可以使安全运营分析师能够就是否允许或阻止扩展做出明智的决定。

为了验证CRXcavator是否向理论上所讲的那么完美,最近Duo 实验室的研究人员使用CRXcavator扫描了整个Chrome网络商店,Chrome网络商店有超过1.8万个项目,其中包括扩展程序、主题和Chrome应用程序(都是可以直接从Chrome网络商店下载的独立Web应用程序)。研究人员最终分析并扫描了120463个Chrome扩展和应用程序的源代码。他们查看了用户请求的权限扩展、扩展与哪些外部域通信;扩展是否使用了易受攻击的库;它们是否访问了OAuth2数据;是否检查了内容安全策略(CSP)头以及扩展是否列出了关于其隐私策略或作者的任何信息。其中,有超过三分之一的Chrome扩展要求用户允许访问和阅读他们在任何网站上的所有数据。

为了确保分析人员有足够的资源来运行复杂的分析,CRXcavator被构建为一个服务平台。分析人员可以使用AWS Lambda(“可简单创建Lambda函数、无需管理的计算平台)高速处理整个Chrome网络商店存储的扩展,这些Lambda函数提供的数据库可以保证是最新的。

通过分析我们扫描的扩展的属性,我们开始从越权、不完整或破坏的CSP和开发人员行为(如配置可选元数据)的角度深入了解Chrome网络商店生态系统的实际情况。

对Chrome网络商店的扩展进行深度安全检测

最近谷歌在提高网络商店安全性方面进行了重大改进,他们将给予用户对主机权限的控制,同时还改进了用户的扩展审核流程。 Google最近讨论了对其扩展审核流程的改进,这肯定会提高恶意扩展的门槛。 CRXcavator可以弥补谷歌所规定的官方安全性标准与用户或企业根据自己的个人风险偏好认知之间的缺口,让用户自己决定是否安装。

我们在上面讲过,Duo实验室的研究人员在2019年1月扫描了120463个Chrome扩展程序和应用程序,发现许多开发人员并未始终如一的确保其第三方库的安全性,将用户数据的访问权限降低到扩展功能所需的最低限度,也没有提供有关扩展对隐私影响的安全提示。

调查还发现,Chrome网上商店列出的120463个Chrome扩展中,目前,102029 (84.7%)个扩展没有列出隐私策略,93080(77.3%)个扩展没有列出支持站点。还有就是38289个扩展(31.8%)扩展使用了包含公开漏洞的第三方JavaScript库,9%的扩展可以访问和读取cookie文件,其中一些用于身份验证操作。我们希望看到管理员的扩展(包括应用程序)得到改进的另一个领域是确保隐私策略和支持站点是可用的,并且容易访问。这些简单的评估,将极大地提高管理员评估扩展的安全性和透明性。

在我们分析时支持内容安全策略(CSP)的网上商店中的9.5万个扩展中,我们发现74403(78.3%)个扩展没有定义CSP,除此之外,94059(99%)个扩展在CSP中没有定义default-src或connection -src。开发人员可以使用CSP的这些部分限制扩展可以访问的外部资源,以及监控扩展可以收集到的数据发送到何处。

CRXcavator会持续扫描整个Chrome网上商店,使分析师能够比以往更轻松地查看并了解其组织允许或正在考虑安装的扩展程序。 

对企业而言,他们会对CRXcavator中包含的所有扩展分析功能感到兴奋。由于CRXcavator能够支持企业级default-deny或explicit-allow扩展策略,因此CRXcavator拥有大量现成的企业特性。该平台的用户可以创建帐户并将自己链接到一个组。企业可以使用这些组来管理其Chrome扩展许可列表,设置威胁情报密钥等。一旦组织导入了允许的扩展,管理员就可以导航到仪表板页面,查看他们的最高风险和最近更新的扩展。

CRXcavator不仅可以帮助组织管理他们的扩展许可列表,还可以帮助他们了解目前在整个团队中使用的扩展。在部署了助手CRXcavator Gatherer Chrome扩展程序后,客户端将发送有关正在使用的特定扩展和版本的数据,并将其与已登录到浏览器中的用户绑定。这使组织能够确切地知道正在使用哪些扩展,谁在使用它们以及用户的扩展为组织带来了多大的风险。CRXcavator Gatherer本身作为一种Chrome扩展程序,以在任何允许Chrome安装扩展的操作系统上工作,例如macOS,Windows和ChromeOS。

与其他桌面操作系统相比,CRXcavator的扩展分析功能与G Suite(google企业版管理系统)中的强制控制功能相结合后,使企业能够更轻松地在应用程序许可列表安全方面实现更好的作用。

CRXcavator Gatherer的缺点是默认情况下拒绝扩展,以及使用许可列表的响应请求和分析扩展要花费很长的时间。为了克服这个缺点,研发人员在CRXcavator Gatherer中开发了另一项功能:用户扩展请求。当用户访问其域中尚未列入白名单的扩展程序的安装屏幕时,会显示一条通知,告知他们该扩展程序需要获得批准,此时,他们就可以“单击此处”进行请求。

crx2.png

然后,他们将被转到另一个页面,在那里他们可以输入他们的业务理由并请求批准。此时请求将发送到CRXcavator中的一个组,管理员可以在该工具中查看这些请求并审核。为了与票务队列(ticket queues)和聊天平台的灵活集成,CRXcavator还可以将请求发布到管理员选择的webhook。

在现代安全工具方面,实现检测的自动化是必须的,这就是为什么Web前端中的所有内容都基于向所有用户公开的相应API。

总结

CRXcavator可以帮助用户、企业和开发人员改善他们的Chrome扩展安全。

duo-security-infographic-crxcavator.png

本文翻译自:https://duo.com/blog/crxcavator如若转载,请注明原文地址: http://www.hackdig.com/03/hack-54516.htm
知识来源: https://www.4hou.com/web/16568.html

阅读:55472 | 评论:0 | 标签:Web安全 Chrome

想收藏或者和大家分享这篇好文章→复制链接地址

“CRXcavator——让Chrome扩展更安全”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

关注公众号hackdig,学习最新黑客技术

推广

工具

标签云