Skip to main content
QUICK REVIEW

[論文レビュー] DuVisor: a User-level Hypervisor Through Delegated Virtualization

Jiahao Chen, Dingji Li|arXiv (Cornell University)|Jan 24, 2022
Security and Verification in Computing被引用数 4
ひとこと要約

DuVisorは、Delegated Virtualization Extension(DV-Ext)と呼ばれる新規ハードウェア拡張機能を活用することで、カーネルランタイムの干渉を排除するユーザーレベルハイパーバイザを導入する。VMの管理をすべてユーザースペースに委譲することで、VMの終了処理、レジスタの設定、ステージ2ページテーブル、仮想デバイスの処理を実行し、KVMと比較して最大47.96%の性能向上を達成するとともに、攻撃面積を顕著に削減する。

ABSTRACT

Today's mainstream virtualization systems comprise of two cooperative components: a kernel-resident driver that accesses virtualization hardware and a user-level helper process that provides VM management and I/O virtualization. However, this virtualization architecture has intrinsic issues in both security (a large attack surface) and performance. While there is a long thread of work trying to minimize the kernel-resident driver by offloading functions to user mode, they face a fundamental tradeoff between security and performance: more offloading may reduce the kernel attack surface, yet increase the runtime ring crossings between the helper process and the driver, and thus more performance cost. This paper explores a new design called delegated virtualization, which completely separates the control plane (the kernel driver) from the data plane (the helper process) and thus eliminates the kernel driver from runtime intervention. The resulting user-level hypervisor, called DuVisor, can handle all VM operations without trapping into the kernel once the kernel driver has done the initialization. DuVisor retrofits existing hardware virtualization support with a new delegated virtualization extension to directly handle VM exits, configure virtualization registers, manage the stage-2 page table and virtual devices in user mode. We have implemented the hardware extension on an open-source RISC-V CPU and built a Rust-based hypervisor atop the hardware. Evaluation on FireSim shows that DuVisor outperforms KVM by up to 47.96\% in a variety of real-world applications and significantly reduces the attack surface.

研究の動機と目的

  • 従来のハイパーバイザにおける基本的なセキュリティとパフォーマンスのトレードオフを是正すること。特に、カーネルコンponentの最小化がリング遷移を増加させ、パフォーマンスコストを上昇させる要因となることを解消すること。
  • 仮想化におけるカーネルドライバのランタイム関与を排除し、信頼性基盤(TCB)と攻撃面積を縮小すること。
  • 既存のハードウェアに新たなハードウェア拡張機能(DV-Ext)を組み込むことで、ユーザースペースでの完全仮想化制御を実現すること。
  • カーネルモードコンponentに依存せずに、ユーザーレベルハイパーバイザが高いパフォーマンスと強固な隔離性を実現できることを示すこと。
  • RISC-VベースのプロトタイプとFireSim評価を用いて、完全にユーザースペースに実装されたハイパーバイザの実現可能性とパフォーマンスメリットを検証すること。

提案手法

  • VM終了処理や仮想化状態のユーザーモード処理を可能にするために、既存の仮想化ハードウェアを最小限の変更で再利用するDelegated Virtualization Extension(DV-Ext)の設計および実装。
  • DV-Extを組み込んだオープンソースRISC-V CPUを改造し、ハードウェア仮想化インターフェースを直接ユーザースペースに公開すること。
  • すべてのVM操作(ステージ2ページテーブル管理、仮想デバイスI/O、レジスタ設定など)をカーネルモードへのトラップなしに処理するRustで実装されたユーザーレベルハイパーバイザ(DuVisor)の構築。
  • ユーザーレベル割り込みと物理メモリ保護(PMP)を活用し、ユーザースペースから仮想化リソースを安全に隔離・制御すること。
  • VM終了処理やリソース管理におけるカーネル関与を排除することで、システムコールおよび世界切り替えの回数を最小限に抑えること。
  • 既存のハードウェア仮想化機能(例:RISC-V SBI、ステージ2変換)を活用しつつ、ユーザーモードへの委譲を可能にする拡張を実施すること。

実験結果

リサーチクエスチョン

  • RQ1ランタイムにおけるカーネル関与を完全に排除しながら、高いパフォーマンスと強固なセキュリティを維持できる完全なユーザーレベルハイパーバイザを構築可能か?
  • RQ2仮想化機能をユーザースペースに委譲することで、従来のカーネルに配置されたドライバと比較してパフォーマンスにどのような影響が生じるか?
  • RQ3VM終了処理および仮想化状態管理をユーザースペースに安全かつ効率的に委譲するためのハードウェア拡張機能として必要な要件は何か?
  • RQ4ランタイム動作においてカーネルドライバを排除することで、ハイパーバイザの攻撃面積はどの程度削減可能か?
  • RQ5ユーザーレベルハイパーバイザのパフォーマンスは、KVMのような主流のカーネルベースハイパーバイザと同等またはそれを上回るか?

主な発見

  • FireSimを用いた実世界のワークロードにおいて、DuVisorはKVMを最大47.96%上回るパフォーマンスを達成し、顕著な性能向上を示した。
  • カーネルドライバは初期化および致命的障害処理のための使用に限定され、ランタイム動作には関与しないため、ハイパーバイザの攻撃面積が顕著に削減された。
  • DuVisorは、VM終了処理、レジスタ設定、ステージ2ページテーブル管理、仮想I/Oをすべてユーザースペースで完全に処理できた。
  • 従来のハイパーバイザが頻繁なカーネルコールによって発生する高コストなリング遷移と世界切り替えを排除することで、高いパフォーマンスを実現した。
  • ハードウェア拡張機能(DV-Ext)は最小限の侵入で、既存の仮想化機能を再利用しつつ、安全なユーザーモード制御を可能にした。
  • オープンソースRISC-V CPUに実装されたプロトタイプ実装により、委譲型仮想化アプローチの実現可能性と実用性が確認された。

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

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

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

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