Data Recovery from “Scrubbed” NAND Flash Storage: Need for Analog Sanitization

Md Mehedi Hasan and Biswajit Ray

Department of Electrical and Computer Engineering, University of Alabama in Huntsville, Huntsville, AL 35899 USA Outline

• Motivation and background Flash Translation Layer (FTL) NAND memory system Address Error Wear State-of-the-art sanitization methods Mapping Correction Leveling Threat model Scrubbed image • Experimental evaluation Original image Recovered image

Attack demonstration Overwrite Partial Bit recovery efficiency Erase Erase

• New ideas and conclusion 1. Reprogram all bits to a higher value 2. History dependent erase Page-level analog sanitization Future work Motivation: Preserving user privacy

According to the Protection Act (DPA) 2018, the deletion of information must be real

Flash is ubiquitous Unfortunately, flash users don’t have the capability for instant data sanitization

Data remains in the non-volatile flash media long after user-deletion Background: NAND system

Solid State Drive Control Gate Blocking Oxide I/O with logical address - - - - - Floating Gate Flash Translation Layer (FTL) - - - - - Memory Tunnel Oxide Controller Address Error Wear Mapping Correction Leveling Source Drain Si- Substrate Garbage Collection

I/O with physical address Vref Memory Program state Chip Erase state ….. 1 0

block page NAND Array Threshold voltage

Flash is a charge based analog memory Why instant-sanitization is a problem?

Bit Line Copy valid pages to a new block Select Gate 1 block

WL N Deleted page 1111111111…. Valid page-1 Valid page-1 1111111111…. Valid page-2 1 page Deleted page 1111111111…. Valid page-3 Deleted WL 1111111111…. 2 pages Block erase WL1 Valid page-2 1111111111…. Empty page 1 cell Valid page-3 1111111111…. Empty page WL0 Select Old block Old block New block Gate

Ground • Erase takes place block by block • Hefty overhead is involved for using block erase • Write/read happens page by page • No command is available for page deletion State-of-the-art sanitization methods

1) Logical sanitization Invalid page address 2) based sanitization Data block Key storage block 00101001001 00101001001 Encrypted page Valid page-1 Update page- Valid address Encrypted page Other file’s key 011100010101 mapping table 011100010101 Encrypted page Other files key Valid Valid pages addresses Empty page Empty page Empty page Empty page Empty page Empty page Empty page Empty page Not secure 3) Over-write based sanitization Key points: 00101001001 0x0000000.. • Logical sanitization is quick but not secure Valid page-1 Valid page-1 • Encryption techniques are used in high end 011100010101 All-zero overwrite 0x0000000.. Valid Valid system. It also needs key-sanitization. pages pages • All-zero overwrite offers page level digital Empty page Empty page sanitization Empty page Empty page Does all-zero overwrite ensure true sanitization?

Digital: Old zero New zero After After Page n 1 0 1 1 1 0 1 0 1 0 0 1 1 1 0 1 1 1 0 1 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 few days overwriting

횫퐕퐭 Analog: 푽풓풆풇 푽풓풆풇 푽풓풆풇

Erased state Programmed state Erased state Programmed state Weak “0” Strong “0”

1 0 1 0

Threshold Voltage Threshold Voltage Threshold Voltage

Key points: • Flash memory slowly loses charge due to effects • All-zero overwrite crates strong and weak zeros with different threshold voltages Threat model and experimental set-up

Flash memory chips Adversarial Model and Assumptions: • Adversary has physical access to the flash chip • Adversary can perform low-level memory operation

Our Experimental Set-up

Flash memory chip TSOP Socket Interface device Computer interface Outline

• Motivation and background Flash Translation Layer (FTL) NAND memory system Address Error Wear State-of-the-art sanitization methods Mapping Correction Leveling Threat model Scrubbed image • Experimental evaluation Original image Recovered image

Attack demonstration Overwrite Partial Bit recovery efficiency Erase Erase

• New ideas and conclusion 1. Reprogram all bits to a higher value 2. History dependent erase Page-level analog sanitization Future work System commands to probe analog properties

Method-1: Read Retry Method-2: Partial Erase

Shifting the read reference level RESET command Terminate erase prematurely status

푽풓풆풇 푽풓풆풇 Erase Erase Erased state Weak “0” Strong “0” Erase Weak “0” Strong “0” 1ms 3ms Time state 1 0 1 0

Threshold Voltage Threshold Voltage

Key points: Key points: • Many SLC chips do not offer this feature • Prior characterization of partial erase • Very small voltage (Vref) shifts are allowed time is needed Results: process

Data recovery process

Original image Image after bake Scrubbed image Recovered image (inverted)

Digital 3 hrs bake All-zero Partial @120 0C Scrubbing Erase

(a) (b) (c) (d)

Vref Programmed state ref ref Vref V Erased (after DR) V Weak “0” Erased Programmed state Strong “0” Weak “0” Analog state state Strong “0” 0 1 0 1 0 0 1 0 V V V (a’) V (b’) (c’) (d’)

Results: Bit accuracy of recovered image

Bit accuracy (%) accuracy Bit Bit accuracy (%) accuracy Bit

Micron 8Gb SLC chip Toshiba 2Gb SLC chip Micron 4Gb SLC chip

Partial erase time (ms) Bake time (hour) Key points: • Approximately 70% bits are correct in the recovered image • Higher the bake time more is recovery efficiency • All the bits are not recoverable due to overlap in Vt distribution Outline

• Motivation and background Flash Translation Layer (FTL) NAND memory system Address Error Wear State-of-the-art sanitization methods Mapping Correction Leveling Threat model Scrubbed image • Experimental evaluation Original image Recovered image

Attack demonstration Overwrite Partial Bit recovery efficiency Erase Erase

• New ideas and conclusion 1. Reprogram all bits to a higher value 2. History dependent erase Page-level analog sanitization Future work Ideas for analog sanitization

Idea-1: Reprogram all the bits to a higher threshold voltage level

Vref Vref Key points: Weak Strong New “0” Erase • Need design change of flash chip “0” “0” Analog sanitization • Not possible with current chips state 1 0 0 0

Threshold Voltage Threshold Voltage

Idea-2: Create weak zeros during all-zero overwrite using page creation history

Vref Key points: Vref Old “0” Weak Strong • Use partial program for weak-zero Erase “0” “0” Analog sanitization New “0” creation 1 0 state 0 • Partial program time depends on state-decay model Threshold Voltage Threshold Voltage Conclusion and future work

1) All-zero overwrite is vulnerable Future Work: 횫퐕 푽풓풆풇 퐭 1. Attack demonstration on MLC, TLC and 3D NAND Weak “0” Strong “0” 2. Experimental evaluation of the new ideas

Threshold Voltage 2) New ideas for page-level analog sanitization 1. Reprogram all bits to high voltage 2. History dependent weak-zero erase Thank You Mr. Md Mehedi Hasan Dr. Biswajit Ray

email: [email protected] email: [email protected]