Affiliation:
1. Saarland University, SIC, Germany
Abstract
Memory safety violations such as buffer overflows are a threat to security to this day. A common solution to ensure memory safety for C is code instrumentation. However, this often causes high execution-time overhead and is therefore rarely used in production.
Static analyses can reduce this overhead by proving some memory accesses in bounds at compile time. In practice, however, static analyses may fail to verify in-bounds accesses due to over-approximation. Therefore, it is important to additionally optimize the checks that reside in the program.
In this article, we present PICO, an approach to eliminate
and
replace in-bounds checks. PICO exactly captures the spatial memory safety of accesses using Presburger formulas to either verify them statically or substitute existing checks with more efficient ones. Thereby, PICO can generate checks of which each covers multiple accesses and place them at infrequently executed locations.
We evaluate our LLVM-based PICO prototype with the well-known SoftBound instrumentation on SPEC benchmarks commonly used in related work. PICO reduces the execution-time overhead introduced by SoftBound by 36% on average (and the code-size overhead by 24%). Our evaluation shows that the impact of substituting checks dominates that of removing provably redundant checks.
Publisher
Association for Computing Machinery (ACM)
Subject
Hardware and Architecture,Information Systems,Software
Reference47 articles.
1. Periklis Akritidis Manuel Costa Miguel Castro and Steven Hand. 2009. Baggy bounds checking: An efficient and backwards-compatible defense against out-of-bounds errors. In SSYM’09. 51–66. https://dl.acm.org/citation.cfm?id=1855772. Periklis Akritidis Manuel Costa Miguel Castro and Steven Hand. 2009. Baggy bounds checking: An efficient and backwards-compatible defense against out-of-bounds errors. In SSYM’09. 51–66. https://dl.acm.org/citation.cfm?id=1855772.
2. The Iterated Exponential Integers
3. ABCD
Cited by
2 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. MIFP: Selective Fat-Pointer Bounds Compression for Accurate Bounds Checking;Proceedings of the 26th International Symposium on Research in Attacks, Intrusions and Defenses;2023-10-16
2. Catamaran: Low-Overhead Memory Safety Enforcement via Parallel Acceleration;Proceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis;2023-07-12