A secure and robust approach to software tamper resistance

  • Authors:
  • Sudeep Ghosh;Jason D. Hiser;Jack W. Davidson

  • Affiliations:
  • Department of Computer Science, University of Virginia, Charlottesville, VA;Department of Computer Science, University of Virginia, Charlottesville, VA;Department of Computer Science, University of Virginia, Charlottesville, VA

  • Venue:
  • IH'10 Proceedings of the 12th international conference on Information hiding
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Software tamper-resistance mechanisms have increasingly assumed significance as a technique to prevent unintended uses of software. Closely related to anti-tampering techniques are obfuscation techniques, which make code difficult to understand or analyze and therefore, challenging to modify meaningfully. This paper describes a secure and robust approach to software tamper resistance and obfuscation using process-level virtualization. The proposed techniques involve novel uses of software checksumming guards and encryption to protect an application. In particular, a virtual machine (VM) is assembled with the application at software build time such that the application cannot run without the VM. The VM provides just-in-time decryption of the program and dynamism for the application's code. The application's code is used to protect the VM to ensure a level of circular protection. Finally, to prevent the attacker from obtaining an analyzable snapshot of the code, the VM periodically discards all decrypted code. We describe a prototype implementation of these techniques and evaluate the run-time performance of applications using our system. We also discuss how our system provides stronger protection against tampering attacks than previously described tamper-resistance approaches.