Repository logo
Log in(current)
Repository logoMIT Open ScholarshipDSpace@MIT
  1. Home
  2. Singapore-MIT Alliance (SMA)
  3. Computer Science (CS)
  4. Failure-Oblivious Computing and Boundless Memory Blocks

Failure-Oblivious Computing and Boundless Memory Blocks

Thumbnail Image
Download
Name

CS007a.pdf

Size

42.47 KB

Format

Adobe PDF

Checksum (MD5)

351647bf585cdb763612ec57d68a4b9e

Author(s)
Rinard, Martin C.
Date Issued
January 2005
Series/Report no.
Computer Science (CS);
Abstract
Memory errors are a common cause of incorrect software execution and security vulnerabilities. We have developed two new techniques that help software continue to execute successfully through memory errors: failure-oblivious computing and boundless memory blocks. The foundation of both techniques is a compiler that generates code that checks accesses via pointers to detect out of bounds accesses. Instead of terminating or throwing an exception, the generated code takes another action that keeps the program executing without memory corruption. Failure-oblivious code simply discards invalid writes and manufactures values to return for invalid reads, enabling the program to continue its normal execution path. Code that implements boundless memory blocks stores invalid writes away in a hash table to return as the values for corresponding out of bounds reads. he net effect is to (conceptually) give each allocated memory block unbounded size and to eliminate out of bounds accesses as a programming error. We have implemented both techniques and acquired several widely used open source servers (Apache, Sendmail, Pine, Mutt, and Midnight Commander).With standard compilers, all of these servers are vulnerable to buffer overflow attacks as documented at security tracking web sites. Both failure-oblivious computing and boundless memory blocks eliminate these security vulnerabilities (as well as other memory errors). Our results show that our compiler enables the servers to execute successfully through buffer overflow attacks to continue to correctly service user requests without security vulnerabilities.
Subjects
Memory Errors
Buffer Overflow Attacks
Failure-Oblivious Computing
Acceptability-Oriented Computing
Persistent DSpace Link
http://hdl.handle.net/1721.1/7505
Repository logo
PrivacyPermissionsAccessibilityContact us
Repository logo
Notify us about copyright concerns.