ハードウェアセキュリティ
Spectreのような投機的実行の脆弱性への対策として使われているものに当てはまらないものはどれか。
- A危険な分岐の後に投機的実行を止めるバリアの命令を入れる
- BCPUのクロックの周波数を上げる
- C配列の添字を範囲の中に収めるマスクの処理をして、範囲外を投機的に読めないようにする
答えと解説を見る
正解:B. CPUのクロックの周波数を上げる
Spectreへの対策には、条件分岐の後に投機的実行を止める命令(x86のlfenceなど)を入れる方法、添字をマスクして範囲の外を読めないようにする方法、間接分岐の予測を悪用されないようにする書き方(retpolineなど)、CPUのマイクロコードの更新による予測器の制御などがあります。投機的実行を全部止めると性能が大きく落ちるので、危険な場所に絞って使うのが一般的です。
- A. これは実際に使われている対策です。
- B. 正しい。周波数は投機の問題と関係ありません。
- C. これは実際に使われている対策です。