Linux 内核受到新的 SLUBStick 跨缓存攻击的影响
一种名为 SLUBStick 的新型 Linux 内核跨缓存攻击,将有限的堆漏洞转化为任意内存读写能力的成功率高达 99%,让研究人员能够提升权限或逃离容器。 该发现来自奥地利格拉茨技术大学的一组研究人员,他们演示了使用 32 位和 64 位系统中的 9 个现有 CVE 对 Linux 内核版本 5.9 和 6.2(最新版本)进行攻击,显示出很高的通用性。 此外,此次攻击可与所有现代内核防御措施(如监控模式执行保护 (SMEP)、监控模式访问保护 (SMAP) 和内核地址空间布局随机化 (KASLR))配合使用。 研究人员将展示在启用了最先进防御功能的最新 Linux 中如何实现权限提升和容器逃逸。同时,发布的技术论文包含有关此次攻击和潜在利用场景的所有细节。 SLUBStick 详细信息 Linux 内核高效且安全地管理内存的一种方法是,为不同类型的数据结构分配和取消分配内存块(称为“slab”)。 此内存管理流程中的缺陷可能允许攻击者破坏或操纵数据结构,这称为跨缓存攻击。然而,这些攻击大约有 40% 的时间是有效的,并且通常迟早会导致系统崩溃。 SLUBStick 利用堆漏洞(例如双重释放、用户释放后或越界写入)来操纵内存分配过程。 研究人员实验中成功利用的 CVE,来源:stefangast.eu 接下来,它使用定时侧通道来确定内存块分配/释放的确切时刻,从而允许攻击者预测和控制内存重用。 使用这些时间信息可将跨更改利用的成功率提高到 99%,从而使 SLUBStick 非常实用。 测量成功率,来源:stefangast.eu 将堆漏洞转换为任意内存读写原语分为三个步骤: 释放特定的内存块并等待内核重新使用它们。 以可控的方式重新分配这些块,确保它们能够重新用于页表等关键数据结构。 一旦回收,攻击者就会覆盖页表条目,获得读取和写入任何内存位置的能力。 篡改数据,来源:stefangast.eu 想要深入研究 SLUBStick 并试验格拉茨大学研究人员使用的漏洞的人可以在研究人员的 GitHub 存储库中找到它们。 转自军哥网络安全读报,原文链接:https://mp.weixin.qq.com/s/PpXosWa7BfbqqcxYzcLwhA 封面来源于网络,如有侵权请联系删除