打开微软Edge浏览器,你所有的密码——包括2021年后再也没登录过的网站——会在内存中以明文形式静静躺着,直到你关闭浏览器。安全研究员Tom Jøran Sønstebyseter Rønning今年4月29日在Palo Alto Networks挪威的"BIG Bite of Tech"会议上披露了这一发现。5月4日,演示视频发布在LinkedIn上,数小时内获得数千次互动,随后被Cybernews、DarkReading、SANS Internet Storm Center等多家安全媒体跟进报道。

微软的回应很干脆:这是"设计使然"。Edge团队通过媒体渠道表示,该行为是"by design";访问相关内存需要设备在管理员或SYSTEM级别被入侵;相关权衡在于"性能、可用性和安全"之间;公司不认为这是一个需要修复的安全问题。

打开网易新闻 查看精彩图片

这个设计到底哪里不对劲?需要对比Chrome的做法才能看清。Edge基于Chromium,但在这个关键架构上走了不同的路。Chrome采用延迟解密:密码库在用户配置文件中保持加密状态,直到特定凭证被需要时才解密——自动填充或密码显示的那一刻。解密后的值只在操作期间存在于内存中。

Edge则完全相反。浏览器启动时,所有保存的凭证被批量加载到msedge.exe进程并集体解密。从启动到关闭,整个密码库以明文形式驻留在进程内存中。用户是否访问对应网站无关紧要,凭证无论是否需要都被解密。这不是延迟加载,是急切、完整、静默的全量解密。

微软的立场在自身逻辑内是自洽的:如果攻击者已经拿到管理员权限,游戏早就结束了。但这个框架漏掉了一层现实——内存泄露的途径不止于完整的系统入侵。恶意扩展、有漏洞的渲染进程、侧信道攻击,都可能在不触及SYSTEM级别的情况下读取进程内存。Edge的设计把攻击面从"需要时解密"扩展到了"全程可读"。

更微妙的是用户预期落差。浏览器密码管理器的界面承诺的是"保险箱"隐喻:输入主密码(或生物识别)才能查看。但技术现实是,一旦Edge启动,保险箱的门就敞开着,只是用户看不见。这种"表面安全"与"架构暴露"的错位,正是安全社区反应强烈的原因。

这不是Edge第一次在安全设计上引发争议,但可能是第一次把"性能优先"的权衡如此赤裸地暴露在用户面前。当微软说"平衡"时,实际的天平倾向哪一边,现在看得很清楚。