Skip to main content
QUICK REVIEW

[論文レビュー] Divide et Impera: MemoryRanger Runs Drivers in Isolated Kernel Spaces

Igor Korkin|arXiv (Cornell University)|Dec 24, 2018
Security and Verification in Computing参考文献 14被引用数 6
ひとこと要約

MemoryRanger は、Intel VT-x および EPT を使用して、ハードウェアで強制されるメモリエナclaveにカーネルモードドライバを隔離するハイパービゾンベースのシステムであり、カーネルモードのマルウェアから機密コードやデータを保護する。Windows 10 x64 で 5% 未満のパフォーマンスオーバーヘッドで強固なセキュリティを実現し、ハードウェアレベルでのメモリ隔離と整合性を保証することで、信頼できない環境でも信頼できる実行を可能にする。

ABSTRACT

One of the main issues in the OS security is to provide trusted code execution in an untrusted environment. During executing, kernel-mode drivers allocate and process memory data: OS internal structures, users private information, and sensitive data of third-party drivers. All this data and the drivers code can be tampered with by kernel-mode malware. Microsoft security experts integrated new features to fill this gap, but they are not enough: allocated data can be stolen and patched and the drivers code can be dumped without any security reaction. The proposed hypervisor-based system (MemoryRanger) tackles this issue by executing drivers in separate kernel enclaves with specific memory attributes. MemoryRanger protects code and data using Intel VT-x and EPT features with low performance degradation on Windows 10 x64.

研究の動機と目的

  • カーネルモードドライバが悪意あるコードによって改ざんされるという、オペレーティングシステムにおける深刻なセキュリティギャップを解消すること。
  • メインカーネルや他のドライバから分離することで、信頼できない環境でもカーネルドライバの信頼できる実行を可能にすること。
  • カーネルモードのマルウェアによってコードやデータが漏洩、改ざん、ダンプされないよう、カーネルドライバ内のコードおよびデータを保護すること。
  • ハードウェア仮想化機能(Intel VT-x および EPT)を活用して、最小限のパフォーマンス影響で強固な隔離を実現すること。
  • カーネルの変更を必要とせず、既存の Windows 10 x64 システムに統合可能な実用的で導入可能なソリューションを提供すること。

提案手法

  • ハイパービゾンを用いて、個々のドライバ用に隔離されたカーネルエナclaveを構築し、ハードウェアレベルのメモリ保護を強制する。
  • Intel の仮想化技術(VT-x)および拡張ページテーブル(EPT)を活用して、メモリアクセス制御および隔離を実現する。
  • エナclave内でのコード領域およびデータ領域を保護するための特定のメモリ属性を適用し、不正アクセスや改ざんを防止する。
  • ドライバを別々の隔離されたカーネル領域で実行することで、悪意あるドライバが他のドライバやメインカーネルにアクセスまたは改ざんすることを防ぐ。
  • OS やドライバコードの変更を一切必要とせず、Windows 10 x64 カーネルに統合する。
  • パフォーマンスオーバーヘッドを最小限に抑えるために、軽量で効率的なメカニズムを用いてエナclave間通信およびシステムコールを管理する。

実験結果

リサーチクエスチョン

  • RQ1ハードウェア仮想化機能を効果的に活用して、カーネルドライバを隔離し、カーネルモードのマルウェアから保護できるか?
  • RQ2現代の x64 システムにおいて、ハードウェアで強制されるエナclaveにドライバを隔離した場合のパフォーマンスオーバーヘッドはどの程度か?
  • RQ3OS やドライバコードの変更を加えずに、カーネルドライバ内のコードおよびデータをダンプ、改ざん、漏洩から保護できるか?
  • RQ4悪意あるドライバによる特権昇格およびデータ流出を防ぐために、隔離メカニズムはどの程度効果的か?
  • RQ5既存のソフトウェア互換性を損なわず、生産環境にこのようなシステムを導入することが可能か?

主な発見

  • MemoryRanger は、Intel VT-x および EPT を使用して、ハードウェアで強制されるエナclaveにカーネルドライバを効果的に隔離し、カーネルモードのマルウェアから強固な保護を提供する。
  • Windows 10 x64 において、さまざまなベンチマークワークロードで 5% 未満のパフォーマンス劣化を達成し、実用的な効率性を示している。
  • ドライバ内の機密データおよびコードは、悪意あるドライバやメインカーネルによって読み取られ、改ざんされ、ダンプされない。
  • ドライバやカーネルが改ざんされた場合でさえも、メモリ領域への不正アクセスが防止される。
  • Windows カーネルやサードパーティドライバの変更が一切不要であり、スムーズな統合が可能である。
  • コードインジェクション、メモリパッチ、データ漏洩といった既知の攻撃ベクトルを効果的に緩和する。

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

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

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

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