Skip to main content
QUICK REVIEW

[論文レビュー] PThammer: Cross-User-Kernel-Boundary Rowhammer through Implicit Accesses

Zhi Zhang, Yueqiang Cheng|arXiv (Cornell University)|Jul 17, 2020
Security and Verification in Computing参考文献 31被引用数 6
ひとこと要約

この論文では、ソフトウェアのみの防御を回避するために暗黙的なメモリアクセスを利用する、クロスユーザ-カーネル境界のRowhammer攻撃PThammerを提示する。最小限のTLBおよびLLCのフラッシュセットを用いて翻訳照会バッファと最後段階キャッシュをフラッシュすることで、ページテーブルにおけるビット反転を引き起こし、特権昇格を達成した。CTAやCATTといった防御を備えた複数のシステムにおいても、15分以内に成功した根元アクセスを実証した。

ABSTRACT

Rowhammer is a hardware vulnerability in DRAM memory, where repeated access to memory can induce bit flips in neighboring memory locations. Being a hardware vulnerability, rowhammer bypasses all of the system memory protection, allowing adversaries to compromise the integrity and confidentiality of data. Rowhammer attacks have shown to enable privilege escalation, sandbox escape, and cryptographic key disclosures. Recently, several proposals suggest exploiting the spatial proximity between the accessed memory location and the location of the bit flip for a defense against rowhammer. These all aim to deny the attacker's permission to access memory locations near sensitive data. In this paper, we question the core assumption underlying these defenses. We present PThammer, a confused-deputy attack that causes accesses to memory locations that the attacker is not allowed to access. Specifically, PThammer exploits the address translation process of modern processors, inducing the processor to generate frequent accesses to protected memory locations. We implement PThammer, demonstrating that it is a viable attack, resulting in a system compromise (e.g., kernel privilege escalation). We further evaluate the effectiveness of proposed software-only defenses showing that PThammer can overcome those.

研究の動機と目的

  • ユーザとカーネルのメモリ境界をまたいで動作する、Rowhammerに基づく特権昇格技術の開発。
  • カーネルデータをユーザ空間の攻撃から分離することを目的としたソフトウェアオンリー防御(CATT、RIP-RH、CTA)を克服すること。
  • TLBおよびLLCの効率的で最小限のフラッシュセットを用いることで、攻撃の表面積を最小限に抑え、検出およびリソースのオーバーヘッドを低減すること。
  • ページテーブルウォークにおける暗黙のアクセスパターンを悪用し、直接メモリアクセスなしにカーネルデータ構造のビット反転を引き起こすことが可能であることを示すこと。
  • 既存のソフトウェア防御が、この新規で間接的な攻撃ベクトルに対してどれほど効果的であるかを評価すること。

提案手法

  • 仮想アドレスとTLBセットとの間の逆設計されたマッピングを用いて、誤検出が一切ない最小限で正確なTLBフラッシュセットを構築する。
  • アクセス遅延を測定することで、プロファイリングベースのアルゴリズムを用いてLLCフラッシュセットを同定し、12-way以上のセットでは94%以上の成功率を達成する。
  • キャッシュのアソシエーションよりも1つ大きなサイズ(12-wayでは13、16-wayでは17)のエントリを用いることで、フラッシュ成功率を最大化しつつサイズを最小限に抑える。
  • ページテーブルウォークを介した暗黙のアクセスを用いて、選択された被害者行に対して二重側ハンマー攻撃を実行し、カーネルページテーブルにおけるビット反転を引き起こす。
  • バディアロケータを活用してL1PTEをメモリ上に集中させ、保護された領域における成功するビット反転の確率を高める。
  • CTA保護システムに対する攻撃をシミュレーションする際、L1PTEのビット反転後にstruct cred構造体を標的にすることで、ユーザのクレデンシャル操作を介して特権昇格を達成する。

実験結果

リサーチクエスチョン

  • RQ1暗黙的なメモリアクセスのみを用いて、ユーザとカーネルのメモリ境界をまたいでRowhammer攻撃を実行できるか?
  • RQ2最小限のサイズのTLBおよびLLCフラッシュセットは、攻撃のための一貫性あるキャッシュおよびTLBフラッシュを達成するためにどれほど有効か?
  • RQ3ページテーブルウォークを悪用する攻撃に対して、CTA、CATT、RIP-RHといったソフトウェアオンリー防御は、どの程度効果を保つのか?
  • RQ4異なるメモリ構成(例:スーパーページ対通常ページ)下での攻撃のパフォーマンスオーバーヘッドと成功率はどの程度か?
  • RQ5L1PTEが分離または保護されている場合でも、カーネルページテーブルにおけるビット反転を悪用して特権昇格を達成できるか?

主な発見

  • TLBフラッシュセットのサイズが12以上になると、TLBミス率が顕著に低下し、効果的なTLBフラッシュが達成されていることが示された。
  • LLCフラッシュセットのサイズがキャッシュアソシエーションを超えると、ミス率が95%を超えることが確認され、効果的なキャッシュフラッシュが達成された。
  • PThammerは、全テスト対象マシン(Lenovo T420、X230、Dell E6420)で二重側ハンマー攻撃を用いて15分以内に特権昇格を達成した。
  • スーパーページを有効にすると、TLBプール準備が10ms未塔、LLC準備が0.5分未塔で完了し、低コストのセットアップを実現した。
  • CTAの第二層防御は、L1PTEのビット反転後にstruct credエントリを標的にすることで回避され、シミュレーションで7回のビット反転後に根元アクセスが達成された。
  • LLCフラッシュセット選択アルゴリズムの誤検出率は6%未満であり、実環境においても高い信頼性を示した。

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

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

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

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