ハードウェアセキュリティ

Spectreと呼ばれる投機的実行の脆弱性の原理として正しいものはどれか。

  1. ACPUの計算の誤りで、足し算の結果が変わってしまう
  2. B分岐の予測にしたがって投機的に実行した命令は結果が取り消されても、キャッシュに読み込んだ痕跡が残り、それを時間の測定で読み取れる
  3. C投機的実行によって、CPUの温度が上がりすぎる
答えと解説を見る

正解:B. 分岐の予測にしたがって投機的に実行した命令は結果が取り消されても、キャッシュに読み込んだ痕跡が残り、それを時間の測定で読み取れる

CPUは分岐の結果が分かる前に、予測した側の命令を先に実行し、予測が外れたら結果を捨てます。Spectreでは、攻撃者が分岐の予測を誤らせて、本来は実行されない経路で秘密のデータを読み、その値に応じた場所をキャッシュに読み込ませます。結果は取り消されてもキャッシュの状態は戻らないので、キャッシュのサイドチャネルで値を推測できます。

  • A. 計算の結果は正しく取り消されます。
  • B. 正しい。性能のための仕組みが痕跡を残します。
  • C. 温度の問題ではありません。
この分野を解く 分野ページへ

ハードウェアセキュリティのほかの問題

  1. 投機的に実行された命令の結果が取り消されても、Spectreのような攻撃で情報が漏れる理由として正しいものはどれか。
  2. 一部のCPUで問題になったMeltdownと呼ばれる脆弱性の原理として正しいものはどれか。
  3. Meltdownへのソフトウェアの対策として導入されたKPTI(カーネルページテーブル分離)の考え方として正しいものはどれか。
  4. Spectreのような投機的実行の脆弱性への対策として使われているものに当てはまらないものはどれか。
  5. 投機的実行の脆弱性への対策について、一般的に正しいものはどれか。