Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3447818.3460377acmconferencesArticle/Chapter ViewAbstractPublication PagesicsConference Proceedingsconference-collections
research-article
Public Access

ProMT: optimizing integrity tree updates for write-intensive pages in secure NVMs

Published: 04 June 2021 Publication History

Abstract

Current computer systems are vulnerable to a wide range of attacks caused by the proliferation of accelerators, and the fact that current system comprise multiple SoCs provided from different vendors. Thus, major processor vendors are moving towards limiting the trust boundary to the processor chip only as in Intel's SGX, AMD's SME, and ARM's TrustZone. This secure boundary limitation requires protecting the memory content against data remanence attacks, which were performed against DRAM in the form of cold-boot attack and are more successful against NVM due to NVM's data persistency feature. However, implementing secure memory features, such as memory encryption and integrity verification has a non-trivial performance overhead, and can significantly reduce the emerging NVM's expected lifetime. Previous work looked at reducing the overheads of the secure memory implementation by packing more counters into a cache line, increasing the cacheability of security metadata, slightly reducing the size of the integrity tree, or using the ECC chip to store the MAC values. However, the root update process is barely studied, which requires a sequential update of the MAC values in all the integrity tree levels.
In this paper, we propose ProMT, a novel memory controller design that ensures a persistently secure system with minimal overheads. ProMT protects the data confidentiality and ensures the data integrity with minimal overheads. ProMT reduces the performance overhead of secure memory implementation to 11.7%, extends the NVM's life time by 3.59x, and enables the system recovery in a fraction of a second.

References

