Logo des Repositoriums
 
Konferenzbeitrag

Return-address protection in C/C++ code by dependability aspects

Vorschaubild nicht verfügbar

Volltext URI

Dokumententyp

Text/Conference Paper

Zusatzinformation

Datum

2013

Zeitschriftentitel

ISSN der Zeitschrift

Bandtitel

Verlag

Gesellschaft für Informatik e.V.

Zusammenfassung

Due to shrinking structure sizes on memory chips, the probability of memory failures, such as spontaneous bit flips, is increasing. Especially in the domain of massproduced cheap embedded systems, hardware solutions are not affordable. Therefore, there is a need for cost-efficient software-based fault-tolerance mechanisms. In this paper we focus on such a mechanism for the protection of CPU stacks. A baseline assessment conducted with 21 benchmark and test programs shows that the stack is the most fault-susceptible data memory region - even more critical than the OS kernel's scheduler data structure, for instance. Our mechanism, which is based on profiling and a generic aspect-oriented implementation, supports detection and correction of bit flips in return addresses and frame pointers on the stack. It thereby reduces the number of stack-related program failures by 48.7 % and the number of all RAM-related failures by 13.3 % on the average over all benchmarks. The average code size overhead is 3.76 %, and a runtime overhead is only measurable for the subset of short-running benchmarks.

Beschreibung

Borchert, Christoph; Schirmeier, Horst; Spinczyk, Olaf (2013): Return-address protection in C/C++ code by dependability aspects. INFORMATIK 2013 – Informatik angepasst an Mensch, Organisation und Umwelt. Bonn: Gesellschaft für Informatik e.V.. PISSN: 1617-5468. ISBN: 978-3-88579-614-5. pp. 2519-2533. Regular Research Papers. Koblenz. 16.-20. September 2013

Schlagwörter

Zitierform

DOI

Tags