3 research outputs found
Triad-NVM: Persistent-Security for Integrity-Protected and Encrypted Non-Volatile Memories (NVMs)
Emerging Non-Volatile Memories (NVMs) are promising contenders for building
future memory systems. On the other side, unlike DRAM systems, NVMs can retain
data even after power loss and thus enlarge the attack surface. While data
encryption and integrity verification have been proposed earlier for DRAM
systems, protecting and recovering secure memories becomes more challenging
with persistent memory. Specifically, security metadata, e.g., encryption
counters and Merkle Tree data, should be securely persisted and recovered
across system reboots and during recovery from crashes. Not persisting updates
to security metadata can lead to data inconsistency, in addition to serious
security vulnerabilities.
In this paper, we pioneer a new direction that explores persistency of both
Merkle Tree and encryption counters to enable secure recovery of
data-verifiable and encrypted memory systems. To this end, we coin a new
concept that we call Persistent-Security. We discuss the requirements for such
persistently secure systems, propose novel optimizations, and evaluate the
impact of the proposed relaxation schemes and optimizations on performance,
resilience and recovery time. To the best of our knowledge, our paper is the
first to discuss the persistence of security metadata in integrity-protected
NVM systems and provide corresponding optimizations. We define a set of
relaxation schemes that bring trade-offs between performance and recovery time
for large capacity NVM systems. Our results show that our proposed design,
Triad-NVM, can improve the throughput by an average of ~2x (relative to strict
persistence). Moreover, Triad-NVM maintains a recovery time of less than 4
seconds for an 8TB NVM system (30.6 seconds for 64TB), which is ~3648x faster
than a system without security metadata persistence.Comment: This paper is currently under submission. We arXiv our paper to
establish credit for inventing this wor
Phoenix: Towards Persistently Secure, Recoverable, and NVM Friendly Tree of Counters
Emerging Non-Volatile Memories (NVMs) bring a unique challenge to the
security community, namely persistent security. As NVM-based memories are
expected to restore their data after recovery, the security metadata must be
recovered as well. However, persisting all affected security metadata on each
memory write would significantly degrade performance and exacerbate the write
endurance problem. Moreover, recovery time can increase significantly (up to
hours for practical memory sizes) when security metadata are not updated
strictly. Counter trees are used in state-of-the-art commercial secure
processors, e.g., Intel's Safe Guard Extension (SGX). Counter trees have a
unique challenge due to the inability to recover the whole tree from leaves.
Thus, to ensure recoverability, all updates to the tree must be persisted,
which can be tens of additional writes on each write. The state-of-art scheme,
Anubis, enables recoverability but incurs an additional write per cache
eviction, i.e., reduces lifetime to approximately half. Additionally, Anubis
degrades performance significantly in many cases. In this paper, we propose
Phoenix, a practical novel scheme which relies on elegantly reproducing the
cache content before a crash, however with minimal overheads. Our evaluation
results show that Phoenix reduces persisting security metadata overhead writes
from 87\% extra writes (for Anubis) to less than write-back compared to an
encrypted system without recovery, thus improving the NVM lifetime by 2x.
Overall Phoenix performance is better than the baseline, unlike Anubis which
adds 7.9\% (max of 35\%) performance overhead
A Write-Friendly and Fast-Recovery Scheme for Security Metadata in NVM
Non-Volatile Memories (NVMs) have attracted the attentions of academia and
industry, which is expected to become the next-generation memory. However, due
to the nonvolatile property, NVMs become vulnerable to attacks and require
security mechanisms, e.g., counter mode encryption and integrity tree, which
introduce the security metadata. NVMs promise to recover these security
metadata after a system crash, including the counter and integrity tree.
However, unlike merkle tree reconstructed from user data, recovering SGX
integrity tree (SIT) has to address the challenges from unique top-down
hierarchical dependency. Moreover, writing overhead and recovery time are
important metrics for evaluating persistent memory system due to the high costs
of NVM writes and IT downtime. How to recover the security metadata, i.e.,
counter blocks and integrity tree nodes, with low write overhead and short
recovery time, becomes much important.
To provide a fast recovery scheme with low write overhead, we propose STAR, a
cost-efficient scheme for recovering counter blocks and SGX integrity tree
nodes after crashes. For fast recovery and verification, STAR synergizes the
MAC and correct data, uses bitmap lines in ADR to indicate the location of
stale node and constructs a cached merkle tree to verify the correctness of the
recovery process. Moreover, STAR uses a multi-layer index to speed up the
recovery process. STAR also allows different configurations to meet adaptive
requirements for write overhead and recovery time. Our evaluation results show
that the proposed STAR reduces the number of memory writes by up to 87\%
compared with state-of-the-art work, Anubis, which needs extra 1x memory
writes. For a 4MB security metadata cache, STAR needs 0.039s/0.023s/0.004s in
three different configurations to recover the metadata cache while Anubis needs
0.020s.Comment: 12 pages, 15 figure