聚焦源代码安全,网罗国内外最新资讯!
编译:代码卫士
该攻击利用的是影响英特尔、AMD、ARM和IBM处理器的漏洞 CVE-2024-2193。它适用于任何实现同步原语的操作系统、管理程序和软件或针对条件竞争的集成控制。研究人员将该攻击命名为 “GhostRace” 并在上周发布的一份技术论文中对其进行了说明。
研究人员提到,“我们的主要发现是,所有常见的同步原语都可在推断性路径中通过微体系架构绕过,将所有基于架构上竞争自由的区域转换为推断性竞争条件 (SRC)。”
正如论文中提到的那样,当两个或多个进程或线程同时试图访问共享计算资源如内存位置或文件时,就会触发条件竞争。它是造成数据损坏和可导致内存信息泄露、越权访问、拒绝服务和安全绕过的漏洞的相对常见的原因。
为缓解这一问题,操作系统厂商已在软件中执行了推断性原语,控制和同步化共享资源的访问权限。这些原语的名称为 “mutex” 和 “spinlock” 确保一次仅有一个线程能够访问或修改共享资源。
研究人员通过针对现代处理器中的推断性执行或无需处理特性,找到了绕过了这些机制的方法。推断性执行从本质而言牵涉预测某些指令的结果以及提前执行而非按照接收顺序执行的处理器。它的目的是通过让处理器在后续指令上运行,即使同时需要等待之前指令结果的情况下,加快处理速度。
推断性执行在2017年爆发,当时研究员发现可利用这一技术访问系统内存中的敏感信息如密码、加密密钥和邮件,并将这些信息用于未来攻击中。这些所谓的 Spectre 和 Meltdown 漏洞实际上影响所有现代微处理器并促使对微处理器架构进行审计。
为了帮助微处理器设计师和其它利益相关人员更好地保护处理器免受 Spectre 和 Meltdown 等漏洞的影响,MITRE 在2024年2月推出新的CWE,说明和记录了不同的微处理器弱点。
研究人员所开发的攻击依赖于条件性分支推断,类似于一种 Spectre 攻击。研究人员提到,“我们的主要发现是所有常见的(写侧)原语缺乏明确的序列化以及通过条件性分支保护重点区域。”换句话说他们发现当同步化原语使用“if”条件语句来控制共享资源的访问权限时,他们易受推断性执行攻击。
他们提到,“在敌对的推断性执行环境中,即Spectre 攻击者错误地训练了条件性分支时,这些原语本质上就像无操作指令那样行动。它会带来严重的安全影响,因为攻击者无需同步化就能推断性地执行受害者软件中的所有重点区域。”
研究人员在博客文章中指出,已将发现成果告知所有主流硬件厂商,这些厂商已通知所有受影响操作系统和管理程序厂商。所有厂商均证实了这一问题的存在。AMD 在安全公告中建议软件开发人员按照此前发布的指南抵御Spectre 类型攻击。
Linux 内核逻辑可导致主要云提供商遭 Spectre 攻击
题图:Pixabay License
本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。
觉得不错,就点个 “在看” 或 "赞” 吧~