Boundless Memory Allocations for Memory Safety and High Availability
Research output: Contribution to conferences › Paper › Contributed › peer-review
Contributors
Abstract
Spatial memory errors (like buffer overflows) are still a major threat for applications written in C. Most recent work focuses on memory safety - when a memory error is detected at runtime, the application is aborted. Our goal is not only to increase the memory safety of applications but also to increase the application's availability. Therefore, we need to tolerate spatial memory errors at runtime. We have implemented a compiler extension, Boundless, that automatically adds the tolerance feature to C applications at compile time. We show that this can increase the availability of applications. Our measurements also indicate that Boundless has a lower performance overhead than SoftBound, a state-of-the-art approach to detect spatial memory errors. Our performance gains result from a novel way to represent pointers. Nevertheless, Boundless is compatible with existing C code. Additionally, Boundless provides a trade-off to reduce the runtime overhead even further: We introduce vulnerability specific patching for spatial memory errors to tolerate only known vulnerabilities. Vulnerability specific patching has an even lower runtime overhead than full tolerance.
Details
Original language | English |
---|---|
Number of pages | 12 |
Publication status | Published - 2011 |
Peer-reviewed | Yes |
Conference
Title | 41st Annual IEEE/IFIP International Conference on Dependable Systems and Networks 2011 |
---|---|
Abbreviated title | DSN 2011 |
Conference number | 41 |
Duration | 27 - 30 June 2011 |
Degree of recognition | International event |
City | Hong Kong |
Country | China |
Keywords
Research priority areas of TU Dresden
DFG Classification of Subject Areas according to Review Boards
Keywords
- Bounds checking, Fault tolerance, Comiler trnasformation, Availabilitity, Software safety