Hardware-based Always-On Heap Memory Safety
Hardware-based Always-On Heap Memory Safety
复制标题
基于硬件的始终在线堆内存安全
DOI:
--
复制
发表时间:
2020
期刊:
影响因子:
--
通讯作者:
Hyesoon Kim
中科院分区:
文献类型:
--
作者:
Yonghae Kim;Jaekyu Lee;Hyesoon Kim
Memory safety violations, caused by illegal use of pointers in unsafe programming languages such as C and C++, have been a major threat to modern computer systems. However, implementing a low-overhead yet robust runtime memory safety solution is still challenging. Various hardware-based mechanisms have been proposed, but their significant hardware requirements have limited their feasibility, and their performance overhead is too high to be an always-on solution.In this paper, we propose AOS, a low-overhead always-on heap memory safety solution that implements a novel bounds-checking mechanism. We identify that the major challenges of existing bounds-checking approaches are 1) the extra instruction overhead for memory checking and metadata propagation and 2) the complex metadata addressing. To address these challenges, using Arm PA primitives, we leverage unused upper bits of a pointer to store a key and have it propagated along with the pointer address, eliminating propagation overhead. Then, we use the embedded key to index a hashed bounds table to achieve efficient metadata management. We also introduce a micro-architectural unit to remove the need for memory checking instructions. We show that AOS overcomes all the aforementioned challenges and demonstrate its feasibility as an efficient runtime memory safety solution. Our evaluation for SPEC 2006 workloads shows an 8.4% performance overhead on average.
影响因子:
3.7
作者:
Woodruff J
通讯作者:
Woodruff J
DOI:
10.1145/3297858.3304017
发表时间:
2019-04
期刊:
Proceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems
影响因子:
--
作者:
T. Zhang;Dongyoon Lee;Changhee Jung
通讯作者:
T. Zhang;Dongyoon Lee;Changhee Jung