Skip to main content
QUICK REVIEW

[論文レビュー] Pushan: Trace-Free Deobfuscation of Virtualization-Obfuscated Binaries

Ashwin Sudhir, Zion Leonahenahe Basque|arXiv (Cornell University)|Mar 18, 2026
Advanced Malware Detection Techniques被引用数 0
ひとこと要約

Pushan はトレースなしの deobfuscation フレームワークを導入し、完全な CFG を回復し、パス実現可能性の解決なしに仮想化で難読化されたバイナリを C の疑似コードへデコンパイルします。従来のトレースベース手法を上回り、商用レベルの難読化器にもスケールします。

ABSTRACT

In the ever-evolving battle against malware, binary obfuscation techniques are a formidable barrier to effective analysis by both human security analysts and automated systems. In particular, virtualization or VM-based obfuscation is one of the strongest protection mechanisms that evade automated analysis. Despite widespread use of virtualization, existing automated deobfuscation techniques suffer from three major drawbacks. First, they only work on execution traces, which prevents them from recovering all logic in an obfuscated binary. Second, they depend on dynamic symbolic execution, which is expensive and does not scale in practice. Third, they cannot generate "well-formed" code, which prevents existing binary decompilers from generating human-friendly output. This paper introduces PUSHAN, a novel and generic technique for deobfuscating virtualization-obfuscated binaries while overcoming the limitations of existing techniques. PUSHAN is trace-free and avoids path-constraint accumulation by using VPC-sensitive, constraint-free symbolic emulation to recover a complete CFG of the virtualized function. It is the first approach that also decompiles the protected code into high-quality C pseudocode to enable effective analysis. Crucially, PUSHAN circumvents reliance on path satisfiability, a known NP-hard problem that hampers scalability. We evaluate PUSHAN on more than 1,000 binaries, including targets protected by academic state of the art (Tigress) and commercial-strength obfuscators VMProtect and Themida. PUSHAN successfully deobfuscates these binaries, retrieves their complete CFGs, and decompiles them to C pseudocode. We further demonstrate applicability by analyzing a previously unanalyzed VMProtect-obfuscated malware sample from VirusTotal, where our decompiled output enables LLM-assisted code simplification, reuse, and program understanding.

研究の動機と目的

  • 既存の VM 難読化技術の限界(不完全な CFG、スケーラビリティの低さ、ユーザーフレンドリーでない出力)を動機づけ、対処する。
  • VPC 敏感で制約なしのシンボリックエミュレーションを用いて完全な CFG を回復するトレースフリーの CFG 回復アプローチを提案する。
  • 人間および自動解析を支援する意味論的に意味のある decompiled C 疑似コードを生成する。

提案手法

  • 3段階のパイプラインを開発する: (1) 制約なしのシンボリックエミュレーションによる VPC 敏感 CFG 回復、 (2) 意味論を preserving した CFG の簡略化、 (3) C-like 疑似コードへのデコンパイル。
  • VM インタプリタのロジックと元のプログラムのロジックを区別するために VPC 敏感性を使用する。
  • 制約なしのシンボリックエミュレーションを用いて、パス実現性チェックなしに間接ジャンプのターゲットを列挙する。
  • 初期エミュレーションで見逃されたエッジを回復するためにシンボリゼーションと反復的 CFG 改善を適用する。
  • VM 機構を剪定し高レベルの論理を明らかにするための意味論的簡略化を実施する。
  • 読みやすい C 疑似コードと正確な関数境界およびスタック追跡を出力するようにデコンパイラ統合を強化する。

実験結果

リサーチクエスチョン

  • RQ1トレースフリー CFG 回復アプローチは商用レベルの難読化器を含む仮想化難読化バイナリから完全な制御フローを回復できるか?
  • RQ2制約なしのシンボリックエミュレーションは大規模な実世界のバイナリにスケールし、パス充足性のボトルネックを回避できるか?
  • RQ3回復した CFG をマルウェア解析に適した高品質な C 疑似コードへデコンパイルできるか?
  • RQ4Pushan は diverse なデータセットで最先端のトレースベース deobfuscation 技術に対してどのような性能を示すか?

主な発見

  • Pushan は VM インタプリタのロジックと元のプログラムのロジックの両方を含む VPC 敏感なフラット CFG を回復する。
  • 28 個の VMProtect/Themida/Tigress 難読化バイナリのうち 17 個で CFG 類似性を 100%達成し、残りも高い類似性を示す。
  • Tigress で生成された VM に対して、Pushan は 1,000 バイナリ中 988 を完全に分析・deobfuscated し、以前の最先端手法が回復した完全な CFG が 68 にとどまるのに対して上回る。
  • Pushan は5つの CTF チャレンジに成功し、デコンパイル出力を通じて埋め込まれたフラグを明らかにできる。
  • Pushan は実際の VMProtect 難読化サンプルを VirusTotal から取得して、仮想化保護コードのエンドツーエンド解析を可能にする。

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

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

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

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