ハードウェアセキュリティの最新動向

IntelのCET(制御フロー強制技術)などで採用されているハードウェアのシャドウスタックの説明として、正しいものはどれか。

  1. Aスタックの内容を一定の時間ごとに不揮発性のメモリに保存しておき、プログラムが異常終了したときに、その内容から実行を再開する
  2. B関数の局所変数を、通常のスタックとは別の高速なメモリに置き、キャッシュのミスを減らして関数の呼び出しを速くする
  3. C関数を呼ぶときに戻りアドレスの複製を、通常の書き込みでは変えられない別のスタックにも置き、戻るときに両者を比べる
答えと解説を見る

正解:C. 関数を呼ぶときに戻りアドレスの複製を、通常の書き込みでは変えられない別のスタックにも置き、戻るときに両者を比べる

スタックのバッファオーバーフローなどで戻りアドレスが書き換えられると、関数から戻るときに、攻撃者が選んだ場所に実行が移ってしまいます。シャドウスタックでは、call命令が戻りアドレスを通常のスタックとシャドウスタックの両方に積み、ret命令が両者を比べます。シャドウスタックのページは通常のストア命令では書き込めない特別な種類のページなので、通常のスタックを書き換えた攻撃者も複製までは変えられず、一致しなければ例外が起きて実行が止まります。

  • A. 異常終了から復旧するための仕組みではありません。
  • B. 局所変数を移して速くする仕組みではなく、戻りアドレスを守る仕組みです。
  • C. 正しい。戻りアドレスの改ざんを、戻る直前に見つけます。
この分野を解く 分野ページへ

ハードウェアセキュリティの最新動向の参考書を探す PR

Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。

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

  1. 制御フロー完全性をハードウェアで支える機能について、関数からの戻りを守るものと、関数ポインタなどによる間接的な呼び出しやジャンプを守るものの組み合わせとして、正しいものはどれか。
  2. DRAMの微細化が進むほど、ロウハンマーが起きやすくなるといわれる理由として、正しいものはどれか。
  3. DRAMの中のTRR(ターゲットロウリフレッシュ)によるロウハンマーへの対策が、研究で回避されたことがある理由として、正しいものはどれか。
  4. 「ECC付きのメモリを使えば、ロウハンマーの心配はない」という考えの問題点として、正しいものはどれか。
  5. 2024年に更新されたDDR5の規格(JESD79-5C)に加えられた、PRAC(行ごとの活性化の計数)の考え方として、正しいものはどれか。