Home > Research > Publications & Outputs > VMGuards

Electronic data

  • applsci-08-00771-v2

    Final published version, 3.09 MB, PDF document

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

Links

Text available via DOI:

View graph of relations

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

Research output: Contribution to Journal/MagazineJournal articlepeer-review

Published

Standard

VMGuards: A Novel Virtual Machine Based Code Protection System with VM Security as the First Class Design Concern. / Tang, Zhanyong; Li, Meng; Cao, Shuai et al.
In: Applied Sciences, Vol. 8, No. 5, 771, 12.05.2018.

Research output: Contribution to Journal/MagazineJournal articlepeer-review

Harvard

Tang, Z, Li, M, Cao, S, Chen, M, Ye, G, Gong, X, Fang, D & Wang, Z 2018, 'VMGuards: A Novel Virtual Machine Based Code Protection System with VM Security as the First Class Design Concern', Applied Sciences, vol. 8, no. 5, 771. https://doi.org/10.3390/app8050771

APA

Tang, Z., Li, M., Cao, S., Chen, M., Ye, G., Gong, X., Fang, D., & Wang, Z. (2018). VMGuards: A Novel Virtual Machine Based Code Protection System with VM Security as the First Class Design Concern. Applied Sciences, 8(5), Article 771. https://doi.org/10.3390/app8050771

Vancouver

Tang Z, Li M, Cao S, Chen M, Ye G, Gong X et al. VMGuards: A Novel Virtual Machine Based Code Protection System with VM Security as the First Class Design Concern. Applied Sciences. 2018 May 12;8(5):771. doi: 10.3390/app8050771

Author

Tang, Zhanyong ; Li, Meng ; Cao, Shuai et al. / VMGuards : A Novel Virtual Machine Based Code Protection System with VM Security as the First Class Design Concern. In: Applied Sciences. 2018 ; Vol. 8, No. 5.

Bibtex

@article{9d17cc7296804537bae91b04591c2d52,
title = "VMGuards: A Novel Virtual Machine Based Code Protection System with VM Security as the First Class Design Concern",
abstract = "Process-level virtual machine (PVM) based code obfuscation is a viable means for protectingsoftware against runtime code tampering and unauthorized code reverse engineering. PVM-basedapproaches rely on a VM to determine how instructions of the protected code region are scheduledand executed. Therefore, it is crucial to protect the VM against runtime code tampering that altersthe instructions and behavior of the VM. This paper presents VMGuards, a novel PVM-based codeprotection system that puts the security of VM as the first class design concern. Our approachadvances prior work by promoting security of the VM as the first class design constraint. We achievethis by introducing two new instruction sets to protect the internal implementations of criticalcode segments and the host runtime environment where the VM runs in. Our new instructionsets not only have an identical code structure as standard virtual instructions, but also provideadditional information to allow the VM to check whether the critical internal implementation or theruntime 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 protectionwhen compared to the state-of-the-art with little extra overhead.",
keywords = "software tamper-proofing, process-level virtual machine protection, code obfuscation, software protection",
author = "Zhanyong Tang and Meng Li and Shuai Cao and Meiling Chen and Guixin Ye and Xiaoqing Gong and Dingyi Fang and Zheng Wang",
year = "2018",
month = may,
day = "12",
doi = "10.3390/app8050771",
language = "English",
volume = "8",
journal = "Applied Sciences",
issn = "2076-3417",
publisher = "Multidisciplinary Digital Publishing Institute (MDPI)",
number = "5",

}

RIS

TY - JOUR

T1 - VMGuards

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

AU - Tang, Zhanyong

AU - Li, Meng

AU - Cao, Shuai

AU - Chen, Meiling

AU - Ye, Guixin

AU - Gong, Xiaoqing

AU - Fang, Dingyi

AU - Wang, Zheng

PY - 2018/5/12

Y1 - 2018/5/12

N2 - Process-level virtual machine (PVM) based code obfuscation is a viable means for protectingsoftware against runtime code tampering and unauthorized code reverse engineering. PVM-basedapproaches rely on a VM to determine how instructions of the protected code region are scheduledand executed. Therefore, it is crucial to protect the VM against runtime code tampering that altersthe instructions and behavior of the VM. This paper presents VMGuards, a novel PVM-based codeprotection system that puts the security of VM as the first class design concern. Our approachadvances prior work by promoting security of the VM as the first class design constraint. We achievethis by introducing two new instruction sets to protect the internal implementations of criticalcode segments and the host runtime environment where the VM runs in. Our new instructionsets not only have an identical code structure as standard virtual instructions, but also provideadditional information to allow the VM to check whether the critical internal implementation or theruntime 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 protectionwhen compared to the state-of-the-art with little extra overhead.

AB - Process-level virtual machine (PVM) based code obfuscation is a viable means for protectingsoftware against runtime code tampering and unauthorized code reverse engineering. PVM-basedapproaches rely on a VM to determine how instructions of the protected code region are scheduledand executed. Therefore, it is crucial to protect the VM against runtime code tampering that altersthe instructions and behavior of the VM. This paper presents VMGuards, a novel PVM-based codeprotection system that puts the security of VM as the first class design concern. Our approachadvances prior work by promoting security of the VM as the first class design constraint. We achievethis by introducing two new instruction sets to protect the internal implementations of criticalcode segments and the host runtime environment where the VM runs in. Our new instructionsets not only have an identical code structure as standard virtual instructions, but also provideadditional information to allow the VM to check whether the critical internal implementation or theruntime 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 protectionwhen compared to the state-of-the-art with little extra overhead.

KW - software tamper-proofing

KW - process-level virtual machine protection

KW - code obfuscation

KW - software protection

U2 - 10.3390/app8050771

DO - 10.3390/app8050771

M3 - Journal article

VL - 8

JO - Applied Sciences

JF - Applied Sciences

SN - 2076-3417

IS - 5

M1 - 771

ER -