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

キャッシュのサイドチャネルへの対策として、共有のキャッシュを分割(パーティショニング)する考え方として正しいものはどれか。

  1. Aキャッシュを物理的に2つに割って捨てる
  2. Bキャッシュの容量を2倍にする
  3. Cプロセスや仮想マシンごとに使えるキャッシュの範囲を分け、互いのデータを追い出し合えないようにして、痕跡を観察できなくする
答えと解説を見る

正解:C. プロセスや仮想マシンごとに使えるキャッシュの範囲を分け、互いのデータを追い出し合えないようにして、痕跡を観察できなくする

キャッシュのサイドチャネルは、攻撃者と被害者が同じキャッシュの場所を取り合うことで成り立ちます。キャッシュの一部のウェイやセットを、プロセスや仮想マシンごとに割り当てて分ければ、互いのデータを追い出し合えなくなり、相手のアクセスの痕跡を観察できなくなります。CPUには、キャッシュの割り当てを制御する機能を持つものがあります。ただし、それぞれが使える容量が減るので性能とのかね合いになります。

  • A. 物理的に割るわけではありません。
  • B. 容量を増やしても、共有していれば痕跡は残ります。
  • C. 正しい。代わりに使えるキャッシュは減ります。
この分野を解く 分野ページへ

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

  1. 機密の処理を行うシステムで、CPUの同時マルチスレッディング(SMT)を無効にすることがある理由として正しいものはどれか。
  2. パソコンにつないだ外部の機器が、DMAを使ってメインメモリの内容を勝手に読み書きする攻撃への対策として正しいものはどれか。
  3. ハードウェアとソフトウェアのセキュリティで重視される「多層防御」の考え方として正しいものはどれか。
  4. 多数の機器を製造するとき、すべての機器に同じ鍵を入れずに、機器ごとに違う鍵を持たせる理由として正しいものはどれか。
  5. CPUのハードウェアの脆弱性が見つかったとき、出荷済みのCPUで行われる対策の1つとして正しいものはどれか。