ハードウェアセキュリティ
機密の処理を行うシステムで、CPUの同時マルチスレッディング(SMT)を無効にすることがある理由として正しいものはどれか。
- A同じコアで動く2つのスレッドは、L1キャッシュや演算器などを共有するので、もう一方のスレッドから処理の痕跡を細かく観察されやすいから
- BSMTを無効にすると、CPUの性能が必ず上がるから
- CSMTは、暗号の計算ができないから
答えと解説を見る
正解:A. 同じコアで動く2つのスレッドは、L1キャッシュや演算器などを共有するので、もう一方のスレッドから処理の痕跡を細かく観察されやすいから
SMTでは、1つのコアの中で2つのスレッドが同時に動き、L1キャッシュ、分岐予測器、演算器、バッファなどを細かく共有します。そのため、一方のスレッドがもう一方の使っている資源を時間の測定で観察しやすく、いくつかの脆弱性ではこれが攻撃の条件になりました。信頼できない相手と同じコアを共有しないように、SMTを切ったり、同じコアには同じ利用者のスレッドだけを置いたりします。
- A. 正しい。資源の共有が細かいほど漏れやすくなります。
- B. 多くの場合、全体の処理量は下がります。
- C. 暗号の計算はできます。