你刚打开浏览器,还没输过任何密码,所有保存的账号已经躺在内存里等着被偷——微软说这是正常设计。
场景:一次意外的发现
安全研究员汤姆·罗宁(Tom Rønning)在分析浏览器行为时,注意到一个反常现象:Microsoft Edge启动瞬间,会把用户保存的所有密码批量解密,以明文形式载入内存,并全程驻留直到浏览器关闭。
这意味着什么?哪怕你整个上午只刷新闻、看视频,从未登录任何网站,你的银行密码、邮箱密码、社交账号密码都静静躺在设备内存中,完全暴露。
罗宁向微软报告了这一行为。微软的回复很干脆:这是设计如此(working as intended)。
正方:微软的"快速登录"逻辑
微软对CyberNews的声明解释了设计初衷——为了帮用户快速登录。预加载全部密码,能在用户访问网站时瞬间完成自动填充,省去实时解密的延迟。
微软还提出了一个技术辩护:要利用这个漏洞,攻击者必须先获得设备的最高管理权限(administrative access)。
这个说法在技术上成立。安全专家普遍认为,一旦攻击者拿到管理员权限,系统本身已经沦陷,浏览器怎么设计都挡不住。从这个角度看,Edge的行为确实不构成"额外"风险。
罗宁的测试也部分支持微软的立场。他对比了多款基于Chromium内核的浏览器,发现Edge是唯一采用"全量预加载"策略的产品,但其他浏览器在特定场景下也存在内存暴露窗口——只是窗口更短而已。
反方:内存攻击的真实战场
网络安全从业者提出了不同看法。现代信息窃取型恶意软件(infostealer malware)的进化方向,正是瞄准"加密存储到运行时暴露"这个时间差。
攻击者不需要永久控制你的设备。他们只需要在密码存在于内存的窗口期内,成功读取一次内存即可。Edge把这个窗口从"用到时才打开"变成了"从启动开到关闭",客观上扩大了攻击面。
对比Chrome的做法更能说明问题。Chrome采用两种机制:一是按需解密,密码只在自动填充瞬间才从加密状态转为可用;二是应用绑定加密(Application-Bound Encryption),把解密密钥与经过身份验证的Chrome进程绑定,大幅提升从内存提取数据的难度。
Edge两项都没有。
罗宁的测试数据很直接:Edge是唯一在启动时就加载全部明文密码的Chromium浏览器。这不是"大家都一样"的问题,是Edge独有的设计选择。
我的判断:便利与安全的权衡失衡
微软的辩护有合理成分,但回避了核心问题:为什么其他浏览器能在相近的响应速度下,实现更严格的内存保护?
Chrome的按需解密并未显著拖慢自动填充体验,应用绑定加密也没有引发兼容性灾难。Edge选择全量预加载,更像是在安全工程上偷懒,而非真正的技术 necessity。
"管理员权限才能利用"的论点同样站不住脚。现代攻击链条中,内存读取往往是权限提升的前置步骤,而非结果。恶意软件先在用户权限下存活,再伺机读取内存中的敏感数据,最后完成提权。Edge的设计恰好给这个链条提供了优质燃料。
更值得玩味的是微软的回应姿态。安全研究员报告问题,得到的不是技术讨论,而是"设计如此"的关闭。这种沟通方式本身,比技术选择更能说明企业对用户安全的态度优先级。
该怎么办
安全专家的建议出奇一致:彻底停用浏览器的密码保存功能,迁移到专业密码管理器。
密码管理器通常采用主密码或生物识别验证,仅在用户主动调用时解密特定条目,内存暴露窗口被压缩到最小。部分产品还提供内存混淆、反调试等额外防护层。
这不是Edge独有的问题。所有浏览器内置的密码管理功能,本质上都是便利优先的妥协方案。但Edge把这个妥协推到了新高度——用"全程明文驻留"换取毫秒级的填充速度。
如果你暂时无法切换,至少关闭Edge的自动保存密码功能,定期清理已保存条目,并配合系统级的全盘加密和内存保护机制。这些措施不能解决根本问题,但能缩小攻击窗口。
微软说会关注用户反馈,但尚未承诺任何改动。在官方调整之前,用户只能自己权衡:那点登录速度的提升,值不值得把所有密码摊在桌上等人来拿。
毕竟,小偷进门时,没人希望自己的钥匙已经串好挂在门把手上——哪怕你说"只有主人能开门"。
热门跟贴