出品|開源中國
作者|羅奇奇
11 月 17 日,Linux 將 x86/ x86_64 的 SLS 緩解選項
-mharden-SLS
合併到 GCC 12 Git 上,預計不久將推出核心補丁,將
-mharden-SLS
緩解選項作為對 x86 cpu 最新的安全保護。
Straight Line Speculation (SLS)直線預測漏洞是去年夏天 Arm 架構上出現的一個漏洞 (CVE-2020-13844),該漏洞可導致攻擊者對 ARM 架構處理器進行側邊通道攻擊(SCA)。但 Arm 很快在 GCC 和 LLVM 編譯器中推出了針對 SLS 的緩解補丁:可啟用 ARM SLS 緩解的 “-mharden-sls=” 編譯器選項,透過在易受 SLS 影響的指令周圍插入投機障礙(SB)指令或其他 DSB+ISB 指令來減少直線預測。
而此次關於 x86 SLS 緩解的 GCC 12 合併,正是為 x86/x86_64 架構的 cpu 引入了這個
-mharden-SLS
編譯器選項,這個選項包括 none、all、return 或 indirect-branch 四個值, x86/x86_64 架構上的原理是透過在函式返回和間接分支之後新增 INT3 指令(INT3 是 x86 特有的斷點指令),來減少函式返回和間接分支的直線推測(SLS)。
據外媒 phoronix 預測,如果流程順利,帶有新“-mharden-sls=”選項的 GCC 12。1 編譯器穩定版本應該會在明年 4 月左右推出。