VUSec安全研究人员再度出击……针对英特尔(Intel)处理器及Arm核心架构的新一批安全漏洞保密协议已解除,该漏洞被命名为“Training Solo”。
安全研究人员发现,通常用于缓解Spectre Variant Two漏洞的域隔离在不同的CPU架构中存在多个缺点。更糟糕的是,Training Solo暴露了三个独立的变体,需要多个缓解措施。

Training Solo的ITS变体需要Intel CPU微码更新以及对linux内核和KVM的软件缓解。还有一个影响英特尔Lion Cove内核的Training Solo变体,需要单独的缓解方法。最后,第三个变体还需要英特尔微码更新以及linux内核的英特尔和Arm软件补丁。

今天上线的VUSec安全文件解释说:“在本文中,我们挑战了这一假设,并表明即使完美的域隔离也不足以阻止实际攻击。为此,我们系统地分析了自我训练Spectre-v2攻击,其中训练和投机控制流劫持都发生在同一 (受害者) 域中。虽然自我训练攻击被认为仅限于域内场景-攻击者可以运行任意代码并在 (默认关闭) 沙盒,如eBPF-我们的分析表明跨域变体在实践中是可能的。具体来说,我们描述了针对linux内核的三种新型攻击,并介绍了两种端到端漏洞,它们在最近的Intel cpu上泄漏内核内存的速度高达17 KB/秒。在我们的调查过程中,我们还偶然发现了两个英特尔问题,它们完全打破了 (用户、来宾和虚拟机管理程序) 隔离,并重新启用了传统的Spectre-v2攻击。”

我只是在今天的禁运解除Training Solo之前很短的时间才被通知,所以我自己还在挖掘细节。此漏洞的Training Solo网站现在应该位于VUSec.net。随着linux内核补丁和新的英特尔CPU微码的出现,我将对它们进行一些基准测试,以衡量这些额外安全缓解措施的任何新的相关开销。
更新:的间接目标选择缓解(ITS) 已合并到Linux Git。英特尔的Dave Hansen解释说:
我会描述这一个作为一个很好的老CPU错误,其中的行为是 _显然_错误,但由于它只会导致错误的预测 没有错到足以注意到。研究人员注意到 意识到这样的bug破坏了一堆现有的间接分支 缓解措施。
因此对这一事件产生了异常广泛的影响。详细信息:
它是某些Intel cpu中的一个错误,会影响间接分支 将ret包括在cacheline的前半部分。由于其这样的 分支机构可能会被错误地预测到 (直接或间接) 的目标 位于高速缓存行后半部分的分支。研究人员 在VUSec发现了这种行为,并向英特尔报告。
受影响的处理器:
-喀斯喀特湖,库珀湖,威士忌湖V,咖啡湖R,彗星
湖,冰湖,老虎湖和火箭湖。
加上模式内分支历史注入缓解也已合并到Linux Git:
通过经典BFP程序缓解帧内模式分支历史记录注入
这将分支历史记录清除缓解添加到cBPF程序中 X86。已报告通过cBPF进行的模式内BHI攻击。k.a IBTI-历史 VUSec的研究人员。
对于不支持BHI_DIS_S的硬件,建议使用 缓解措施是在IBHF之后运行简短的软件序列 cBPF执行后的指令。在支持的硬件上 BHI_DIS_S,启用BHI_DIS_S并在cBPF执行后执行IBHF。
间接分支历史围栏 (IBHF) 是一条新指令,它 防止屏障后的间接分支目标预测 当BHI_DIS_S为 已启用。在较旧的系统上,这将映射到NOP。建议 在cBPF程序的末尾添加此围栏以支持VM迁移。 在使用BHI_NO的较新零件上需要此指令才能完全 减轻这些攻击。
当前代码禁用与运行的任何缓解 SYS_ADMIN功能位已设置。这样做的目的不是浪费时间来减轻一个无论如何都能访问它想要的任何东西的进程
转自 Training Solo: New Set Of Serious Security Vulnerabilities Exposed For Intel & Arm CPUs – Phoronix
Linuxeden开源社区