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