当前位置: 首页 > 科技观察

Firefox新安全机制:插件签名机制

时间:2023-03-22 15:20:57 科技观察

根据NetMarketShare的数据,2016年8月,Firefox占全球市场份额的7.69%,仅次于Chrome和IE,排名第三。可见Firefox是一款比较流行的浏览器,那么Firefox浏览器的开发者在安全方面做了哪些努力呢?下面,笔者将详细介绍Firefox浏览器的新安全机制——附加组件签名机制,以帮助用户更好地理解和使用Firefox。历史版本Firefox自2002年诞生以来,其版本更新非常迅速。图1显示了其稳定版本的更新。截至2016年9月23日,最稳定的版本是49.0.1。图1Firefox历史版本插件签名机制1.什么是插件Add-on是一种应用程序,允许用户通过添加附加功能或样式来对Firefox进行个性化设置,包括扩展、外观、插件、服务、等在Firefox中访问地址about:addons查看(如图2)。图2Firefox附加组件然而,任何事情都有两个方面。插件在为用户提供便利的同时,也带来了一定的风险。比如一些插件会篡改浏览器设置或者窃取用户信息,还有一些会在网页中注入广告等等,现在这样的情况越来越普遍。因此,必须有措施更好地管理附加组件。2.插件黑名单为了更好的保护用户的安全,Mozilla维护了一个插件黑名单。已知会导致Firefox稳定性或安全问题的附加组件(扩展、主题和插件)将被放入“阻止列表”(Blocklist,如图3所示)。图3插件拦截列表插件黑名单系统已经拦截了很多恶意插件,但是仍然存在一些问题,比如:如何保证新插件的安全性?如何保证第三方插件的安全?等等,插件的签名机制应运而生。3.附加组件签名机制为了更好地管理附加组件,Mozilla根据一套安全准则对附加组件进行验证和“签名”,需要签名的类型包括扩展。接下来笔者就来谈谈这个签名机制在Firefox中是如何发展起来的。3.1标记阶段从Firefox40(Firefox40–42)开始,未签名的扩展将被标记。如图4所示,Firefox40提示用户有道取词插件未通过Firefox的验证。图4Firefox40提示用户未签名的扩展此时,如果用户选择禁用该扩展,情况就会变成如图5所示:图5在Firefox40中,用户禁用未签名的扩展。这样可以防止一些恶意扩展,但是需要用户的配合,意味着需要用户手动禁用未签名的扩展,这无疑需要很高的安全意识和对Firefox的熟悉程度。3.2禁用阶段从Firefox43(Firefox43–47)开始,未签名的扩展将被直接禁用。图6显示有道取词未签名扩展在Firefox47中被直接禁用。对比图5和图6,最显着的区别是在Firefox43中(如图6所示),用户无法直接从界面中启用已禁用的未签名扩展。图6Firefox47禁用未签名扩展此时Firefox默认禁用未签名扩展,没有“启用”选项。与Firefox40-42的标记方式相比,这将大大提高插件的安全性。然而,这是万无一失的吗?强制关闭附加签名机制虽然Firefox从43版本开始就禁用了未签名的扩展,但是对于Firefox43-47版本,用户可以通过修改Firefox的默认配置来强制关闭签名机制。手动关闭Firefox的签名机制如图7,在Firefox地址栏访问“about:config”,点击“我保证会小心”进入用户个人配置界面,双击“xpinstall.signatures.required”"将其设置为"false"(默认为true),此时签名机制被关闭。图7.用户强行关闭Firefox插件签名机制。修改Firefox配置文件,关闭签名机制。以Windows7为例,在“C:\Users\用户名\AppData\Roaming\Mozilla\Firefox\Profiles\xxxxxxxx.default\”路径下(路径中的xxxxxxxx.default为浏览器随机生成的用户配置文件标识安装Firefox时),找到用户配置文件prefs.js,根据其格式添加语句"user_pref("xpinstall.signatures.required",false);"强制关闭签名机制。Firefox签名机制被强制禁用后,查看扩展状态,发现未签名的扩展只会被标记和启用(类似于Firefox40-42版本),如图8所示,但其功能是正常的,然后给出黑客的机会。图8强行关闭Firefox47插件签名机制后,被禁用,没有加载。从Firefox48开始,未签名的扩展将被禁用,不再加载。换句话说,即使在修改Firefox的默认配置(即将“xpinstall.signatures.required”设置为“false”)后,未签名的扩展始终处于禁用状态,如图9所示。图9在Firefox48.0.1中,当“xpinstall.signatures.required"为"false",未签名的扩展仍然被禁用。但是笔者在Firefox扩展的默认安装路径(C:\Users\用户名\AppData\Roaming\Mozilla\Firefox\Profiles\xxxxxxxx.default\extensions)下找到了禁用扩展的包,如图10所示,这还有风险吗?笔者能力有限,没能一探究竟。希望各界大神不吝指点。图10禁用的扩展仍然存在。总结火狐浏览器的插件机制极大地丰富了其功能,提升了用户的浏览体验,但也存在一系列的安全问题。为此,Mozilla维护了一个插件黑名单,并逐步加入插件签名机制,强制禁用未签名的扩展,提高插件的安全性。但是,这并不意味着用户的安全得到完全保障。广大用户还应提高个人安全意识,不断了解和使用各种安全机制,以确保更好的浏览器安全性。