Inspecting Virtual Machine Diversification Inside Virtualization Obfuscation
Naiqian Zhang, Dongpeng Xu, Jiang Ming, Jun Xu, Qiaoyan Yu
Abstract
Virtualization obfuscators are commonly employed to safeguard proprietary code or to impede malware analysis. Despite significant efforts to combat these obfuscators over the past decade, code virtualization continues to be an exceedingly effective obfuscation technique. At the core of modern virtualization obfuscators are the virtual machines (VMs), which employ a variety of diversification techniques to complicate their internal structures. Due to its intricate and diverse nature, reverse engineering one VM is a time-consuming task and is not useful in cracking other VMs. Yet, despite the success of these VMs, there has been no systematic study of their diversification techniques, creating a knowledge gap that needs to be addressed to enhance VM deobfuscation. This work aims to bridge the above gap. First, we categorize and unveil the techniques under the hood of VM diversification, from the perspectives of VM interpretation, byte-code organization, and handler permutation/relocation. This systematic knowledge about modern virtualization is a crucial contribution to the field. Second, we develop an automated tool to identify the VM diversification techniques adopted by state-of-the-art virtualization obfuscators. The results demystify how the VM diversification methods are deployed in practice. Third, our research also involves patching current deobfuscation tools using the newly revealed knowledge of VM diversification to overcome their weaknesses. This outcome highlights how the results of our study pave the way for next-generation VM deobfuscation.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 05150593-e77e-45c8-be78-8c4698a300eaCited by top-tier papers1
Ask how each one uses itBuilds on6
- BinSim: Trace-based Semantic Binary Diffing via System Call Sliced Segment Equivalence CheckingJiang Ming, Dongpeng Xu, Yufei Jiang, Dinghao WuUSENIX Security 2017 · 118 citations
- Syntia: Synthesizing the Semantics of Obfuscated CodeTim Blazytko, Moritz Contag, Cornelius Aschermann, Thorsten HolzUSENIX Security 2017 · 99 citations
- Predicting the Resilience of Obfuscated Code Against Symbolic Execution Attacks via Machine LearningSebastian Banescu, Christian S. Collberg, Alexander PretschnerUSENIX Security 2017 · 55 citations
- MBA-Blast: Unveiling and Simplifying Mixed Boolean-Arithmetic ObfuscationBinbin Liu, Junfu Shen, Jiang Ming, Qilong Zheng et al.USENIX Security 2021 · 37 citations
- Loki: Hardening Code Obfuscation Against Automated AttacksMoritz Schloegel, Tim Blazytko, Moritz Contag, Cornelius Aschermann et al.USENIX Security 2022
Related papers
- Chosen-Instruction Attack Against Commercial Code Virtualization ObfuscatorsShijia Li, Chunfu Jia, Pengda Qiu, Qiyuan Chen et al.NDSS 2022
- VMHunt: A Verifiable Approach to Partially-Virtualized Binary Code SimplificationDongpeng Xu, Jiang Ming, Yu Fu, Dinghao WuCCS 2018 · 60 citations
- Parema: an unpacking framework for demystifying VM-based Android packersLei Xue, Yuxiao Yan, Luyi Yan, Muhui Jiang et al.ISSTA 2021 · 11 citations
- Tackling runtime-based obfuscation in Android with TIROMichelle Y. Wong, David LieUSENIX Security 2018 · 59 citations
- Forced Execution for Malware Protected by Commercial Virtualization ObfuscatorsYifei Zhan, Yukun Cui, Shuofeng Hao, Dongnan He et al.CCS 2026
