微软Edge浏览器最近调整了一项引发争议的设计,不再在启动时将保存的密码以明文形式加载到内存中。
此前安全研究人员Tom Jøran Sønstebyseter Rønning公开披露,微软Edge浏览器会在启动时把所有已保存的账号密码以明文形式直接加载到内存里。他之所以公开这个问题,是因为微软不认为这是漏洞,也没打算给安全研究人员发漏洞奖励。
这件事其实并不让人意外,因为谷歌以前也犯过类似的错误。谷歌和微软的核心逻辑都是:如果攻击者已经能控制设备,那其他安全防御措施基本就失效了,所以通过恶意软件读取内存里存着的账号密码,本身就不在他们考虑的安全模型范围内。
不过微软还是准备改进了。微软团队在博客里表示,会根据研究人员披露的问题对Edge浏览器进行改进,改进后不会再在启动时把密码加载到内存中。这项深度防御措施会覆盖所有版本,包括各个频道的测试版、正式版以及面向企业的扩展稳定版。目前这项改进已经被微软列为优先事项,在已经发布的Edge金丝雀版里,浏览器启动后不会再加载密码到内存了。等到Edge v148.0正式版发布后,用户正常更新就能获得这项改进。
那为什么微软最初觉得这不是漏洞呢?谷歌和微软的核心考虑都是设备本身的安全性才是关键。在这个案例中,研究人员披露的问题需要通过恶意软件获得管理员权限并在本地运行来读取内存数据,这种利用方式有两种场景:一是恶意软件已经能拿到管理员权限运行,二是在共享使用的设备上,管理员账户可以读取其他非账户的数据。
微软表示,研究人员报告的场景前提都是攻击者能够控制设备。在攻击者能在本地运行不安全软件的情况下,浏览器或任何应用程序的防御能力都无法应对。微软密码管理器的威胁模型明确指出,物理上的本地攻击和以提升权限运行的恶意软件不在考虑范围内。微软还强调,相关利用场景并不是攻击者通过浏览器直接拿到数据,所以从浏览器的角度来说,这没有任何问题。
至于为什么不给研究人员发奖金,微软解释说,他们在浏览器安全方面采用的是和Google Chromium开源项目相同的安全标准。既然认定这是无效的漏洞报告,自然就不会提供漏洞奖金。不过,因为漏洞报告和研究人员的沟通流程确实存在问题——比如这次的安全缺陷其实可以被归类为“改进”而非“漏洞”——微软表示将重新审视处理研究人员报告的方式,后续会公布这方面的经验教训和正在进行的流程改进。





