Home > Research > Publications & Outputs > Exploiting Code Diversity to Enhance Code Virtu...

Electronic data

  • ICPADS2018_paper_254

    Accepted author manuscript, 1.65 MB, PDF document

    Available under license: CC BY-NC: Creative Commons Attribution-NonCommercial 4.0 International License

Links

Text available via DOI:

View graph of relations

Exploiting Code Diversity to Enhance Code Virtualization Protection

Research output: Contribution in Book/Report/Proceedings - With ISBN/ISSNConference contribution/Paperpeer-review

Published

Standard

Exploiting Code Diversity to Enhance Code Virtualization Protection. / Xue, Chao; Tang, Zhanyong; Ye, Guixin et al.
2018 IEEE 24th International Conference on Parallel and Distributed Systems (ICPADS). IEEE, 2018. p. 620-627.

Research output: Contribution in Book/Report/Proceedings - With ISBN/ISSNConference contribution/Paperpeer-review

Harvard

Xue, C, Tang, Z, Ye, G, Li, G, Gong, X, Wang, W, Fang, D & Wang, Z 2018, Exploiting Code Diversity to Enhance Code Virtualization Protection. in 2018 IEEE 24th International Conference on Parallel and Distributed Systems (ICPADS). IEEE, pp. 620-627. https://doi.org/10.1109/PADSW.2018.8644535

APA

Xue, C., Tang, Z., Ye, G., Li, G., Gong, X., Wang, W., Fang, D., & Wang, Z. (2018). Exploiting Code Diversity to Enhance Code Virtualization Protection. In 2018 IEEE 24th International Conference on Parallel and Distributed Systems (ICPADS) (pp. 620-627). IEEE. https://doi.org/10.1109/PADSW.2018.8644535

Vancouver

Xue C, Tang Z, Ye G, Li G, Gong X, Wang W et al. Exploiting Code Diversity to Enhance Code Virtualization Protection. In 2018 IEEE 24th International Conference on Parallel and Distributed Systems (ICPADS). IEEE. 2018. p. 620-627 doi: 10.1109/PADSW.2018.8644535

Author

Xue, Chao ; Tang, Zhanyong ; Ye, Guixin et al. / Exploiting Code Diversity to Enhance Code Virtualization Protection. 2018 IEEE 24th International Conference on Parallel and Distributed Systems (ICPADS). IEEE, 2018. pp. 620-627

Bibtex

@inproceedings{c7091e474af74046bfce795d6b6d0679,
title = "Exploiting Code Diversity to Enhance Code Virtualization Protection",
abstract = "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.",
author = "Chao Xue and Zhanyong Tang and Guixin Ye and Guanghui Li and Xiaoqing Gong and Wei Wang and Dingyi Fang and Zheng Wang",
year = "2018",
month = dec,
day = "11",
doi = "10.1109/PADSW.2018.8644535",
language = "English",
pages = "620--627",
booktitle = "2018 IEEE 24th International Conference on Parallel and Distributed Systems (ICPADS)",
publisher = "IEEE",

}

RIS

TY - GEN

T1 - Exploiting Code Diversity to Enhance Code Virtualization Protection

AU - Xue, Chao

AU - Tang, Zhanyong

AU - Ye, Guixin

AU - Li, Guanghui

AU - Gong, Xiaoqing

AU - Wang, Wei

AU - Fang, Dingyi

AU - Wang, Zheng

PY - 2018/12/11

Y1 - 2018/12/11

N2 - 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.

AB - 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.

U2 - 10.1109/PADSW.2018.8644535

DO - 10.1109/PADSW.2018.8644535

M3 - Conference contribution/Paper

SP - 620

EP - 627

BT - 2018 IEEE 24th International Conference on Parallel and Distributed Systems (ICPADS)

PB - IEEE

ER -