VirtSC: Combining Virtualization Obfuscation with Self-Checksumming
Mohsen Ahmadvand, Daniel Below, Sebastian Banescu, and Alexander, Pretschner

TL;DR
This paper introduces VirtSC, a layered protection combining virtualization obfuscation with self-checksumming, achieving architecture-agnostic tamper-proofing with manageable overheads for certain applications.
Contribution
VirtSC uniquely integrates virtualization obfuscation with self-checksumming, eliminating the need for post-compilation adjustments and enhancing program protection.
Findings
Average overhead of 43% for complete protection
Overheads are tolerable for less CPU-intensive applications
Large virtualization overheads were observed
Abstract
Self-checksumming (SC) is a tamper-proofing technique that ensures certain program segments (code) in memory hash to known values at runtime. SC has few restrictions on application and hence can protect a vast majority of programs. The code verification in SC requires computation of the expected hashes after compilation, as the machine-code is not known before. This means the expected hash values need to be adjusted in the binary executable, hence combining SC with other protections is limited due to this adjustment step. However, obfuscation protections are often necessary, as SC protections can be otherwise easily detected and disabled via pattern matching. In this paper, we present a layered protection using virtualization obfuscation, yielding an architecture-agnostic SC protection that requires no post-compilation adjustment. We evaluate the performance of our scheme using a…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
