CoMeT: Configurable Tagged Memory Extension
Abstract
:1. Introduction
2. Background
2.1. Tagged Memory Extensions
2.2. RISC-V
2.2.1. General Registers
2.2.2. Control and Status Register
2.2.3. RISC-V MTE
3. Design
3.1. CoMeT
3.2. Tag Permission Configuration Register
3.3. TPCR Management Instructions
3.4. Tag Permission Check
3.5. Security Solutions
3.5.1. Shadow Stack
3.5.2. In-Process Isolation
4. Evaluation
4.1. Functionality Verification
4.2. Performance Evaluation
4.2.1. Proxy Measurement
4.2.2. Shadow Stack Using TME
4.2.3. In-Process Isolation Using TME
4.3. Experimental Result
5. Related Work
5.1. Tagged Architecture
5.2. Instruction Extensions for Memory Protection
6. Discussion
6.1. The Threat against Address Tag
6.2. Comparison with Page Table Based Access Control
7. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
References
- Zeldovich, N.; Kannan, H.; Dalton, M.; Kozyrakis, C. Hardware Enforcement of Application Security Policies Using Tagged Memory. In Proceedings of the 8th USENIX Symposium on Operating Systems Design and Implementation (OSDI 08), San Diego, CA, USA, 8–10 December 2008; Volume 8, pp. 225–240. [Google Scholar]
- Song, C.; Moon, H.; Alam, M.; Yun, I.; Lee, B.; Kim, T.; Lee, W.; Paek, Y. HDFI: Hardware-assisted data-flow isolation. In Proceedings of the 2016 IEEE Symposium on Security and Privacy (SP), San Jose, CA, USA, 22–26 May 2016; pp. 1–17. [Google Scholar]
- Woodruff, J.; Watson, R.N.; Chisnall, D.; Moore, S.W.; Anderson, J.; Davis, B.; Laurie, B.; Neumann, P.G.; Norton, R.; Roe, M. The CHERI capability model: Revisiting RISC in an age of risk. In Proceedings of the 2014 ACM/IEEE 41st International Symposium on Computer Architecture (ISCA), Minneapolis, MN, USA, 14–18 June 2014; pp. 457–468. [Google Scholar]
- Weiser, S.; Werner, M.; Brasser, F.; Malenko, M.; Mangard, S.; Sadeghi, A.R. TIMBER-V: Tag-Isolated Memory Bringing Fine-grained Enclaves to RISC-V. In Proceedings of the Network and Distributed System Security (NDSS) Symposium 2019, San Diego, CA, USA, 24–27 February 2019. [Google Scholar]
- Seal, D. ARM Architecture Reference Manual; Pearson Education: San Fransisco, CA, USA, 2001. [Google Scholar]
- Aingaran, K.; Jairath, S.; Konstadinidis, G.; Leung, S.; Loewenstein, P.; McAllister, C.; Phillips, S.; Radovic, Z.; Sivaramakrishnan, R.; Smentek, D.; et al. M7: Oracle’s Next-Generation Sparc Processor. IEEE Micro 2015, 35, 36–45. [Google Scholar] [CrossRef]
- Serebryany, K. ARM Memory Tagging Extension and How It Improves C/C++ Memory Safety. Login USENIX Mag. 2019, 44, 5. [Google Scholar]
- Tagged Pointers in Android. Available online: https://source.android.com/devices/tech/debug/tagged-pointers (accessed on 29 September 2021).
- Park, S.; Lee, S.; Xu, W.; Moon, H.; Kim, T. libmpk: Software abstraction for intel memory protection keys (intel MPK). In Proceedings of the 2019 USENIX Annual Technical Conference (USENIX ATC 19), Renton, WA, USA, 9–12 July 2019; pp. 241–254. [Google Scholar]
- Vahldiek-Oberwagner, A.; Elnikety, E.; Duarte, N.O.; Sammler, M.; Druschel, P.; Garg, D. ERIM: Secure, efficient in-process isolation with protection keys (MPK). In Proceedings of the 28th USENIX Security Symposium (USENIX Security 19), Santa Clara, CA, USA, 14–16 August 2019; pp. 1221–1238. [Google Scholar]
- PolarFire SoC FPGA. Available online: https://www.microsemi.com/existing-parts/parts/152514 (accessed on 29 May 2021).
- Gattaca-Lab. RISC-V MTE. 2020. Available online: https://github.com/gattaca-lab/riscv_mte (accessed on 28 May 2021).
- Frascino, V. ARM v8. 5 Memory Tagging Extension. In Proceedings of the Linux Plumbers Conference, Lisbon, Portugal, 10 September 2019. [Google Scholar]
- Burow, N.; Zhang, X.; Payer, M. SoK: Shining light on shadow stacks. In Proceedings of the 2019 IEEE Symposium on Security and Privacy (SP), San Francisco, CA, USA, 19–23 May 2019; pp. 985–999. [Google Scholar]
- Chen, Y.; Reymondjohnson, S.; Sun, Z.; Lu, L. Shreds: Fine-grained execution units with private memory. In Proceedings of the 2016 IEEE Symposium on Security and Privacy (SP), San Jose, CA, USA, 22–26 May 2016; pp. 56–71. [Google Scholar]
- Lattner, C. LLVM and Clang: Next generation compiler technology. In Proceedings of the BSD Conference, Ottawa, ON, Canada, 16–17 May 2008; Volume 5. [Google Scholar]
- Pallister, J.; Hollis, S.J.; Bennett, J. BEEBS: Open Benchmarks for Energy Measurements on Embedded Platforms. arXiv 2013, arXiv:1308.5174. [Google Scholar]
- Zhou, Y.; Wang, X.; Chen, Y.; Wang, Z. Armlock: Hardware-based fault isolation for arm. In Proceedings of the 2014 ACM SIGSAC Conference on Computer and Communications Security, Scottsdale, AZ, USA, 3–7 November 2014; pp. 558–569. [Google Scholar]
- Manès, V.J.; Jang, D.; Ryu, C.; Kang, B.B. Domain Isolated Kernel: A lightweight sandbox for untrusted kernel extensions. Comput. Secur. 2018, 74, 130–143. [Google Scholar] [CrossRef]
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2021 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Lee, J.; Pratama, D.; Kim, M.; Kim, H.; Kwon, D. CoMeT: Configurable Tagged Memory Extension. Sensors 2021, 21, 7771. https://doi.org/10.3390/s21227771
Lee J, Pratama D, Kim M, Kim H, Kwon D. CoMeT: Configurable Tagged Memory Extension. Sensors. 2021; 21(22):7771. https://doi.org/10.3390/s21227771
Chicago/Turabian StyleLee, Jinjae, Derry Pratama, Minjae Kim, Howon Kim, and Donghyun Kwon. 2021. "CoMeT: Configurable Tagged Memory Extension" Sensors 21, no. 22: 7771. https://doi.org/10.3390/s21227771
APA StyleLee, J., Pratama, D., Kim, M., Kim, H., & Kwon, D. (2021). CoMeT: Configurable Tagged Memory Extension. Sensors, 21(22), 7771. https://doi.org/10.3390/s21227771