安全存储Firefox附加组件?

时间:2014-04-29 13:20:21

标签: security firefox-addon storage

根据我对Firefox附加组件的理解,恶意Firefox附加组件的概念不是其威胁模型的一部分。在这种情况下,如果Firefox附加组件想要从用户的浏览器窃取信息,则它不提供安全性。这与其他浏览器(如Chrome)相比较,后者对不同的扩展程序进行沙盒化。

如果这是真的,我的问题是你如何建议为firefox附加组件做某种安全存储?加载项是否可以访问其他附加组件的信息?使用密码管理器存储用户密码的副本。

我的想法与某种密钥派生函数有关,该函数会提示用户输入其凭据以解锁信息。

编辑:还想知道Mozilla SDK API如何解决这些问题:https://developer.mozilla.org/en-US/Add-ons/SDK/High-Level_APIs/simple-storage

2 个答案:

答案 0 :(得分:5)

你是对的,Firefox附加组件运行时具有与应用程序本身相同的权限,这意味着创建安全障碍远非微不足道(对于Chrome扩展,它也不是一件容易的事情,而是以更微妙的方式)。

最接近安全数据存储的是login manager - 如果用户定义了主密码,那么存储在那里的数据就会被加密。任何Firefox扩展都可以读取存储密码的文件,但在不知道主密码的情况下解密它目前被认为是不可能的。这里的弱点是密码提示:

  • 为了使这些密码提示不那么烦人,提示只显示一次。之后,任何扩展都可以访问数据而不会触发新提示。
  • 扩展程序可以很容易地伪造主密码提示以及它出现的合理原因 - 像这样的社交工程攻击很少会失败。
  • 但扩展程序甚至不必变为活动状态,它只需等待密码提示单独出现即可。然后它所要做的就是记住输入的密码。

存在您的困境:您的扩展程序可以加密数据以使其更难检索。但是,您仍然需要向用户查询为恶意扩展提供攻击点的密码 - 此密码提示必须发生在恶意扩展的范围之外。即使你设法做到这一点,理论上,恶意扩展可以简单地用操作的副本替换你的扩展,该副本将在输入密码后发送数据。

总结一下:不,你无法抗拒恶意扩展。用户安装恶意扩展程序的那一刻,您已经丢失了。然后,您唯一的选择是运行具有管理员权限的服务,该管理员权限将管理数据,Firefox扩展和Firefox本身无法访问。即便如此,您仍然需要弄清楚如何使用这些数据,使其无法被恶意扩展程序截获。

这就是为什么addons.mozilla.org上的所有扩展都必须经过审核流程并且强烈建议不要安装未审核的扩展名的原因。

答案 1 :(得分:4)

只是想要注意Chrome存储也不安全,只是在一个扩展试图访问其他扩展数据时受到一定限制。 (因为评论有点太长,所以请回答)。

  • 其他流程通常能够很好地访问Chrome用户数据,其中包括扩展数据以及您在其中放置的任何敏感内容,例如密码。
  • Chrome扩展程序也可能会访问(并因此窃取)大量Chrome用户数据,这些数据大多无忧无虑,例如cookies / localStorage ......
  • Chrome扩展程序可能会截取请求(chrome.webRequest)并直接从请求中提取数据或篡改请求。
  • 或执行更高级的社交工程/网络钓鱼攻击,让用户运行一个完整的恶意软件,然后完全摧毁系统及其上的所有数据。与替换合法网站中的软件下载链接一样,或使用chrome.downloads ...

因此,Chrome扩展程序/ Chrome沙盒不会保护您的数据免受恶意软件攻击,并且只能保护您的数据免受Chrome扩展程序恶意软件的攻击。<​​/ p>