Microsoft Edge 将密码以明文存入内存

ZDNET AI··作者 Lance Whitney

关键信息

Rønning 表示,Edge 会在启动时解密所有已保存的凭据,并将它们一直保留在进程内存中,即使用户从未访问过需要这些凭据的网站也是如此。他还指出,Chrome 的行为不同,只会在需要时才解密凭据,而且这个问题似乎只出现在 Edge 中使用的 Microsoft Password Manager。

资讯摘要

ZDNET 报道称,一名研究人员发现,当 Microsoft Edge 被用作密码管理器时,它会把已保存的密码以明文形式存放在 RAM 中。研究员 Tom Jøran Sønstebyseter Rønning 在社交媒体上解释说,Edge 会在启动时解密每一条已保存的凭据,并将它们持续驻留在进程内存里。为了证明这一点,他还发布了演示视频,并在 GitHub 上公布了名为 EdgeSavedPasswordsDumper 的代码。根据他的测试,即使用户从未访问过使用这些凭据的网站,明文密码也会已经存在于内存中。与此同时,Edge 在密码管理器界面中显示这些密码之前,又要求用户重新认证。

微软确认了这一行为,并表示这是预期中的功能,理由是浏览器需要在内存中访问密码数据,才能帮助用户快速且安全地登录。微软还称,只有在设备已经被入侵的情况下,这才会构成风险,并建议用户及时安装安全更新和杀毒软件。Rønning 认为,这类攻击需要攻击者先获得管理员权限,才能读取已登录用户进程的内存。与此同时,他表示自己测试过的 Chromium 系浏览器里,只有 Edge 这样工作,而 Google Chrome 只会在需要时才解密凭据。文中还有评论者提出,密码其实可以在内存中保持加密,只有在真正登录时短暂解密后立即清除;一位安全顾问则批评明文内存存储违背了最小权限、零信任和安全设计原则。

Microsoft Edge 将密码以明文存入内存

资讯正文

关注 ZDNET:将我们添加为 Google 的首选来源。ZDNET 的重点结论

Microsoft Edge 会在 RAM 中以明文形式存储你的密码。

如果你把 Edge 当作密码管理器,就会出现这种行为。

微软表示,这种行为是一个特性,而不是漏洞。

你会用 Microsoft Edge 保存和管理网站密码吗?如果是,那么一项新的发现就让你对所存密码的安全性和保护方式产生疑问。

一名安全研究人员发现,当你使用该浏览器管理密码时,Edge 会在内存中存储你的明文密码。研究员 Tom Jøran Sønstebyseter Rønning 在一条社交媒体帖子中解释了这一过程,并发布了一段演示视频。

另外:木马滥用 Microsoft Phone Link 应用窃取你的密码

Rønning 说:“当你在 Edge 中保存密码时,浏览器会在启动时解密每一项凭据,并将它们保留在进程内存中。即使你从未访问过使用这些凭据的网站,也会发生这种情况。与此同时,Edge 要求你在 Password Manager 界面中重新验证身份,才能显示同样的密码——但浏览器进程此时已经把它们全部以明文形式保存了。”

微软称这是预期中的特性

在 GitHub 上,Rønning 发布了他用来检测这一行为的代码。该代码名为 EdgeSavedPasswordsDumper,演示了通过 Microsoft Password Manager 存储在 Edge 中的任何凭据,都会以明文形式保存在 Edge 进程内存中。

微软在提供给 ZDNET 的声明中承认了这一行为,但表示这是一项预期中的特性,只有在你的设备已经被入侵的情况下才会构成风险。

微软发言人在声明中说:“按照所述情景,访问浏览器数据需要设备本身已经被入侵。在这一领域的设计选择,需要在性能、可用性和安全性之间取得平衡,我们也会持续根据不断演变的威胁进行审查。浏览器会访问内存中的密码数据,以帮助用户快速且安全地登录——这是该应用的预期功能。我们建议用户安装最新的安全更新和杀毒软件,以帮助防范安全威胁。”

另外:可以在不丢失任何登录信息的情况下切换密码管理器——而且我可以证明这一点

微软关于你的设备本来就必须先被入侵的说法似乎是成立的,至少从 Rønning 的测试来看如此。正如视频所示,这一过程的前提是攻击者已经攻陷了一个拥有管理员权限的用户账户,进而获得对所有已登录用户进程内存的访问权限,从而可以查看这些明文密码。

Rønning 说,Edge 是他测试过的唯一一款具有这种行为的基于 Chromium 的浏览器。相比之下,Google Chrome 只会在需要时解密凭据,而不是始终把所有密码都保留在内存中。Rønning 补充说,Chrome 的设计使攻击者仅靠读取设备内存就提取已保存密码变得困难得多。到目前为止,这一弱点似乎只存在于 Edge 中使用的 Microsoft Password Manager。

“尽管 Edge 是基于 Chromium 的,但我测试过的其他所有基于 Chromium 的浏览器都没有使用 Microsoft Password Manager 来存储密码和自动填充数据,”Rønning 说。“而且我怀疑这和 Chromium 有关系吗?”

另外:这 5 项关键的 Windows Defender 设置默认是关闭的——请尽快将它们打开。如果 Google 能更好地保护自己的浏览器,避免在内存中暴露明文密码,那么微软难道不能也做到同样的事吗?针对 Rønning 的帖子,另一位人士表示,凭据可以以加密格式存储在内存中。只有在需要登录网站时才会解密,随后立即清除。

安全提供商 BeyondTrust 的首席安全顾问 Morey Haber 对 ZDNET 表示:“从防御的角度来看,将密码以明文存储在内存中,违反了最小权限、零信任和安全应用设计的原则。这实在是一个糟糕的主意。如果密码能被人类或恶意进程从内存中读取,那么它就不再是受保护的秘密。通过在本就不安全的介质中进行明文存储,它在原则上已经受到损害。”

使用浏览器内置密码管理器的隐患

除非微软决定改变其密码管理器的工作方式,否则如果你把 Edge 作为默认浏览器来管理密码,该怎么办?我的建议是改用专门的第三方密码管理器。没错,使用浏览器内置的密码管理器看起来快捷又方便,但除了这次曝光的问题之外,它还有一些隐患。

如果有人通过你的密码、PIN 码或通行码获取了对你的 PC 或移动设备的访问权限,他们就可以启动浏览器,并用同样的方法查看你的密码。我在一台 Windows PC 上只用 PIN 码做了测试,成功访问到了 Edge 中的明文密码。一个好的第三方密码管理器在查看密码时通常需要更强的身份验证。

另外:最佳密码管理器:经专家测试

内置密码管理器只适用于对应的那个浏览器。你可以把 Edge 设为默认浏览器,但有时也可能会改用 Chrome 或 Firefox。在这种情况下,你保存的密码就无法使用了。我个人和工作中都在使用 Firefox、Chrome 和 Edge,所以我的密码需要能在这三者之间都可访问。

希望微软会把这视为一个安全漏洞,并采用 Chrome 和其他浏览器所使用的相同方式,只在需要时才解密密码。在那之前,我不建议把 Edge 当作你的密码管理器。

来源与参考

  1. 原始链接
  2. Why Edge stores your passwords in plaintext, according to Microsoft