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 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 缓解。