• DocumentCode
    3135963
  • Title

    Safe virtual execution using software dynamic translation

  • Author

    Scott, Kevin ; Davidson, Jack

  • Author_Institution
    Dept. of Comput. Sci., Virginia Univ., Charlottesville, VA, USA
  • fYear
    2002
  • fDate
    2002
  • Firstpage
    209
  • Lastpage
    218
  • Abstract
    Safe virtual execution (SVE) allows a host computer system to reduce the risks associated with running untrusted programs. SVE prevents untrusted programs from directly accessing system resources, thereby giving the host the ability to control how individual resources may be used. SVE is used in a variety, of safety-conscious software systems, including the Java Virtual Machine (JVM), software fault isolation (SFI), system call interposition layers, and execution monitors. While SVE is the conceptual foundation for these systems, each uses a different implementation technology. The lack of a unifying framework for building SVE systems results in a variety of problems: many useful SVE systems are not portable and therefore are usable only on a limited number of platforms; code reuse among different SVE systems is often difficult or impossible; and building SVE systems from scratch can be both time consuming and error prone. To address these concerns, we have developed a portable, extensible framework for constructing SVE systems. Our framework, called Strata, is based on software dynamic translation (SDT), a technique for modifying binary programs as they execute. Strata is designed to be ported easily to new platforms and to date has been targeted to SPARC/Solaris, x86/Linux, and MIPS/IRIX. This portability ensures that SVE applications implemented in Strata are available to a wide variety of host systems. Strata also affords the opportunity for code reuse among different SVE applications by establishing a common implementation framework. Strata implements a basic safe virtual execution engine using SDT The base functionality supplied by this engine is easily extended to implement specific SVE systems. In this paper we describe the organization of Strata and demonstrate its extension by building two SVE systems: system call interposition and stack-smashing prevention. To illustrate the use of the system call interposition extensions, the paper presents implementations of several useful security policies.
  • Keywords
    security of data; software engineering; software reusability; virtual machines; Strata; execution monitors; extensible framework; host computer svstem; safe virtual execution; software dynamic translation; software fault isolation; system call interposition layers; untrusted programs; Application software; Buildings; Control systems; Engines; Isolation technology; Java; Linux; Software safety; Software systems; Virtual machining;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Computer Security Applications Conference, 2002. Proceedings. 18th Annual
  • ISSN
    1063-9527
  • Print_ISBN
    0-7695-1828-1
  • Type

    conf

  • DOI
    10.1109/CSAC.2002.1176292
  • Filename
    1176292