首页> 外文会议>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的代码混淆系统来解决这个问题。我们的方法的核心思想是在字节码指令及其语义的OPCODES之间制定映射。我们通过将每个受保护的代码区域分区到多个段中来实现这一点,其中在不同的段中以不同的方式随机地随机化了OPCODES及其语义的映射。以这种方式,每个字节码指令将在混淆代码的不同部分中翻译成不同的本机代码。这显着提高了程序行为的多样性。因此,在针对新程序时,通过其他程序获得的字节码到从其他程序获得的本机代码映射。我们在一组现实世界应用中评估了我们的方法,并将其与两个基于最先进的VM的代码混淆方法进行比较。实验结果表明,我们的方法是有效的,这提供了更强大的保护,具有可比的运行时开销和代码大小。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号