根据我对Firefox附加组件的理解,恶意Firefox附加组件的概念不是其威胁模型的一部分。在这种情况下,如果Firefox附加组件想要从用户的浏览器窃取信息,则它不提供安全性。这与其他浏览器(如Chrome)相比较,后者对不同的扩展程序进行沙盒化。
如果这是真的,我的问题是你如何建议为firefox附加组件做某种安全存储?加载项是否可以访问其他附加组件的信息?使用密码管理器存储用户密码的副本。
我的想法与某种密钥派生函数有关,该函数会提示用户输入其凭据以解锁信息。
编辑:还想知道Mozilla SDK API如何解决这些问题:https://developer.mozilla.org/en-US/Add-ons/SDK/High-Level_APIs/simple-storage
答案 0 :(得分:5)
你是对的,Firefox附加组件运行时具有与应用程序本身相同的权限,这意味着创建安全障碍远非微不足道(对于Chrome扩展,它也不是一件容易的事情,而是以更微妙的方式)。
最接近安全数据存储的是login manager - 如果用户定义了主密码,那么存储在那里的数据就会被加密。任何Firefox扩展都可以读取存储密码的文件,但在不知道主密码的情况下解密它目前被认为是不可能的。这里的弱点是密码提示:
存在您的困境:您的扩展程序可以加密数据以使其更难检索。但是,您仍然需要向用户查询为恶意扩展提供攻击点的密码 - 此密码提示必须发生在恶意扩展的范围之外。即使你设法做到这一点,理论上,恶意扩展可以简单地用操作的副本替换你的扩展,该副本将在输入密码后发送数据。
总结一下:不,你无法抗拒恶意扩展。用户安装恶意扩展程序的那一刻,您已经丢失了。然后,您唯一的选择是运行具有管理员权限的服务,该管理员权限将管理数据,Firefox扩展和Firefox本身无法访问。即便如此,您仍然需要弄清楚如何使用这些数据,使其无法被恶意扩展程序截获。
这就是为什么addons.mozilla.org上的所有扩展都必须经过审核流程并且强烈建议不要安装未审核的扩展名的原因。
答案 1 :(得分:4)
只是想要注意Chrome存储也不安全,只是在一个扩展试图访问其他扩展数据时受到一定限制。 (因为评论有点太长,所以请回答)。
chrome.webRequest
)并直接从请求中提取数据或篡改请求。chrome.downloads
... 因此,Chrome扩展程序/ Chrome沙盒不会保护您的数据免受恶意软件攻击,并且只能保护您的数据免受Chrome扩展程序恶意软件的攻击。</ p>