Termination in language-based systems

  • Authors:
  • Algis Rudys;Dan S. Wallach

  • Affiliations:
  • Department of Computer Science, Rice University, Houston, TX;Department of Computer Science, Rice University, Houston, TX

  • Venue:
  • ACM Transactions on Information and System Security (TISSEC)
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

Language run-time systems are increasingly being embedded insystems to support run-time extensibility via mobile code. Suchsystems raise a number of concerns when the code running in suchsystems is potentially buggy or untrusted. Although sophisticatedaccess controls have been designed for mobile code and are shippingas part of commercial systems such as Java, there is no support forterminating mobile code short of terminating the entire languagerun-time. This article presents a concept called "soft termination"that can be applied to virtually any mobile code system. Softtermination allows mobile code threads to be safely terminatedwhile preserving the stability of the language run-time. Inaddition, function bodies can be permanently disabled, thwartingattacks predicated on system threads eventually calling untrustedfunctions. Soft termination guarantees termination by breaking anypotential infinite loops in mobile code. We present a formal designfor soft termination and an implementation of it for Java, builtusing Java bytecode rewriting, which demonstrates reasonableperformance (3 to 25% slowdowns onbenchmarks).