[1]
[n.d.]. AMD Memory Encryption. http://amd-dev.wpengine.netdna-cdn.com/wordpress/media/2013/12/AMD_Memory_Encryption_Whitepaper_v7-Public.pdf. Accessed: 2020-02-15.
[2]
[n.d.]. deprecating PCOMTI. https://software.intel.com/content/www/us/en/develop/blogs/deprecate-pcommit-instruction.html. Accessed: 2020-03-03.
[3]
[n.d.]. Enhancing High-Performance Computing with Persistent Memory Technology. https://software.intel.com/content/www/us/en/develop/articles/enhancing-high-performance-computing-with-persistent-memory-technology.html. Accessed: 2020-02-15.
[4]
[n.d.]. Intel Architecture, Memory Encryption Technologies Specification. https://software.intel.com/sites/default/files/managed/a5/16/Multi-Key-Total-Memory-Encryption-Spec.pdf. Accessed: 2020-02-15.
[5]
[n.d.]. Intel Optane DC Persistent Memory. https://builders.intel.com/docs/networkbuilders/intel-optane-dc-persistent-memory-telecom-use-case-workloads.pdf. Accessed: 2020-24-07.
[6]
[n.d.]. NVDIMM. https://www.jedec.org/sites/default/files/Bill_Gervasi.pdf. Accessed: 2020-02-02.
[7]
[n.d.]a. NVDIMM - Changes are Here So What's Next. https://www.snia.org/sites/default/files/SSSI/NVDIMM%20-%20Changes%20are%20Here%20So%20What's%20Next%20-%20final.pdf. Accessed: 2020-03-29.
[8]
[n.d.]b. NVDIMM-P. https://software.intel.com/content/www/us/en/develop/articles/enabling-persistent-memory-in-the-storage-performance-development-kit-spdk.html. Accessed: 2020-02-02.
[9]
Mohammad Alshboul, James Tuck, and Yan Solihin. 2018. Lazy persistency: A high-performing and write-efficient software persistency technique. In 2018 ACM/IEEE 45th Annual International Symposium on Computer Architecture (ISCA). IEEE, 439--451.
[10]
Mazen Alwadi, Vamsee Reddy Kommareddy, Clayton Hughes, Saimon Hammond, and Amro Awad. 2021. Stealth-Persist: Architectural Support for Persistent Applications in Hybrid Memory Systems. In 2021 IEEE International Symposium on High Performance Computer Architecture (HPCA). ACM.
[11]
Mazen Alwadi, Aziz Mohaisen, and Amro Awad. 2019. Phoenix: Towards Persistently Secure, Recoverable, and NVM Friendly Tree of Counters. [arxiv]1911.01922 [cs.CR]
[12]
Amro Awad, Pratyusa Manadhata, Stuart Haber, Yan Solihin, and William Horne. 2016. Silent shredder: Zero-cost shredding for secure non-volatile main memory controllers. ACM SIGOPS Operating Systems Review 50, 2 (2016), 263--276.
[13]
Amro Awad, Yan Solihin, Laurent Njilla, Mao Ye, and Kazi Zubair. 2019a. Triad-NVM: Persistency for Integrity-Protected and Encrypted Non-Volatile Memories. In Proceedings of the 46th International Symposium on Computer Architecture. ACM, 169--180.
[14]
Amro Awad, Suboh Suboh, Mao Ye, Kazi Abu Zubair, and Mazen Al-Wadi. 2019b. Persistently-Secure Processors: Challenges and Opportunities for Securing Non-Volatile Memories. In 2019 IEEE Computer Society Annual Symposium on VLSI (ISVLSI). 610--614.
[15]
Amro Awad, Yipeng Wang, Deborah Shands, and Yan Solihin. 2017. Obfusmem: A low-overhead access obfuscation for trusted memories. In Proceedings of the 44th Annual International Symposium on Computer Architecture. 107--119.
[16]
Nathan Binkert, Bradford Beckmann, Gabriel Black, Steven K Reinhardt, Ali Saidi, Arkaprava Basu, Joel Hestness, Derek R Hower, Tushar Krishna, Somayeh Sardashti, et al. 2011. The gem5 simulator. ACM SIGARCH computer architecture news 39, 2 (2011), 1--7.
[17]
Joel Coburn, Adrian M Caulfield, Ameen Akel, Laura M Grupp, Rajesh K Gupta, Ranjit Jhala, and Steven Swanson. 2012. NV-Heaps: making persistent objects fast and safe with next-generation, non-volatile memories. ACM Sigplan Notices 47, 4 (2012), 105--118.
[18]
Andreia Correia, Pascal Felber, and Pedro Ramalhete. 2018. Romulus: Efficient algorithms for persistent transactional memory. In Proceedings of the 30th on Symposium on Parallelism in Algorithms and Architectures. 271--282.
[19]
Victor Costan and Srinivas Devadas. 2016. Intel SGX Explained. IACR Cryptology ePrint Archive 2016, 086 (2016), 1--118.
[20]
Alexander Freij, Shougang Yuan, Huiyang Zhou, and Yan Solihin. [n.d.]. Persist Level Parallelism: Streamlining Integrity Tree Updates for Secure Persistent Memory. ([n. d.]).
[21]
Jinyu Gu, Qianqian Yu, Xiayang Wang, Zhaoguo Wang, Binyu Zang, Haibing Guan, and Haibo Chen. 2019. Pisces: a scalable and efficient persistent transactional memory. In 2019 {USENIX} Annual Technical Conference ({USENIX}{ATC} 19). 913--928.
[22]
Shay Gueron. 2016. A Memory Encryption Engine Suitable for General Purpose Processors. Cryptology ePrint Archive, Report 2016/204. https://eprint.iacr.org/2016/204.
[23]
John L. Henning. 2006. SPEC CPU2006 benchmark descriptions. ACM SIGARCH Computer Architecture News 34, 4 (sep 2006), 1--17.
[24]
Aasheesh Kolli, Vaibhav Gogte, Ali Saidi, Stephan Diestelhorst, Peter M Chen, Satish Narayanasamy, and Thomas F Wenisch. 2017. Language-level persistency. In 2017 ACM/IEEE 44th Annual International Symposium on Computer Architecture (ISCA). IEEE, 481--493.
[25]
Vamsee Reddy Kommareddy, Amro Awad, Clayton Hughes, and Simon David Hammond. 2019. Enforcing Fairness in Disaggregated Non-Volatile Memory Systems. Technical Report. Sandia National Lab.(SNL-NM), Albuquerque, NM (United States).
[26]
Vamsee Reddy Kommareddy, Clayton Hughes, Simon David Hammond, and Amro Awad. 2020. DeACT: Architecture-Aware Virtual Memory Support for Fabric Attached Memory Systems. arXiv preprint arXiv:2008.00171 (2020).
[27]
Vamsee Reddy Kommareddy, Jagadish Kotra, Clayton Hughes, Simon David Hammond, and Amro Awad. [n.d.]. PreFAM: Understanding the Impact of Prefetching in Fabric-Attached Memory Architectures. ([n. d.]).
[28]
Benjamin C Lee, Engin Ipek, Onur Mutlu, and Doug Burger. 2009. Architecting phase change memory as a scalable dram alternative. ACM SIGARCH Computer Architecture News 37, 3 (2009), 2--13.
[29]
Benjamin C Lee, Ping Zhou, Jun Yang, Youtao Zhang, Bo Zhao, Engin Ipek, Onur Mutlu, and Doug Burger. 2010a. Phase-change technology and the future of main memory. IEEE micro 1 (2010), 143--143.
[30]
Benjamin C Lee, Ping Zhou, Jun Yang, Youtao Zhang, Bo Zhao, Engin Ipek, Onur Mutlu, and Doug Burger. 2010b. Phase-change technology and the future of main memory. IEEE micro 30, 1 (2010), 143--143.
[31]
Tamara Silbergleit Lehman, Andrew D Hilton, and Benjamin C Lee. 2016. PoisonIvy: Safe speculation for secure memory. In 2016 49th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO). IEEE, 1--13.
[32]
Zhongqi Li, Ruijin Zhou, and Tao Li. 2013. Exploring high-performance and energy proportional interface for phase change memory systems. IEEE 20th International Symposium on High Performance Computer Architecture (HPCA) (2013), 210--221.
[33]
Helger Lipmaa, Phillip Rogaway, and David Wagner. 2000. CTR-mode encryption. In First NIST Workshop on Modes of Operation, Vol. 39.
[34]
Sihang Liu, Aasheesh Kolli, Jinglei Ren, and Samira Khan. 2018. Crash consistency in encrypted non-volatile main memory systems. In 2018 IEEE International Symposium on High Performance Computer Architecture (HPCA). IEEE, 310--323.
[35]
Sihang Liu, Korakit Seemakhupt, Gennady Pekhimenko, Aasheesh Kolli, and Samira Khan. 2019. Janus: Optimizing memory and storage support for non-volatile memory systems. In 2019 ACM/IEEE 46th Annual International Symposium on Computer Architecture (ISCA). IEEE, 143--156.
[36]
Thomas S Messerges. 2000. Securing the AES finalists against power analysis attacks. In International Workshop on Fast Software Encryption. Springer, 150--164.
[37]
Moinuddin K Qureshi, Vijayalakshmi Srinivasan, and Jude A Rivers. 2009. Scalable high performance main memory system using phase-change memory technology. In Proceedings of the 36th annual international symposium on Computer architecture. 24--33.
[38]
Luiz E Ramos, Eugene Gorbatov, and Ricardo Bianchini. 2011. Page placement in hybrid memory systems. In Proceedings of the international conference on Supercomputing. 85--95.
[39]
Brian Rogers, Siddhartha Chhabra, Milos Prvulovic, and Yan Solihin. 2007. Using address independent seed encryption and bonsai merkle trees to make secure processors os-and performance-friendly. In Proceedings of the 40th Annual IEEE/ACM International Symposium on Microarchitecture. IEEE Computer Society, 183--196.
[40]
Brian Rogers, Chenyu Yan, Siddhartha Chhabra, Milos Prvulovic, and Yan Solihin. 2008. Single-level integrity and confidentiality protection for distributed shared memory multiprocessors. In 2008 IEEE 14th International Symposium on High Performance Computer Architecture. IEEE, 161--172.
[41]
Andy Rudoff. 2017. Persistent memory programming. Login: The Usenix Magazine 42, 2 (2017), 34--40.
[42]
Gururaj Saileshwar, Prashant Nair, Prakash Ramrakhyani, Wendy Elsasser, Jose Joao, and Moinuddin Qureshi. 2018b. Morphable Counters: Enabling Compact Integrity Trees For Low-Overhead Secure Memories. In 2018 51st Annual IEEE/ACM International Symposium on Microarchitecture (MICRO). IEEE, 416--427.
[43]
Gururaj Saileshwar, Prashant J Nair, Prakash Ramrakhyani, Wendy Elsasser, and Moinuddin K Qureshi. 2018a. Synergy: Rethinking secure-memory design for error-correcting memories. In 2018 IEEE International Symposium on High Performance Computer Architecture (HPCA). IEEE, 454--465.
[44]
G Edward Suh, Dwaine Clarke, Blaise Gasend, Marten Van Dijk, and Srinivas Devadas. 2003. Efficient memory integrity verification and encryption for secure processors. In Proceedings. 36th Annual IEEE/ACM International Symposium on Microarchitecture, 2003. MICRO-36. IEEE, 339--350.
[45]
Shivam Swami and Kartik Mohanram. 2018. ARSENAL: Architecture for secure non-volatile memories. IEEE Computer Architecture Letters 17, 2 (2018), 192--196.
[46]
Meysam Taassori, Rajeev Balasubramonian, Siddhartha Chhabra, Alaa R Alameldeen, Manjula Peddireddy, Rajat Agarwal, and Ryan Stutsman. 2020. Compact leakage-free support for integrity and reliability. In 2020 ACM/IEEE 47th Annual International Symposium on Computer Architecture (ISCA). IEEE, 735--748.
[47]
Meysam Taassori, Ali Shafiee, and Rajeev Balasubramonian. 2018. VAULT: Reducing paging overheads in SGX with efficient integrity verification structures. In Proceedings of the Twenty-Third International Conference on Architectural Support for Programming Languages and Operating Systems. ACM, 665--678.
[48]
Rujia Wang, Youtao Zhang, and Jun Yang. 2017. Cooperative Path-ORAM for Effective Memory Bandwidth Sharing in Server Settings. In High Performance Computer Architecture (HPCA).
[49]
Yao Wang, Andrew Ferraiuolo, and G Edward Suh. 2014. Timing channel protection for a shared memory controller. In 2014 IEEE 20th International Symposium on High Performance Computer Architecture (HPCA). IEEE, 225--236.
[50]
Fei Xia, Dejun Jiang, Jin Xiong, and Ninghui Sun. 2017. Hikv: A hybrid index key-value store for dram-nvm memory systems. In 2017 {USENIX} Annual Technical Conference ({USENIX}{ATC} 17). 349--362.
[51]
Jian Xu and Steven Swanson. 2016. {NOVA}: A log-structured file system for hybrid volatile/non-volatile main memories. In 14th {USENIX} Conference on File and Storage Technologies ({FAST} 16). 323--338.
[52]
Chenyu Yan, Daniel Englender, Milos Prvulovic, Brian Rogers, and Yan Solihin. 2006. Improving cost, performance, and security of memory encryption and authentication. In ACM SIGARCH Computer Architecture News, Vol. 34. IEEE Computer Society, 179--190.
[53]
Fan Yang, Youmin Chen, Haiyu Mao, Youyou Lu, and Jiwu Shu. 2020. ShieldNVM: An Efficient and Fast Recoverable System for Secure Non-Volatile Memory. ACM Transactions on Storage (TOS) 16, 2 (2020), 1--31.
[54]
Fan Yang, Youyou Lu, Youmin Chen, Haiyu Mao, and Jiwu Shu. 2019. No compromises: Secure NVM with crash consistency, write-efficiency and high-performance. In 2019 56th ACM/IEEE Design Automation Conference (DAC). IEEE, 1--6.
[55]
Mao Ye, Clayton Hughes, and Amro Awad. 2018. Osiris: A Low-Cost Mechanism to Enable Restoration of Secure Non-Volatile Memories. In 2018 51st Annual IEEE/ACM International Symposium on Microarchitecture (MICRO). IEEE, 403--415.
[56]
Mao Ye, Kazi Zubair, Aziz Mohaisen, and Amro Awad. 2019. Towards Low-Cost Mechanisms to Enable Restoration of Encrypted Non-Volatile Memories. IEEE Transactions on Dependable and Secure Computing (2019).
[57]
Jishen Zhao, Sheng Li, Doe Hyun Yoon, Yuan Xie, and Norman P Jouppi. 2013. Kiln: Closing the performance gap between systems with and without persistence support. In 2013 46th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO). IEEE, 421--432.
[58]
Kazi Abu Zubair and Amro Awad. 2019. Anubis: ultra-low overhead and recovery time for secure non-volatile memories. In Proceedings of the 46th International Symposium on Computer Architecture. ACM, 157--168.
[59]
Pengfei Zuo and Yu Hua. 2018. SecPM: a secure and persistent memory system for non-volatile memory. In 10th {USENIX} Workshop on Hot Topics in Storage and File Systems (HotStorage 18).
[60]
Pengfei Zuo, Yu Hua, and Yuan Xie. 2019. SuperMem: Enabling application-transparent secure persistent memory with low overheads. In Proceedings of the 52nd Annual IEEE/ACM International Symposium on Microarchitecture. 479--492.

