Skip to main content
QUICK REVIEW

[論文レビュー] Leaking Control Flow Information via the Hardware Prefetcher

Yun Chen, Lingfeng Pei|arXiv (Cornell University)|Sep 1, 2021
Security and Verification in Computing参考文献 51被引用数 8
ひとこと要約

AfterImage は、Intel の命令ポインタベースのストライドプリフェッチャーを悪用して、コード領域、プロセス、ユーザー/カネル境界を越えて制御フロー情報を漏洩させる、革新的なハードウェアプリフェッチャー側信道攻撃である。1つの実行ドメインでプリフェッチャーをトレーニングし、別のドメインでそれをトリガーすることで、予期的実行や分岐予測の操作に依存せずに、最大99%の成功率で秘密情報を漏洩可能である。

ABSTRACT

Modern processor designs use a variety of microarchitectural methods to achieve high performance. Unfortunately, new side-channels have often been uncovered that exploit these enhanced designs. One area that has received little attention from a security perspective is the processor's hard-ware prefetcher, a critical component used to mitigate DRAM latency in today's systems. Prefetchers, like branch predictors, hold critical state related to the execution of the application, and have the potential to leak secret information. But up to now, there has not been a demonstration of a generic prefetcher side-channel that could be actively exploited in today's hardware. In this paper, we present AfterImage, a new side-channel that exploits the Intel Instruction Pointer-based stride prefetcher. We observe that, when the execution of the processor switches between different private domains, the prefetcher trained by one domain can be triggered in another. To the best of our knowledge, this work is the first to publicly demonstrate a methodology that is both algorithm-agnostic and also able to leak kernel data into userspace. AfterImage is different from previous works, as it leaks data on the non-speculative path of execution. Because of this, a large class of work that has focused on protecting transient, branch-outcome-based data will be unable to block this side-channel. By reverse-engineering the IP-stride prefetcher in modern Intel processors, we have successfully developed three variants of AfterImage to leak control flow information across code regions, processes and the user-kernel boundary. We find a high level of accuracy in leaking information with our methodology (from 91%, up to 99%), and propose two mitigation techniques to block this side-channel, one of which can be used on hardware systems today.

研究の動機と目的

  • Intel の IP-ストライドプリフェッチャーを悪用する汎用的でアルゴリズムに依存しない側信道攻撃を示すこと。
  • 最新のIntelプロセッサーにおけるIP-ストライドプリフェッチャーの動作と非公開機能を逆スペックすること。
  • ハードウェアプリフェッチィングのみを用いて、コード領域、プロセス境界、ユーザー/カネル遷移を越えて制御フロー情報を漏洩できることを示すこと。
  • 既存のハードウェアシステムで効果を発揮する緩和技術を開発すること。
  • 非予期的実行や分岐予測に基づかない側信道は、マイクロアーキテクチャ的漏洩に対して安全であるという仮定に疑問を呈すること。

提案手法

  • 独自のマイクロベンチマークを用いて、IP-ストライドプリフェッチャーの構造、すなわちエントリフォーマット、インデクシング、リプレースメント、信頼性更新ポリシーを逆スペックした。
  • 重複するロード命令を用いて、命令ポインタの最下位ビットを操作し、特定のストライドでプリフェッチャーをトレーニングした。
  • if分岐とelse分岐のための異なるストライドを用いてトレーニングフェーズを実施し、制御フローデシジョンをプリフェッチャーの状態にエンコードした。
  • 同じIPとストライドパターンを新しい実行コンテキストで再利用することで、ドメイン境界(例:ユーザーからカネル)を越えてトレーニング済みのプリフェッチャーをトリガーした。
  • クラスタリングとタイミング解析を用いて、プリフェッチイベントに伴うキャッシュアクセスパターンを相関させ、秘密の制御フローデシジョンを推定した。
  • 2つの緩和技術を提案した:1つはハードウェアプリフェッチャーの無効化に基づくもので、もう1つはページ境界を考慮したプリフェッチングを用いて、ページ間プリフェッチを遮断するものである。

実験結果

リサーチクエスチョン

  • RQ1IP-ストライドプリフェッチャーは、隔離された実行ドメインを越えて制御フロー情報を漏洩させる側信道として利用可能か?
  • RQ2プリフェッチャーの状態は、ユーザー/カネル境界およびプロセス境界を越えてどの程度保持され、伝搬するか?
  • RQ3トレーニング時間、精度、ASLRに対する耐性の観点から、分岐予測子と比較して、プリフェッチャーの動作はどのように異なるか?
  • RQ4予期的実行パスにのみ作用する側信道は、予期的実行攻撃を標的とした防御を回避できるか?
  • RQ5IP-ストライドプリフェッチャーの非公開動作のうち、境界を越えた情報漏洩を可能にする要因は何か?

主な発見

  • AfterImage は、コード領域を越えて制御フロー情報を漏洩させることができ、成功率が91%から99%にのぼる。
  • IP-ストライドプリフェッチャーは仮想ページ境界を越えてプリフェッチ可能であり、これによりページ間およびドメイン間の情報漏洩が可能になる。
  • プリフェッチャーのトレーニングプロセスは分岐予測子よりも高速かつ正確であり、IPの下位8ビットのみを用いるため、ASLRの影響を受ける程度が小さい。
  • 攻撃は非予期的実行パス上で動作するため、多くの既存の予期的実行攻撃防御は無効になる。
  • 逆スペックされたプリフェッチャーのモデルは、信頼性カウンターメカニズムやページチェックポリシーといった非公開の機能を明らかにした。
  • 1つの緩和技術は、既存のハードウェアシステムに展開可能であり、クロスページプリフェッチを無効化することで、この側信道をブロックできる。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。