arrow
Return

CPP: A lightweight memory page management extension to prevent code pointer leakage

delete2022-09-01
delete1
delete
OA
AI
J
Jiameng Ying
R
Rui Hou
L
Lutan Zhao
F
Fengkai Yuan *
P
Penghui Zhao
D
Dan Meng
DOI:10.1016/j.sysarc.2022.102679delete
deleteOriginal
deleteShare
deleteSave
View PDF
Abstract

Abstract

En 中文
Protecting code pointers (e.g., return address, function pointer) from leakage is desirable from a security perspective. Isolation mechanisms have been the favored candidate to protect code pointers. However, these mechanisms result in significant performance overhead as they need to instrument extra instructions for frequent permission switching or bound checking. In this paper, we propose CPP, a novel Code Pointer -only Memory Page Management to restrict attack-critical operations for code pointers by hardware. Our hardware-software co-design allows CPP mark code pointers at page granularity that requires minor hardware modification. CPP checks the legality of their operations in parallel with instruction execution. We implement a prototype system and our evaluation shows CPP can effectively mitigate the code pointer leakage attacks with less than 2.1% performance overhead.
Keywords:
System security
Hardware-software co-design
Code pointer leakage
Memory safety
AI Summary

AI Summary

Key information extracted from the uploaded paper, including a brief overview, abstract, background, key highlights, visual analysis, and future outlook.

Journal

Journal of Systems Architecture cover
Journal of Systems Architecture
IF:
4.1
Papers:
3.0K
Citations:
4.2K

Organization

C
chinese academy of sciences
Scholars:
56.2W
Papers: 44.8W
Citations: 704