Cited By

View all
  • (2024)A Midsummer Night’s Tree: Efficient and High Performance Secure SCMProceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 310.1145/3620666.3651354(22-37)Online publication date: 27-Apr-2024
  • (2024)A Secure Computing System With Hardware-Efficient Lazy Bonsai Merkle Tree for FPGA-Attached Embedded MemoryIEEE Transactions on Dependable and Secure Computing10.1109/TDSC.2023.332493521:4(3262-3279)Online publication date: Jul-2024
  • (2023)SecPB: Architectures for Secure Non-Volatile Memory with Battery-Backed Persist Buffers2023 IEEE International Symposium on High-Performance Computer Architecture (HPCA)10.1109/HPCA56546.2023.10071082(677-690)Online publication date: Feb-2023
  • Show More Cited By

Index Terms

  1. ProMT: optimizing integrity tree updates for write-intensive pages in secure NVMs

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ICS '21: Proceedings of the 35th ACM International Conference on Supercomputing
    June 2021
    506 pages
    ISBN:9781450383356
    DOI:10.1145/3447818
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 04 June 2021

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. integrity tree
    2. integrity verification
    3. non-volatile memory
    4. secure memory

    Qualifiers

    • Research-article

    Funding Sources

    • DARPA

    Conference

    ICS '21
    Sponsor:

    Acceptance Rates

    ICS '21 Paper Acceptance Rate 39 of 157 submissions, 25%;
    Overall Acceptance Rate 629 of 2,180 submissions, 29%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)187
    • Downloads (Last 6 weeks)29
    Reflects downloads up to 18 Nov 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)A Midsummer Night’s Tree: Efficient and High Performance Secure SCMProceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 310.1145/3620666.3651354(22-37)Online publication date: 27-Apr-2024
    • (2024)A Secure Computing System With Hardware-Efficient Lazy Bonsai Merkle Tree for FPGA-Attached Embedded MemoryIEEE Transactions on Dependable and Secure Computing10.1109/TDSC.2023.332493521:4(3262-3279)Online publication date: Jul-2024
    • (2023)SecPB: Architectures for Secure Non-Volatile Memory with Battery-Backed Persist Buffers2023 IEEE International Symposium on High-Performance Computer Architecture (HPCA)10.1109/HPCA56546.2023.10071082(677-690)Online publication date: Feb-2023
    • (2023)Root Crash Consistency of SGX-style Integrity Trees in Secure Non-Volatile Memory Systems2023 IEEE International Symposium on High-Performance Computer Architecture (HPCA)10.1109/HPCA56546.2023.10071003(152-164)Online publication date: Feb-2023
    • (2022)A Dynamic and Recoverable BMT Scheme for Secure Non-Volatile MemoryProceedings of the 51st International Conference on Parallel Processing10.1145/3545008.3545061(1-11)Online publication date: 29-Aug-2022
    • (2022)Horus: Persistent Security for Extended Persistence-Domain Memory SystemsProceedings of the 55th Annual IEEE/ACM International Symposium on Microarchitecture10.1109/MICRO56248.2022.00087(1255-1269)Online publication date: 1-Oct-2022
    • (2022)Self-Reinforcing Memoization for Cryptography Calculations in Secure Memory SystemsProceedings of the 55th Annual IEEE/ACM International Symposium on Microarchitecture10.1109/MICRO56248.2022.00055(678-692)Online publication date: 1-Oct-2022
    • (2022)Eager Memory Cryptography in CachesProceedings of the 55th Annual IEEE/ACM International Symposium on Microarchitecture10.1109/MICRO56248.2022.00054(693-709)Online publication date: 1-Oct-2022
    • (2022)Minerva: Rethinking Secure Architectures for the Era of Fabric-Attached Memory Architectures2022 IEEE International Parallel and Distributed Processing Symposium (IPDPS)10.1109/IPDPS53621.2022.00033(258-268)Online publication date: May-2022

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media