Automating and Simplifying Memory Corruption Attack Response Using Failure-Aware Computing

No Thumbnail Available

Date

2006-07-21

Journal Title

Series/Report No.

Journal ISSN

Volume Title

Publisher

Abstract

Over the last two decades, advances in software engineering have produced new ways of creating robust, reliable software. Unfortunately, the dream of bug-free software still eludes us. When bugs are discovered in deployed software, software failures and service disruption can lead to significant losses, both monetary and otherwise. The typical failure response process is composed of three phases: failure detection, cause analysis, and solution formulation. To minimize the impact of software failures, it is critical that each of these phases be completed as quickly as possible. This thesis is separated into two parts. In the first part, we propose a general conceptual approach called emph{failure-aware computing} that aims to automate as much of the failure response process as possible. We describe the architecture of this proposed framework, some possible applications, and challenges if it were implemented. We then describe how this framework can be applied to responding to memory corruption errors. In the second part, we describe and evaluate an implementation of part of this framework for diagnosing memory corruption failures. In particular, we discuss a root cause analysis tool we have created that analyzes a program's source code to determine which memory-related program events potentially lead to a memory corruption error. Our tool then monitors the afflicted program's execution and outputs useful information to aid the developer in understanding the root cause of the failure. We finally evaluate our tool's effectiveness in identifying the root cause of memory access errors in both self-written and open-source code.

Description

Keywords

root cause analysis, memory corruption attack, failure response

Citation

Degree

MS

Discipline

Computer Science

Collections