Architectural support for copy and tamper resistant software

  • Authors:
  • David Lie Chandramohan Thekkath;Mark Mitchell;Patrick Lincoln;Dan Boneh;John Mitchell;Mark Horowitz

  • Affiliations:
  • Computer Systems Laboratory, Stanford University, Stanford, CA and Compaq Systems Research;Computer Systems Laboratory, Stanford University, Stanford, CA;-;-;-;Computer Systems Laboratory, Stanford University, Stanford, CA

  • Venue:
  • ASPLOS IX Proceedings of the ninth international conference on Architectural support for programming languages and operating systems
  • Year:
  • 2000

Quantified Score

Hi-index 0.01

Visualization

Abstract

Although there have been attempts to develop code transformations that yield tamper-resistant software, no reliable software-only methods are know. This paper studies the hardware implementation of a form of execute-only memory (XOM) that allows instructions stored in memory to be executed but not otherwise manipulated. To support XOM code we use a machine that supports internal compartments---a process in one compartment cannot read data from another compartment. All data that leaves the machine is encrypted, since we assume external memory is not secure. The design of this machine poses some interesting trade-offs between security, efficiency, and flexibility. We explore some of the potential security issues as one pushes the machine to become more efficient and flexible. Although security carries a performance penalty, our analysis indicates that it is possible to create a normal multi-tasking machine where nearly all applications can be run in XOM mode. While a virtual XOM machine is possible, the underlying hardware needs to support a unique private key, private memory, and traps on cache misses. For efficient operation, hardware assist to provide fast symmetric ciphers is also required.