SPP: Safe Persistent Pointers for Memory Safety

Dimitrios Stavrakakis, Alexandrina Panfil, MJin Nam, Pramod Bhatotia

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

Memory safety violations, such as buffer overflows, are the primary cause of security and reliability issues in software systems. Like the volatile main memory, byte-addressable persistent memory (PM) storage devices are also prone to memory safety exploits because PM devices are directly mapped to the address space and accessed via the load/store interface using pointers. However, the PM pointer representation is persistent, i.e., its offset and the associated object are persistent across system reboots. Therefore, the current memory safety mechanisms for the volatile main memory are inadequate for ensuring the safety of persistent pointers. To this end, we propose Safe Persistent Pointers (SPP), a practical memory safety approach against buffer overflows for PM applications. SPP augments persistent pointers with memory safety properties. SPP is based on a simple combination of tagged pointers, efficient persistent memory layout, and transactional updates to the memory safety metadata for ensuring crash consistency. SPP's efficient pointer representation does not require additional memory lookup operations at runtime while incurring minimal space overheads for storing the memory safety metadata. We implement SPP based on the LLVM compiler infrastructure accompanied by a runtime library and an adapted version of PM development kit (PMDK). Our evaluation demonstrates that SPP incurs low runtime and space overheads while preserving the crash-consistency property and maintaining the PMDK API intact, i.e., requiring no source code modifications.

Original languageEnglish
Title of host publicationProceedings - 2024 54th Annual IEEE/IFIP International Conference on Dependable Systems and Networks, DSN 2024
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages37-52
Number of pages16
ISBN (Electronic)9798350341058
DOIs
StatePublished - 2024
Event54th Annual IEEE/IFIP International Conference on Dependable Systems and Networks, DSN 2024 - Brisbane, Australia
Duration: 24 Jun 202427 Jun 2024

Publication series

NameProceedings - 2024 54th Annual IEEE/IFIP International Conference on Dependable Systems and Networks, DSN 2024

Conference

Conference54th Annual IEEE/IFIP International Conference on Dependable Systems and Networks, DSN 2024
Country/TerritoryAustralia
CityBrisbane
Period24/06/2427/06/24

Keywords

  • Dependable Software Design
  • Dependable systems
  • Emerging Memory and Storage Systems
  • Memory safety

Fingerprint

Dive into the research topics of 'SPP: Safe Persistent Pointers for Memory Safety'. Together they form a unique fingerprint.

Cite this