Practical uses of virtual machines for protection of sensitive user data

  • Authors:
  • Peter C. S. Kwan;Glenn Durfee

  • Affiliations:
  • Electrical Engineering Department, Princeton University;Palo Alto Research Center

  • Venue:
  • ISPEC'07 Proceedings of the 3rd international conference on Information security practice and experience
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Systems running commodity software are easily compromised with malware, which may be used by attackers to extract personal information of the users of the systems. This paper presents Vault - a system that uses a trusted software component to prevent the exposure and abuse of sensitive user data in the presence of malware. Users input and store their sensitive data only in the trusted component, which is separated from the commodity system by a virtual machine monitor. We define a protocol framework for the interactions required between different system components in order to protect user secrets, even if the user is running a commodity operating system with arbitrary (and possibly malicious) software load, while introducing minimal changes to the user experience. Our design takes advantage of the isolation guarantees and safe I/O multiplexing of virtual machine technology to attain a high degree of security under a severe threat model. We demonstrate that our approach is practical by implementing prototypes for two applications: (1) submission of long-term secrets, such as password and credit card data, to a web server, and (2) SSH user authentication using ssh-agent. In both cases we made minimal changes to existing software components.