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

投機的に実行された命令の結果が取り消されても、Spectreのような攻撃で情報が漏れる理由として正しいものはどれか。

  1. A取り消しの処理に失敗して、レジスタに秘密の値が残るから
  2. B投機的に実行した結果は、ディスクに保存されるから
  3. C取り消されるのはレジスタなどのアーキテクチャの状態だけで、キャッシュなどのマイクロアーキテクチャの状態は元に戻らないから
答えと解説を見る

正解:C. 取り消されるのはレジスタなどのアーキテクチャの状態だけで、キャッシュなどのマイクロアーキテクチャの状態は元に戻らないから

CPUは、プログラムから見える状態(レジスタやメモリの内容)については、予測が外れたら完全に元に戻すように作られています。しかしキャッシュの中身や分岐予測器の状態などのマイクロアーキテクチャの状態は、性能の向上のための内部の状態として、元に戻されません。ISAの約束は守られていても、内部の状態が時間の違いとして外から見えてしまうことが、この種の脆弱性の本質です。

  • A. レジスタは正しく元に戻されます。
  • B. ディスクには保存されません。
  • C. 正しい。ISAから見える状態だけが元に戻されます。
この分野を解く 分野ページへ

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

  1. 一部のCPUで問題になったMeltdownと呼ばれる脆弱性の原理として正しいものはどれか。
  2. Meltdownへのソフトウェアの対策として導入されたKPTI(カーネルページテーブル分離)の考え方として正しいものはどれか。
  3. Spectreのような投機的実行の脆弱性への対策として使われているものに当てはまらないものはどれか。
  4. 投機的実行の脆弱性への対策について、一般的に正しいものはどれか。
  5. 暗号の処理を行うチップの消費電力の波形を使う電力解析のうち、差分電力解析(DPA)の特徴として正しいものはどれか。