浏览器插件/插件可以访问我的密码吗?

Flo*_*ock 10 security firefox google-chrome browser-addons

越来越多的浏览器扩展和插件需要访问“我的所有数据”(在 Chrome 和 Firefox 中;我不会对 Internet Explorer 发表评论)。

我想知道这些插件和插件是否有可能在我访问我的银行数据时访问它(例如),或者访问通过表单提交的数据。

插件的安全含义是什么?

Bob*_*bby 17

这篇文章仅适用于 Firefox 和 Chromium/Google Chrome。我无法对 Internet Explorer、Opera 或移动浏览器发表评论。此外,我的数学进一步向下可能是错误的,但基本思想是正确的。

当然,这是可能的,但在 Firefox 和 Chrome/Chromium 的情况下,不太可能。

我的密码(存储在浏览器中)安全吗?

这个答案是我最喜欢的答案之一:这取决于。浏览器保存的密码需要满足一个重要的条件,从安全的角度来看,这是噩梦般的条件:它们需要是纯文本或可恢复为纯文本。

明文 vs. 加密 vs. 散列

为什么那么糟糕?好吧,想象一下有人闯入服务器并窃取密码数据库。有两种可能的结果:

  1. 密码是纯文本的(或很容易逆转),因此破解者现在可以完全访问所有帐户。
  2. 密码被散列(或加密),需要对散列进行暴力攻击才能获取密码和访问帐户。即使您的用户名和密码被盗,您的帐户仍然是安全的。

由于浏览器需要能够将密码发送到网站,它不能对密码进行哈希处理,只能对其进行加密(甚至将它们存储为明文)。这是人们应该始终牢记的事情(电子邮件客户端、聊天应用程序等也是如此)。

仅仅因为它是加密的,并不意味着它是安全的

默认情况下,Firefox 允许您保存密码。它还加密它们。这同样适用于 Chromium(参见附录“好吧,这取决于...”)。这样做的问题是解密的密钥也与密码一起存储。这使得加密对于想要您的密码并且不会以任何方式阻止它们的人来说是一个轻微的不便。

然后不要将密钥与密码一起存储!

没错,为了使密码更安全,我们需要从加密的密码中取出密钥。这是在 Firefox 中通过设置一个Master Password 来完成的,然后使用它来加密和解密您的所有密码。通过使用这种技术,您可以将密钥与加密数据分开,这总是一个好主意(毕竟,您不会将前门钥匙放在门前外面的挂钩上,对吗?)。

密码的安全性取决于您制作的密码

那么,为什么我之前说您的密码现在更安全而不安全?因为现在您密码的安全性取决于您选择的密码。也就是说,密码“asdf”无论如何都不应该被认为是安全的;“12345”也不是。好的密码很,因为暴力破解它们需要相当长的时间。密码“VioletIsAnotherColor”在技术上比“D0!l4riZe”更安全,因为它的长度,尽管第二个包含特殊字符。让我们简短地看一下。

"VioletIsAnotherColor"
长度:20
可能的字符:52(26 个小写 + 26 个大写)

"D0!l4riZe"
长度:9
可能的字符:77(26 个下位 + 26 个上位 + 10 位数字 + 15 个特殊字符) 特殊字符
:!"@$%&/()=?*+#-

那么,我们需要多少次尝试破解这些密码,知道它们的字符集和长度?

"VioletIsAnotherColor"
52 20 = ~20 十亿 (~2 × 10 34 )

"D0!l4riZe"
77 9 = ~95 千万亿 (~9 × 10 16 )

正如我们所见,尽管字符集更广泛,但后一种密码比具有有限集的长密码更容易暴力破解。这是因为长度。(另一个好处是第一个更容易记住。)有关此问题的详细信息,请参阅此 IT 安全问题。

因此,如果可能,请使用密码,而不是密码

回到主题,来自欺骗插件的密码有多安全?

他们不是。这是因为插件可以访问您刚刚访问的网站。他们可以从中提取信息,包括输入的密码。插件与任何其他已安装的软件一样存在安全风险。仅安装您信任的插件。

伟大的!我怎么知道?

仅安装来自您信任的来源的插件。对于 Firefox,它是AddOns 页面,对于 Chromium,它是Chrome Web Store,或者如果您信任作者/分发者。两者都保证附加组件经过检查且安全。

无论是Mozilla的附加元件页面,也不是Chrome网上应用店都保证以任何方式,插件是安全的。他们采用自动审查流程,可能会或可能会捕获恶意插件。归根结底,仍然存在风险。

仅从信任的来源安装插件。

稍等片刻; 你刚才提到了其他安装的软件吗?

当然!没有什么可以阻止其他已安装的软件从浏览器中获取您的密码、执行中间人攻击,甚至提供欺骗您的银行网站的代理。浏览器插件也是如此。经验法则是:不要安装您不信任的软件。

结论

你应该从中得到什么?

  • 切勿安装您不信任的软件/插件/插件。
  • 如果您仍有疑问,请设置主密码。
  • 如果仍有疑问,请不要相信您的浏览器有密码,永远不要保存它们。
  • 如果仍有疑问,请不要安装任何插件/插件。
  • 如果仍有疑问,请使用无法篡改的实时系统

附录:“嗯,这取决于……”

当我了解到,我在本段中的假设并非 100% 正确,我想纠正这一点。以下信息仅适用于在磁盘上存储密码。

谷歌浏览器/铬

它实际上确实以安全的方式将您的密码保存在磁盘上,具体取决于它运行的操作系统:

微软Windows

Microsoft Windows API CryptProtectData/CryptUnprotectData用于加密/解密密码。此 API 与您的操作系统帐户密码一起使用,因此它的安全性取决于该密码。

苹果系统

MacOS 层根据当前用户钥匙串的密码生成一个随机密钥,并将该密钥添加到钥匙串中。同样,这仅与用户的密码一样安全。

Linux

嗯……不说了。

好的,如果您必须知道,它完全符合我的假设:它使用硬编码密码存储数据。为什么会这样?仅仅是因为没有通用的基础设施来处理其他两个系统的加密数据。不,我不只是说 Linux 缺乏加密系统或安全性;用户空间中有大量可用的密钥环/钥匙串和密码存储解决方案。看起来,Chrome 开发人员决定不使用其中之一。“为什么?” 不是我能回答的问题。

火狐

始终使用与密码一起存储的生成密钥。例外情况是,如果您设置了主密码,则将使用该密码。

  • @Bobby - 关于你的 `VioletIsAnotherColor` 和 `D0!l4riZe` 的密码强度。第一个在技术上*是*更强... *当您使用蛮力攻击时*。然而,另一种类型的攻击是*字典攻击*,攻击者有条不紊地遍历,而不是随机的字母和数字、字典中的单词以及这些单词的组合。`VioletIsAnotherColor` 可以在大约 12 亿种可能性内被破解。只是为了技术和所有,但值得注意的是。(无论如何+1,顺便说一句):) (2认同)