REASSURE: A Self-contained Mechanism for Healing Software Using Rescue Points

Portokalidis, Georgios; Keromytis, Angelos D.

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.



Also Published In

Advances in Information and Computer Security: 6th International Workshop on Security, IWSEC 2010, Tokyo, Japan, November 8-10, 2011: Proceedings

More About This Work

Academic Units
Computer Science
Lecture Notes in Computer Science
Published Here
August 8, 2011