安全存储Firefox附加组件?

Liz*_*eth 2 security storage firefox-addon

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

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

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

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

Wla*_*ant 5

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

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

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

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

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

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