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

機密の処理を行うシステムで、CPUの同時マルチスレッディング(SMT)を無効にすることがある理由として正しいものはどれか。

  1. A同じコアで動く2つのスレッドは、L1キャッシュや演算器などを共有するので、もう一方のスレッドから処理の痕跡を細かく観察されやすいから
  2. BSMTを無効にすると、CPUの性能が必ず上がるから
  3. CSMTは、暗号の計算ができないから
答えと解説を見る

正解:A. 同じコアで動く2つのスレッドは、L1キャッシュや演算器などを共有するので、もう一方のスレッドから処理の痕跡を細かく観察されやすいから

SMTでは、1つのコアの中で2つのスレッドが同時に動き、L1キャッシュ、分岐予測器、演算器、バッファなどを細かく共有します。そのため、一方のスレッドがもう一方の使っている資源を時間の測定で観察しやすく、いくつかの脆弱性ではこれが攻撃の条件になりました。信頼できない相手と同じコアを共有しないように、SMTを切ったり、同じコアには同じ利用者のスレッドだけを置いたりします。

  • A. 正しい。資源の共有が細かいほど漏れやすくなります。
  • B. 多くの場合、全体の処理量は下がります。
  • C. 暗号の計算はできます。
この分野を解く 分野ページへ

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

  1. パソコンにつないだ外部の機器が、DMAを使ってメインメモリの内容を勝手に読み書きする攻撃への対策として正しいものはどれか。
  2. ハードウェアとソフトウェアのセキュリティで重視される「多層防御」の考え方として正しいものはどれか。
  3. 多数の機器を製造するとき、すべての機器に同じ鍵を入れずに、機器ごとに違う鍵を持たせる理由として正しいものはどれか。
  4. CPUのハードウェアの脆弱性が見つかったとき、出荷済みのCPUで行われる対策の1つとして正しいものはどれか。
  5. ハードウェアセキュリティで扱う問題の説明として最も適切なものはどれか。