Project Almanac: A Time-Traveling Solid-State Drive

Project Almanac: A Time-Traveling Solid-State Drive
复制标题

DOI:
10.1145/3302424.3303983
复制
发表时间:
2019-03
期刊:
Proceedings of the Fourteenth EuroSys Conference 2019
影响因子:
--
通讯作者:
Xiaohao Wang;Yifan Yuan;You Zhou;Chance C. Coats;Jian Huang
Xiaohao Wang;Yifan Yuan;You Zhou;Chance C. Coats;Jian Huang
中科院分区:
其他
文献类型:
--
作者:
Xiaohao Wang;Yifan Yuan;You Zhou;Chance C. Coats;Jian Huang

文献摘要

被引文献

相似文献

保存存储状态的历史记录是保证系统可靠性和安全性的关键。方便调试、数据恢复、取证等系统功能。现有的基于软件的方法(如数据日志、日志记录和备份)不仅会带来性能和存储成本,而且容易受到恶意软件攻击,因为攻击者可以获得内核特权来终止或破坏它们。在本文中,我们介绍了Project Almanac,其中包括(1)一个名为TimeSSD的时间旅行固态硬盘(SSD),它在一个时间窗口内保留硬件中存储状态的历史记录,以及(2)一个名为TimeKits的工具包,它提供存储状态查询和回滚功能。TimeSSD通过利用闪存在更新或删除数据时保留旧副本的特性,跟踪硬件设备中存储状态的历史,而不依赖于显式备份。我们使用可编程SSD实现TimeSSD,并为几种典型的系统应用开发timekit。通过各种实际案例研究进行的实验表明,TimeSSD可以将所有存储状态保留八周,而性能开销可以忽略不计,同时提供设备级时间旅行属性。
Preserving the history of storage states is critical to ensuring system reliability and security. It facilitates system functions such as debugging, data recovery, and forensics. Existing software-based approaches like data journaling, logging, and backups not only introduce performance and storage cost, but also are vulnerable to malware attacks, as adversaries can obtain kernel privileges to terminate or destroy them. In this paper, we present Project Almanac, which includes (1) a time-travel solid-state drive (SSD) named TimeSSD that retains a history of storage states in hardware for a window of time, and (2) a toolkit named TimeKits that provides storage-state query and rollback functions. TimeSSD tracks the history of storage states in the hardware device, without relying on explicit backups, by exploiting the property that the flash retains old copies of data when they are updated or deleted. We implement TimeSSD with a programmable SSD and develop TimeKits for several typical system applications. Experiments, with a variety of real-world case studies, demonstrate that TimeSSD can retain all the storage states for eight weeks, with negligible performance overhead, while providing the device-level time-travel property.