Anti-VM — ハードウェアエンコーダベースのサンドボックス回避

Security

概要

このリポジトリは、仮想マシンやサンドボックス環境の存在を検出して挙動を変える「Anti‑VM(サンドボックス回避)」の Proof‑of‑Concept を Rust で実装したものです。主に XOR による簡易難読化、NTFS の MFT を用いたチェック、ハードウェアエンコーダ(動画エンコーディングサブシステム等)に基づく特徴抽出を組み合わせ、ステルスローダーとしての設計と最適化が施されています。研究目的の解説や実験用コードを含みますが、不正利用は禁じられます。

GitHub

リポジトリの統計情報

  • スター数: 13
  • フォーク数: 2
  • ウォッチャー数: 13
  • コミット数: 28
  • ファイル数: 10
  • メインの言語: Rust

主な特徴

  • XOR を用いたコード/データの簡易オブフスケーション機構を搭載
  • NTFS の MFT(Master File Table)を利用したファイルシステムベースのチェック
  • ハードウェアエンコーダ(GPU/ハードウェアアクセラレーション)を利用した VM 特性の検出 PoC
  • Rust で書かれ、パフォーマンスと最適化に重きが置かれている

技術的なポイント

このプロジェクトは「観測可能な環境差」を利用して仮想環境を識別するアプローチを取っています。一般的なサンドボックス回避実装と同様に、ソフトウェアだけでは検出しにくいハードウェア周りの差分やファイルシステムメタデータを組み合わせて判定精度を高めることを狙っています。具体的には、XOR による軽量な難読化で静的解析の難易度を上げつつ、NTFS の MFT 情報(エントリ分布やアクセスパターン)を観察して「人間が使用する実機」と「テスト環境/VM」との違いを抽出します。さらにハードウェアエンコーダーの存在や応答特性、利用可能なデバイス情報を問い合わせることで、仮想化プラットフォーム固有の制約や挙動のズレを検出する PoC を実装しています。コードベースは Rust で書かれており、低レベル API 呼び出しと安全性の両立を図りながら、パフォーマンス最適化(コンパイル最適化や不要な割り込み回避など)にも配慮されています。ただし、本リポジトリは研究・教育目的のサンプルであり、具体的な回避手順や検出回避策の詳細な手引きは含めず、誤用を助長しない形で設計意図と実験結果の提示に留めています。

プロジェクトの構成

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

  • .cargo: dir
  • .gitignore: file
  • Cargo.toml: file
  • LICENSE: file
  • README.md: file

…他 5 ファイル

まとめ

研究目的の実験実装であり、教育価値の高い PoC です。

リポジトリ情報:

注意事項: このリポジトリに含まれる手法はセキュリティ研究や防御側の解析検証に役立ちますが、許可のないシステムに対して試すことは違法・不適切です。実験を行う際は必ず適切な許諾と倫理的配慮を行ってください。