Towards trustworthy storage using SSDs with proprietary FTL

Abstract In recent years we have seen an increasing deployment of flash-based storage, such as SSD, in mission-critical applications due to its fast read/write speed, small form factor, strong shock resistance, etc.. SSDs use a middle layer called flash translation layer (FTL) to maintain the compatibility with the traditional magnetic-based HDDs. Unlike the traditional HDD where the host OS has the knowledge on where and how to access data, SSD uses FTL to translate and implement all operations. Even worse, FTL, which is considered as one of most important intellectual properties of flash-based storage, is often proprietary. This brings up a serious security concern on design trustworthiness when the manufacturer either accidentally or intentionally implements those operations incorrectly or maliciously. We analyze the possible threats that are brought up by the design trust issues, and propose simple yet effective schemes as countermeasures with overhead evaluation.

[1]  Swarup Bhunia,et al.  Hardware Trojan: Threats and emerging solutions , 2009, 2009 IEEE International High Level Design Validation and Test Workshop.

[2]  Jae-Myung Kim,et al.  A case for flash memory ssd in enterprise database applications , 2008, SIGMOD Conference.

[3]  Donald E. Eastlake,et al.  US Secure Hash Algorithm 1 (SHA1) , 2001, RFC.

[4]  Jongmoo Choi,et al.  Chip-Level RAID with Flexible Stripe Size and Parity Placement for Enhanced SSD Reliability , 2016, IEEE Transactions on Computers.

[5]  Liang Shi,et al.  Towards trustable storage using SSDs with proprietary FTL , 2015, 2015 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[6]  Hong Jiang,et al.  LDM: Log Disk Mirroring with Improved Performance and Reliability for SSD-Based Disk Arrays , 2016, TOS.

[7]  Tongquan Wei,et al.  Worst-Case Finish Time Analysis for DAG-Based Applications in the Presence of Transient Faults , 2016, Journal of Computer Science and Technology.

[8]  Donald E. Eastlake,et al.  US Secure Hash Algorithms (SHA and HMAC-SHA) , 2006, RFC.

[9]  David Hung-Chang Du,et al.  Rejuvenator: A static wear leveling algorithm for NAND flash memory with minimized overhead , 2011, 2011 IEEE 27th Symposium on Mass Storage Systems and Technologies (MSST).

[10]  Liang Shi,et al.  High-level synthesis for run-time hardware Trojan detection and recovery , 2014, 2014 51st ACM/EDAC/IEEE Design Automation Conference (DAC).

[11]  Antony I. T. Rowstron,et al.  Migrating server storage to SSDs: analysis of tradeoffs , 2009, EuroSys '09.

[12]  Morteza Saheb Zamani,et al.  A study on the efficiency of hardware Trojan detection based on path-delay fingerprinting , 2014, Microprocess. Microsystems.

[13]  Nanning Zheng,et al.  LDPC-in-SSD: making advanced error correction codes work effectively in solid state drives , 2013, FAST.

[14]  Bianca Schroeder,et al.  Proactive error prediction to improve storage system reliability , 2017, USENIX ATC.

[15]  Steven Swanson,et al.  Reliably Erasing Data from Flash-Based Solid State Drives , 2011, FAST.

[16]  Asim Kadav,et al.  Differential RAID: Rethinking RAID for SSD reliability , 2010, ACM Trans. Storage.

[17]  Jeyavijayan Rajendran,et al.  A red team/blue team assessment of functional analysis methods for malicious circuit identification , 2014, 2014 51st ACM/EDAC/IEEE Design Automation Conference (DAC).

[18]  Liana L. Fong,et al.  Effectiveness Assessment of Solid-State Drive Used in Big Data Services , 2014, 2014 IEEE International Conference on Web Services.

[19]  Jun Zhang,et al.  Efficient feasibility analysis of DAG scheduling with real-time constraints in the presence of faults , 2014, 2014 19th Asia and South Pacific Design Automation Conference (ASP-DAC).

[20]  Alistair A. McEwan,et al.  Reliability and performance enhancements for SSD RAID , 2017, Microprocess. Microsystems.

[21]  Seung Ryoul Maeng,et al.  FTL design exploration in reconfigurable high-performance SSD for server applications , 2009, ICS.

[22]  Alfred Menezes,et al.  Handbook of Applied Cryptography , 2018 .

[23]  Joseph Zambreno,et al.  A case study in hardware Trojan design and implementation , 2011, International Journal of Information Security.

[24]  Andreas Koch,et al.  NetStage/DPR: A self-reconfiguring platform for active and passive network security operations , 2012, Microprocess. Microsystems.

[25]  Debdeep Mukhopadhyay,et al.  Remote dynamic partial reconfiguration: A threat to Internet-of-Things and embedded security applications , 2017, Microprocess. Microsystems.

[26]  Cui Xiaotong,et al.  Identifying Inactive Nets in Function Mode of Circuits , 2017 .

[27]  Rina Panigrahy,et al.  Design Tradeoffs for SSD Performance , 2008, USENIX ATC.

[28]  Vincent Rijmen,et al.  The Design of Rijndael: AES - The Advanced Encryption Standard , 2002 .

[29]  Dimitrios Katsaros,et al.  Architectural Requirements for Cloud Computing Systems: An Enterprise Cloud Approach , 2011, Journal of Grid Computing.

[30]  Seyed Ghassem Miremadi,et al.  On designing endurance aware erasure code for SSD-based storage systems , 2016, Microprocess. Microsystems.

[31]  Francesco Falanga,et al.  Introduction to SSD , 2011 .

[32]  Farinaz Koushanfar,et al.  A Survey of Hardware Trojan Taxonomy and Detection , 2010, IEEE Design & Test of Computers.