Abstract

The hybrid memory system (HMS), composed of DRAM and NVM, shows great potential for constructing large-scale, high-performance, and persistent memory systems. However, it is vulnerable to side-channel attacks that exploit the memory access pattern of programs to infer sensitive information. While Oblivious RAM (ORAM) is a general solution to defend against such attacks, it is not ready to be applied to HMSs. ORAM randomly distributes data across the entire memory space, causing the HMSs to lose the data persistence feature of NVM. An unexpected system crash will cause the DRAM data to be lost. Moreover, inconsistency may occur between metadata and data when the system crash interrupts ongoing ORAM operations. The inconsistency can cause the system to lose some NVM blocks after a crash reconstruction. How to effectively ensure data persistence and crash consistency in oblivious (or ORAM-protected) hybrid memory systems is still an open problem.This paper proposes PH-ORAM, an efficient ORAM design that provides a secure and persistent program execution environment on hybrid memory systems. First, we analyze the challenges of designing a persistent oblivious HMS and propose Persistent Duplication, an NVM-friendly data persistence scheme that does not require extra NVM writes or battery backup to persist DRAM data. Then, we analyze the consistency issues in NVM-based Ring ORAM systems and propose State-Aware stash management, a lightweight crash-consistent scheme that does not degrade system security and performance. Finally, we conduct cycle-accurate simulations to analyze the efficiency of PH-ORAM. Compared with the baseline Ring ORAM without any persistence support, PH-ORAM only increases the execution time by 0.6% on average.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call