Projects per year
Abstract
Memory vulnerabilities are a major threat to many computing systems.
To effectively thwart spatial and temporal memory vulnerabilities, full logical memory safety is required.
However, current mitigation techniques for memory safety are either too expensive or trade security against efficiency.
One promising attempt to detect memory safety vulnerabilities in hardware is memory coloring, a security policy deployed on top of tagged memory architectures.
However, due to the memory storage and bandwidth overhead of large tags, commodity tagged memory architectures usually only provide small tag sizes, thus limiting their use for security applications.
Irrespective of logical memory safety, physical memory safety is a necessity in hostile environments prevalent for modern cloud computing and IoT devices.
Architectures from Intel and AMD already implement transparent memory encryption to maintain confidentiality and integrity of all off-chip data.
Surprisingly, the combination of both, logical and physical memory safety, has not yet been extensively studied in previous research, and a naive combination of both security strategies would accumulate both overheads.
In this paper, we propose CrypTag, an efficient hardware/software co-design mitigating a large class of logical memory safety issues and providing full physical memory safety.
At its core, CrypTag utilizes a transparent memory encryption engine not only for physical memory safety, but also for memory coloring at hardly any additional costs.
The design avoids any overhead for tag storage by embedding memory colors in the upper bits of a pointer and using these bits as an additional input for the memory encryption.
A custom compiler extension automatically leverages CrypTag to detect logical memory safety issues for commodity programs and is fully backward compatible.
For evaluating the design, we extended a RISC-V processor with memory encryption with CrypTag.
Furthermore, we developed a LLVM-based toolchain automatically protecting all dynamic, local, and global data.
Our evaluation shows a hardware overhead of less than 1% and an average runtime overhead between 1.5% and 6.1% for thwarting logical memory safety vulnerabilities on a system already featuring memory encryption.
Enhancing a system with memory encryption typically induces a runtime overhead between 5% and 109.8% for commercial and open-source encryption units.
To effectively thwart spatial and temporal memory vulnerabilities, full logical memory safety is required.
However, current mitigation techniques for memory safety are either too expensive or trade security against efficiency.
One promising attempt to detect memory safety vulnerabilities in hardware is memory coloring, a security policy deployed on top of tagged memory architectures.
However, due to the memory storage and bandwidth overhead of large tags, commodity tagged memory architectures usually only provide small tag sizes, thus limiting their use for security applications.
Irrespective of logical memory safety, physical memory safety is a necessity in hostile environments prevalent for modern cloud computing and IoT devices.
Architectures from Intel and AMD already implement transparent memory encryption to maintain confidentiality and integrity of all off-chip data.
Surprisingly, the combination of both, logical and physical memory safety, has not yet been extensively studied in previous research, and a naive combination of both security strategies would accumulate both overheads.
In this paper, we propose CrypTag, an efficient hardware/software co-design mitigating a large class of logical memory safety issues and providing full physical memory safety.
At its core, CrypTag utilizes a transparent memory encryption engine not only for physical memory safety, but also for memory coloring at hardly any additional costs.
The design avoids any overhead for tag storage by embedding memory colors in the upper bits of a pointer and using these bits as an additional input for the memory encryption.
A custom compiler extension automatically leverages CrypTag to detect logical memory safety issues for commodity programs and is fully backward compatible.
For evaluating the design, we extended a RISC-V processor with memory encryption with CrypTag.
Furthermore, we developed a LLVM-based toolchain automatically protecting all dynamic, local, and global data.
Our evaluation shows a hardware overhead of less than 1% and an average runtime overhead between 1.5% and 6.1% for thwarting logical memory safety vulnerabilities on a system already featuring memory encryption.
Enhancing a system with memory encryption typically induces a runtime overhead between 5% and 109.8% for commercial and open-source encryption units.
Original language | English |
---|---|
Title of host publication | ASIA CCS '21: Proceedings of the 2021 ACM Asia Conference on Computer and Communications Security |
Publisher | Association of Computing Machinery |
Pages | 200–212 |
ISBN (Electronic) | 978-1-4503-8287-8 |
DOIs | |
Publication status | Published - May 2021 |
Event | 2021 ACM Asia Conference on Computer and Communications Security - Virtuell, China Duration: 7 Jun 2021 → 11 Jun 2021 https://asiaccs2021.comp.polyu.edu.hk/ |
Conference
Conference | 2021 ACM Asia Conference on Computer and Communications Security |
---|---|
Abbreviated title | ACM ASIACCS 2021 |
Country/Territory | China |
City | Virtuell |
Period | 7/06/21 → 11/06/21 |
Internet address |
Fingerprint
Dive into the research topics of 'CrypTag: Thwarting Physical and Logical Memory Vulnerabilities using Cryptographically Colored Memory'. Together they form a unique fingerprint.Projects
- 1 Finished
-
EU - SOPHIA - Securing Software against Physical Attacks
Mangard, S. (Co-Investigator (CoI))
1/09/16 → 31/12/21
Project: Research project