Ophion — ステルス志向のIntel VT-xハイパーバイザ

Security

概要

OphionはIntel VT-xを利用したType-1ハイパーバイザで、すでに稼働中のWindowsを仮想化(“late-install” のハイパーバイザ化)するために設計されています。ステルス性を重視しており、一般的なハイパーバイザ検出手法に対する回避策を備えていると明記されています。主な技術としては、各論理プロセッサごとのVMX管理(Per-core VMX/DPCブロードキャスト)、クリーンなVMXOFFとゲストCR3の復元、2MB大ページを用いたEPTのアイデンティティマッピング、MTRRに配慮したメモリタイプ処理、プロセッサ単位のページテーブルなどが挙げられます。リポジトリはCで実装され、Visual Studioソリューションが含まれます。GitHub

リポジトリの統計情報

  • スター数: 14
  • フォーク数: 0
  • ウォッチャー数: 14
  • コミット数: 5
  • ファイル数: 11
  • メインの言語: C

主な特徴

  • Per-core VMX:各論理プロセッサでVMXを有効化し、DPCブロードキャスト等で全CPUを仮想化。
  • EPT(2MB大ページ)によるアイデンティティマッピング:パフォーマンス向上とメモリトラップ管理。
  • MTRR対応のメモリタイピング:キャッシュ属性を尊重して整合性を確保。
  • ステルス志向:一般的な検出チェックを回避し、EAC/BE/AV環境でも動作を目指す。

技術的なポイント

READMEにある説明から推測すると、Ophionは「稼働中のOSをそのままゲスト化する」タイプのハイパーバイザで、VT-xの機能をフルに活用している点が特徴です。Per-core VMXの実装は、各論理CPUでVMXON/VMCSをセットアップすることで、全コア上の実行コンテキストを個別に監視・制御します。DPC(Deferred Procedure Call)ブロードキャストを使って全コアに対し同期的に準備処理を飛ばす手法は、Late-installハイパーバイザの典型的な手法です。

EPTに2MB大ページを用いることで、ページテーブルの深さとTLB負荷を下げ、メモリマッピングに伴うVM-exitの頻度やオーバーヘッドを軽減します。READMEで「Identity-mapped, MTRR-aware」とあるのは、物理=仮想の1:1マッピングを行いながら、MTRR(Memory Type Range Registers)情報を参照して各領域のキャッシュ属性(WB/UCなど)を正しく扱うことで、デバイスメモリやMMIO領域での不整合を避ける配慮を示しています。これにより、ゲストOSの動作互換性やタイミングの安定性が向上するはずです。

「Clean VMXOFF on unload with guest CR3 restoration」とある点はステルス性の核です。ハイパーバイザをアンロードする際にVMX状態をクリーンに解除し、ゲストのCR3(ページテーブルベースレジスタ)を元に戻すことで、後からの検出(残留するVMXフラグや改変されたページテーブル)を困難にします。総じて、EAC/BE/AVといった検出・防御システムを念頭に置いた実装・対策が組み込まれているように見えます。

ソースがVisual Studioプロジェクト(.sln/.vcxproj)であることから、Windowsネイティブのカーネルドライバ/カーネルモジュールとして構成されている可能性が高く、署名やOSバージョン依存、カーネルAPI利用の注意点がある点にも留意が必要です。現時点でコミット数やファイル数が少ないため、まだ実装は最小限であるか実験的な段階と推測されます。

(注意)ステルスやアンチチート回避を目的とする技術は、用途によっては法的・倫理的な問題を引き起こす可能性があります。利用や改変、配布の前に法令・利用規約を確認してください。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .gitattributes: file
  • .gitignore: file
  • LICENSE: file
  • Ophion.sln: file
  • Ophion.vcxproj: file

…他 6 ファイル

まとめ

ステルス重視のVT-xハイパーバイザの実験的実装。用途と法的側面に注意が必要。

リポジトリ情報:

READMEの抜粋:

Ophion

Intel VT-x Type-1 hypervisor that virtualizes an already running Windows system. Designed for stealth: passes common hypervisor detection checks and works with EAC/BE/AVs out of the box.

Demo


Features

  • Per-core VMX — Virtualizes all logical processors via DPC broadcast. Clean VMXOFF on unload with guest CR3 restoration.
  • EPT with 2MB large pages — Identity-mapped, MTRR-aware memory typing (fixed + variable ranges). Per-processor page tables with …