Arm计划将SLS补丁反向移植到GCC 10和GCC 9-风君雪科技博客

  6 月份,Google 的 SafeSide 小组在 ARM 处理器的 Armv8-A(Cortex-A)CPU 体系结构中发现了一个名为 Straight-Line Speculation(SLS)的新漏洞(CVE-2020-13844),该漏洞可导致攻击者对 ARM 架构处理器进行侧信道攻击。彼时,Arm 对该漏洞进行了披露,不过并未引起公众太大的关注。

  目前,该 SLS 漏洞似乎已经变得愈发严重起来。Arm 方面正在着手将 GCC 11 开发代码中的缓解措施反向移植到 GCC 10 甚至是 GCC 9。Arm 的一位工程师已经发布了一个 SLS 补丁程序,该补丁程序将反向移植到 GCC 9,而 GCC 10 的补丁则预计将在 GCC 10.2 发布后出现。

Arm计划将SLS补丁反向移植到GCC 10和GCC 9-风君雪科技博客

  Arm 于本月初将其最初的 SLS 缓解措施合并到了 GCC Git 中,涵盖 RET 和 BR 指令。用户现下可通过编译器在易受攻击的指令周围插入 speculation barrier(SB)指令来缓解 SLS。不过 Arm 方面表示,其不建议默认情况下启用这些基于编译器的缓解措施,理由是过度使用 SB 指令会对性能造成影响。

  可以通过 -mharden-sls= 来启用 GCC 的 Arm SLS 缓解。其中值为“all”时,可缓解所有易受攻击的指令,为“retbr”时则仅在 RET 和 BR 指令上插入 speculation barrier,而“blr”只用于缓解 BLR usage。当前,此 Arm SLS 缓解措施尚不支持 per-function basis 缓解。