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

一部のCPUで問題になったMeltdownと呼ばれる脆弱性の原理として正しいものはどれか。

  1. ACPUが熱で溶けて、データが外に漏れる
  2. B権限のないカーネルのメモリを読む命令でも、権限の確認による例外が確定する前に投機的に値が読まれ、その値に依存した痕跡がキャッシュに残る
  3. Cカーネルのメモリが、すべてのプロセスに公開されている設定の誤り
答えと解説を見る

正解:B. 権限のないカーネルのメモリを読む命令でも、権限の確認による例外が確定する前に投機的に値が読まれ、その値に依存した痕跡がキャッシュに残る

ユーザのプログラムがカーネルのメモリを読もうとすると、本来は権限の違反で例外になり、値は得られません。しかし影響を受けたCPUでは、例外が確定するまでの短い間に、読んだ値を使う後ろの命令が投機的に実行され、その値に応じた場所がキャッシュに読み込まれました。例外で結果は捨てられても、キャッシュのサイドチャネルでカーネルのデータを推測できたのです。

  • A. 物理的に溶けるわけではありません。
  • B. 正しい。権限の確認と投機的な読み出しの順序が問題でした。
  • C. 設定の誤りではなく、CPUの実装の問題です。
この分野を解く 分野ページへ

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

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