Boundless Memory Allocations for Memory Safety and High Availability
Publikation: Beitrag zu Konferenzen › Paper › Beigetragen › Begutachtung
Beitragende
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
Originalsprache | Englisch |
---|---|
Seitenumfang | 12 |
Publikationsstatus | Veröffentlicht - 2011 |
Peer-Review-Status | Ja |
Konferenz
Titel | 41st Annual IEEE/IFIP International Conference on Dependable Systems and Networks 2011 |
---|---|
Kurztitel | DSN 2011 |
Veranstaltungsnummer | 41 |
Dauer | 27 - 30 Juni 2011 |
Bekanntheitsgrad | Internationale Veranstaltung |
Stadt | Hong Kong |
Land | China |
Schlagworte
Forschungsprofillinien der TU Dresden
DFG-Fachsystematik nach Fachkollegium
Schlagwörter
- Bounds checking, Fault tolerance, Comiler trnasformation, Availabilitity, Software safety