Skip to main content
QUICK REVIEW

[논문 리뷰] Pushan: Trace-Free Deobfuscation of Virtualization-Obfuscated Binaries

Ashwin Sudhir, Zion Leonahenahe Basque|arXiv (Cornell University)|2026. 03. 18.
Advanced Malware Detection Techniques인용 수 0
한 줄 요약

Pushan은 경로 가능성 해결 없이 전체 CFG를 회복하고 가상화로 obfuscated된 이진 파일을 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 복구 접근법을 제안한다.
  • 인간 및 자동 분석을 돕기 위한 의미론적으로 의미 있는 C 의사코드로 역컴파일된 결과를 산출한다.

제안 방법

  • 세 단계 파이프라인을 개발한다: (1) VPC 민감한 제약 없는 심볼릭 에뮬레이션을 통한 CFG 복구, (2) 의미론 보존 CFG 간소화, (3) C 유사 의사코드로의 역컴파일.
  • VM 인터프리터 로직과 원래 프로그램 로직을 구분하기 위해 VPC 민감성을 사용한다.
  • 경로 가능성 검사 없이 간접 점프 대상자를 열거하기 위해 제약 없는 심볼릭 에뮬레이션을 활용한다.
  • 초기 에뮬레이션에서 놓친 에지를 복원하기 위해 기호화 및 반복적 CFG 정제를 적용한다.
  • VM 기계구조를 다듬고 더 높은 수준의 로직을 드러내기 위한 의미론적 단순화를 수행한다.
  • 정확한 함수 경계 및 스택 추적을 갖춘 읽기 쉬운 C 의사코드를 출력하도록 디컴파일러 통합을 강화한다.

실험 결과

연구 질문

  • RQ1추적 없는 CFG 복구 방식이 상용 수준의 난독화기에 걸친 가상화 의심 이진 파일에서 완전한 제어 흐름을 회복할 수 있는가?
  • RQ2제약 없는 심볼릭 에뮬레이션이 대형 실제 이진 파일에 규모 확장이 가능하고 경로 만족성 병목 현상을 피할 수 있는가?
  • RQ3회복된 CFG를 악성코드 분석에 적합한 고품질의 C 의사코드로 역컴파일할 수 있는가?
  • RQ4다양한 데이터셋에서 Pushan의 성능이 최첨단 추적 기반 역난독화 기술과 비교하여 어떤가?

주요 결과

  • Pushan은 VM 인터프리터 로직과 원래 프로그램 로직을 모두 포함하는 VPC-민감한 평면 CFG를 복구한다.
  • VMProtect/Themida/Tigress로 난독화된 28개 이진 파일 중 17개에서 CFG 유사도 100%를 달성하고, 나머지에서도 높은 유사도를 보인다.
  • Tigress로 생성된 VM에서 Pushan은 1,000개 이진 파일 중 988개를 완전히 분석하고 역난독화했으며, 이전 최첨단은 68개의 완전 CFG를 회복하는 데 그쳤다.
  • Pushan은 다섯 개의 CTF 도전에서 성공했고 역컴파일된 출력물을 통해 내재된 플래그를 드러낼 수 있다.
  • Pushan은 가상화 보호 코드의 엔드투엔드 분석을 가능하게 하며, VirusTotal의 실제 VMProtect-난독화 샘플에서 시연되었다.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.