硬體安全
下列關於稱為Spectre的推測執行漏洞的原理,何者正確?
- A因CPU的運算錯誤,加法的結果會改變
- B依分支預測而推測執行的指令,即使結果被取消,載入快取的痕跡仍會殘留,並能以時間測量讀取出來
- C因推測執行而使CPU溫度過度上升
查看答案與解析
正確答案:B. 依分支預測而推測執行的指令,即使結果被取消,載入快取的痕跡仍會殘留,並能以時間測量讀取出來
CPU在分支結果確定之前,會先執行預測那一側的指令,預測錯誤時再捨棄結果。在Spectre中,攻擊者讓分支預測出錯,在原本不會執行的路徑上讀取機密資料,並使對應該值的位置被載入快取。即使結果被取消,快取的狀態也不會復原,因此可藉由快取旁路推測出該值。
- A. 運算結果會被正確取消。
- B. 正確。為了效能而設的機制留下了痕跡。
- C. 不是溫度的問題。