Projects per year
Abstract
C/C++ memory safety issues, such as out-of-bounds errors, are still prevalent in today's applications. The presence of a single exploitable software bug allows an adversary to gain unauthorized memory access and ultimately compromise the entire system. Typically, memory safety schemes only achieve widespread adaption if they provide lightweight and practical security. Thus, hardware support is indispensable. However, countermeasures often restrict unauthorized access to data using heavy-weight protection mechanisms that extensively reshape the processor's microarchitecture and break legacy compatibility.
This paper presents cryptographically sealed pointers, a novel approach for memory safety based on message authentication codes (MACs) and object-granular metadata that is efficiently scaled and stored in tagged memory. The MAC cryptographically binds the object's bounds and liveness information, represented by the corresponding address range and memory tag, to the pointer. Through recent low-latency block cipher designs, we are able to authenticate sealed pointers on every memory access, cryptographically enforcing temporal and spatial memory safety. Our lightweight ISA extension only requires minimal hardware changes while maintaining binary compatibility. We systematically analyze the security and efficacy of our design using the NIST Juliet C/C++ test suite. The simulated performance overhead of our prototype implementation showcases competitive results for the SPEC CPU2017 benchmark suite with an average overhead of just 1.3 % and 9.5 % for the performance and efficiency modes, respectively.
This paper presents cryptographically sealed pointers, a novel approach for memory safety based on message authentication codes (MACs) and object-granular metadata that is efficiently scaled and stored in tagged memory. The MAC cryptographically binds the object's bounds and liveness information, represented by the corresponding address range and memory tag, to the pointer. Through recent low-latency block cipher designs, we are able to authenticate sealed pointers on every memory access, cryptographically enforcing temporal and spatial memory safety. Our lightweight ISA extension only requires minimal hardware changes while maintaining binary compatibility. We systematically analyze the security and efficacy of our design using the NIST Juliet C/C++ test suite. The simulated performance overhead of our prototype implementation showcases competitive results for the SPEC CPU2017 benchmark suite with an average overhead of just 1.3 % and 9.5 % for the performance and efficiency modes, respectively.
Original language | English |
---|---|
Title of host publication | CCS 2023 - Proceedings of the 2023 ACM SIGSAC Conference on Computer and Communications Security |
Publisher | Association of Computing Machinery |
Pages | 889-903 |
Number of pages | 15 |
ISBN (Electronic) | 9798400700507 |
DOIs | |
Publication status | Published - 15 Nov 2023 |
Event | 30th ACM Conference on Computer and Communications Security: CCS 2023 - Copenhagen, Denmark Duration: 26 Nov 2023 → 30 Nov 2023 |
Publication series
Name | CCS 2023 - Proceedings of the 2023 ACM SIGSAC Conference on Computer and Communications Security |
---|
Conference
Conference | 30th ACM Conference on Computer and Communications Security |
---|---|
Country/Territory | Denmark |
City | Copenhagen |
Period | 26/11/23 → 30/11/23 |
Keywords
- Memory Safety
- Low-latency Cryptography
- Memory Tagging
ASJC Scopus subject areas
- Software
- Hardware and Architecture
Fingerprint
Dive into the research topics of 'Cryptographically Enforced Memory Safety'. Together they form a unique fingerprint.-
AWARE - Hardware-Ensured Software Security
Mangard, S. (Co-Investigator (CoI))
1/05/22 → 30/04/25
Project: Research project
-
SEIZE - Secure Edge Devices For Industrial Zero-Trust Environments
Mangard, S. (Co-Investigator (CoI))
1/01/22 → 31/12/24
Project: Research project