Next Article in Journal
Recent Developments in Mechanical Engineering
Previous Article in Journal
Preparation of Macroporous PEK-C Powders with Chemically Linked Ionic Liquids as Catalyst and Kinetics Study of Biomass
Article Menu
Issue 5 (May) cover image

Export Article

Open AccessArticle
Appl. Sci. 2018, 8(5), 771; https://doi.org/10.3390/app8050771

VMGuards: A Novel Virtual Machine Based Code Protection System with VM Security as the First Class Design Concern

1
School of Information Science and Technology, Northwest University, Xi’an 710127, China
2
School of Computer Science & Technology, Xi’an University of Posts & Telecommunications, Xi’an 710121, China
3
School of Computing and Communications, Lancaster University, Lancaster LA1 4YX, UK
*
Author to whom correspondence should be addressed.
Received: 3 April 2018 / Revised: 27 April 2018 / Accepted: 8 May 2018 / Published: 12 May 2018
(This article belongs to the Section Computer Science and Electrical Engineering)
View Full-Text   |   Download PDF [3160 KB, uploaded 16 May 2018]   |  

Abstract

Process-level virtual machine (PVM) based code obfuscation is a viable means for protecting software against runtime code tampering and unauthorized code reverse engineering. PVM-based approaches rely on a VM to determine how instructions of the protected code region are scheduled and executed. Therefore, it is crucial to protect the VM against runtime code tampering that alters the instructions and behavior of the VM. This paper presents VMGuards, a novel PVM-based code protection system that puts the security of VM as the first class design concern. Our approach advances prior work by promoting security of the VM as the first class design constraint. We achieve this by introducing two new instruction sets to protect the internal implementations of critical code segments and the host runtime environment where the VM runs in. Our new instruction sets not only have an identical code structure as standard virtual instructions, but also provide additional information to allow the VM to check whether the critical internal implementation or the runtime environment is affected. We evaluate our approach by using a set of real-life applications. Experimental results show that our approach provides stronger and more fine-grained protection when compared to the state-of-the-art with little extra overhead. View Full-Text
Keywords: software tamper-proofing; process-level virtual machine protection; code obfuscation; software protection software tamper-proofing; process-level virtual machine protection; code obfuscation; software protection
Figures

Figure 1

This is an open access article distributed under the Creative Commons Attribution License which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. (CC BY 4.0).
SciFeed

Share & Cite This Article

MDPI and ACS Style

Tang, Z.; Li, M.; Ye, G.; Cao, S.; Chen, M.; Gong, X.; Fang, D.; Wang, Z. VMGuards: A Novel Virtual Machine Based Code Protection System with VM Security as the First Class Design Concern. Appl. Sci. 2018, 8, 771.

Show more citation formats Show less citations formats

Note that from the first issue of 2016, MDPI journals use article numbers instead of page numbers. See further details here.

Related Articles

Article Metrics

Article Access Statistics

1

Comments

[Return to top]
Appl. Sci. EISSN 2076-3417 Published by MDPI AG, Basel, Switzerland RSS E-Mail Table of Contents Alert
Back to Top