阿姆斯特丹自由大学的一组科学家开发了一种名为 SLAM(Spectre Linear Address Masking)的侧信道攻击。
该攻击利用旨在提高新型Intel、AMD 和 Arm 处理器安全性的硬件功能,从内核内存中提取根密码哈希。
重现 SLAM 攻击所需的代码和所有数据已在 GitHub 上提供。
研究人员还发布了一份技术报告, 解释了新攻击的工作原理。
运行漏洞利用程序访问/etc/shadow并获取root密码
什么是 Spectre 线性地址屏蔽?
SLAM 依赖于处理器制造商以不同方式实现并使用不同术语来命名的内存功能。
Intel 称之为线性地址屏蔽 ( LAM ), AMD 称之为高位地址忽略 ( UAI ),Arm 称之为顶部字节忽略 ( TBI )。
顾名思义,SLAM 与臭名昭著的 Spectre 漏洞有关,这是最早的瞬时执行问题之一。
此安全漏洞导致敏感数据(例如加密密钥和密码)被泄露。
据研究人员称,SLAM 主要影响上市制造商未来的处理器(以及一些已经发布的 AMD 处理器),这些处理器满足特定标准并支持 LAM、UAI 和 TBI。
特别是,问题是由于未来芯片缺乏严格的规范性检查,而LAM、UAI和TBI不仅提高了安全性和内存管理,而且增加了Spectre攻击的机会。
因此,根据科学家的研究,SLAM 会影响以下处理器:
- 现有 AMD 处理器容易受到 CVE-2020-12965 的影响;
- 即将推出的支持 LAM 的英特尔处理器(4 级和 5 级分页);
- 即将推出的支持 UAI 和 5 级分页的 AMD 处理器;
- 即将推出的 Arm 处理器支持 TBI 和 5 级分页。
专家们通过在最新一代 Ubuntu 中模拟英特尔即将推出的 LAM 功能,展示了其攻击的有效性。该漏洞利用的目标是Spectre BHI攻击的一个变体 ,它绕过了为原始 Spectre 实现的一些硬件保护,并使用最新 Linux 内核中的各种小工具在几分钟内从内核内存中提取 root 密码哈希。
该攻击基于一种新的瞬态执行技术,旨在使用以前未开发的一类小工具来实现此类目的。
正如最近发布的视频中所报道的,小工具是软件代码中的指令,攻击者可以操纵它们来触发推测执行并泄漏敏感信息。
要实施此类攻击,攻击者必须在目标系统上运行与这些小工具交互的代码,然后仔细分析由此产生的副作用,使用复杂的算法从内核内存中提取敏感信息。
ARM 的回应
针对研究人员工作成果的发表,Arm 发布了一份声明 ,解释其系统已经受到保护,免受 Spectre v2 和 Spectre-BHB 攻击,并且该公司不打算针对 SLAM 采取进一步行动。
AMD 还表示,它正在使用当前的 Spectre v2 保护来对抗 SLAM,并且没有提供可以降低风险的额外建议或补丁。
Intel 的回应
英特尔也宣布打算发布建议,这些建议将在支持 LAM 的处理器发布之前发布。例如,实现线性地址空间分离(LASS)以防止用户/内核模式下的推测地址访问。
在制造商提供进一步建议之前,Linux 工程师已准备好禁用 LAM 的补丁。