谷歌项目的研究人员纯粹的单位,致力于在软件中查找安全漏洞,于2017年11月在Microsoft的Edge浏览器中报告了漏洞,但它仍未被修补。
Project Zero有一个有争议的政策,给出软件生产商90天修复其研究人员在公开之前找到的任何漏洞,以确保迅速的回应。
11月,项目零研究人员发现了一个缺陷,如果被剥削,可以使攻击者绕过Microsoft的任意代码警卫(ACG)来注入和执行恶意代码。
ACG和Code Integrity Guard(CIG)是Microsoft对大多数现代浏览器利用尝试将内存安全漏洞转换为在目标设备上运行任意本机代码的方法的事实的响应。
虽然CIG允许只允许正确签名的图像加载,但ACG旨在防止内容过程从内存中创建和修改代码页面,但随着项目零研究人员指出,实现ACG,Edge使用单独的过程 - 在时间(JIT)编译。
此JIT过程还负责将本机代码映射到请求内容过程中。这是通过使用CreateFileMapping()创建共享内存对象来实现的。使用MapViewOffile2()将此对象映射为Page_readWute_Read和JIT进程中的JIT进程。
此时内存保留,但尚未提交。当需要写入inpidual页面时,首先使用VirtualAllocex()分配。这也标志着提交的内存。
但是如果内容进程损害并且内容进程可以预测要在哪个地址JIT进程调用VirtualAllocex()下一步,这是根据项目零的“相当可预测”,内容过程可以联络,分配可写的内存同一地址上的内存区域JIT服务器将写入,并在那里写一个即将可执行的有效载荷。
当JIT进程调用VirtualAllocex()时,即使已经分配了内存,调用将成功,并且根据项目Zero的研究人员,该呼叫将设置为page_execute_read。
虽然项目归零将威胁分类为“媒体”,但研究人员已经表明它可以利用绕过ACG并在内存中创建可执行文件。
微软被赋予标准的90天时间,为漏洞发出安全补丁,但由于解决问题所涉及的复杂性,截止日期为期14天的延长。
但是,在Microsoft错过了这段延长的截止日期后,Project Zero公开了,并且未能在其2月的安全更新中发出补丁。
据报道,微软希望在下次每月安全更新版本到期时,将推出修补程序以修复此问题。
在软件供应商发出补丁之前,Project Zero过去已经泄露了泄露漏洞。批评者表示,该政策公开了受影响软件的用户不必要地攻击。
微软始终如一地为研究人员展示漏洞,仅向软件供应商披露漏洞,并表示向供应商的“负责任披露”而无需进一步披露,有助于确保客户在网络犯罪分子之前获得全面,高质量的更新,了解 - 并努力利用漏洞。
版权及免责声明:凡本网所属版权作品,转载时须获得授权并注明来源“科技金融网”,违者本网将保留追究其相关法律责任的权力。凡转载文章,不代表本网观点和立场,如有侵权,请联系我们删除。