REASSURE: a self-contained mechanism for healing software using rescue points

  • Authors:
  • Georgios Portokalidis;Angelos D. Keromytis

  • Affiliations:
  • Network Security Lab, Department of Computer Science, Columbia University, New York, NY;Network Security Lab, Department of Computer Science, Columbia University, New York, NY

  • Venue:
  • IWSEC'11 Proceedings of the 6th International conference on Advances in information and computer security
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Software errors are frequently responsible for the limited availability of Internet Services, loss of data, and many security compromises. Self-healing using rescue points (RPs) is a mechanism that can be used to recover software from unforeseen errors until a more permanent remedy, like a patch or update, is available. We present REASSURE, a self-contained mechanism for recovering from such errors using RPs. Essentially, RPs are existing code locations that handle certain anticipated errors in the target application, usually by returning an error code. REASSURE enables the use of these locations to also handle unexpected faults. This is achieved by rolling back execution to a RP when a fault occurs, returning a valid error code, and enabling the application to gracefully handle the unexpected error itself. REASSURE can be applied on already running applications, while disabling and removing it is equally facile. We tested REASSURE with various applications, including the MySQL and Apache servers, and show that it allows them to successfully recover from errors, while incurring moderate overhead between 1% and 115%. We also show that even under very adverse conditions, like their continuous bombardment with errors, REASSURE protected applications remain operational.