首页> 外文会议>IEEE International Conference on Parallel and Distributed Systems >Exploiting Code Diversity to Enhance Code Virtualization Protection
【24h】

Exploiting Code Diversity to Enhance Code Virtualization Protection

机译:利用代码多样性来增强代码虚拟化保护

获取原文

摘要

Code virtualization built upon virtual machine (VM)technologies is emerging as a viable method for implementing code obfuscation to protect programs against unauthorized analysis. State-of-the-art VM-based protection approaches use a fixed set of virtual instructions and bytecode interpreters across programs. This, however, exposes a security vulnerability where an experienced attacker can use knowledge extracted from other programs to quickly uncover the mapping between virtual instructions and native code for applications protected under the same scheme. In this paper, we propose a novel VM-based code obfuscation system to address this problem. The core idea of our approach is to obfuscate the mapping between the opcodes of bytecode instructions and their semantics. We achieve this by partitioning each protected code region into multiple segments where the mapping of opcodes and their semantics is randomized in different ways in different segments. In this way, each bytecode instruction will be translated into different native code in different sections of the obfuscated code. This significantly increases the diversity of the program behavior. As a result, the knowledge of bytecode to native code mappings obtained from other programs will be less useful when targeting a new program. We evaluate our approach on a set of real-world applications and compare it against two state-of-the-art VM-based code obfuscation approaches. Experimental results show that our approach is effective, which provides stronger protection with comparable runtime overhead and code size.
机译:基于虚拟机(VM)技术的代码虚拟化正在成为一种可行的方法,用于实现代码混淆,以保护程序免受未经授权的分析。基于虚拟机的最新保护方法在整个程序中使用了一组固定的虚拟指令和字节码解释器。但是,这暴露了一个安全漏洞,在该漏洞中,经验丰富的攻击者可以使用从其他程序中提取的知识来快速发现受同一方案保护的应用程序的虚拟指令与本机代码之间的映射。在本文中,我们提出了一种新颖的基于VM的代码混淆系统来解决此问题。我们方法的核心思想是混淆字节码指令的操作码与其语义之间的映射。我们通过将每个受保护的代码区域划分为多个段来实现此目的,在这些段中,操作码及其语义的映射以不同的方式在不同的段中随机化。这样,每个字节码指令将在混淆代码的不同部分中转换为不同的本机代码。这显着增加了程序行为的多样性。结果,从其他程序获得的字节码到本机代码映射的知识在以新程序为目标时将不再有用。我们在一组实际应用程序上评估我们的方法,并将其与两种基于VM的最新技术的代码混淆方法进行比较。实验结果表明,我们的方法是有效的,它以可比的运行时开销和代码大小提供了更强大的保护。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号