Reliably Erasing Data from Flash-Based Solid State Drives Michael - - PowerPoint PPT Presentation

reliably erasing data from flash based solid state drives
SMART_READER_LITE
LIVE PREVIEW

Reliably Erasing Data from Flash-Based Solid State Drives Michael - - PowerPoint PPT Presentation

Reliably Erasing Data from Flash-Based Solid State Drives Michael Wei* Laura Grupp*, Fredrick E. Spada, Steven Swanson* * Non-Volatile Systems Laboratory Department of Computer Science and Engineering University of California, San Diego


slide-1
SLIDE 1

Reliably Erasing Data from Flash-Based Solid State Drives

Michael Wei*

Laura Grupp*, Fredrick E. Spada†, Steven Swanson*

Non-Volatile Systems Laboratory Department of Computer Science and Engineering University of California, San Diego Center for Magnetic Recording Research University of California, San Diego

† *

slide-2
SLIDE 2

2

Confidential Data

sensitive information which…

  • Limited to people with need
  • Destroyed at end of life
slide-3
SLIDE 3

3

YOU…

have confidential data on your computer right now!

slide-4
SLIDE 4

4

CORPORATIONS…

must protect their own data as well as client’s data.

slide-5
SLIDE 5

5

GOVERNMENTS…

must protect information to protect the state and lives of its citizens

slide-6
SLIDE 6

6

Confidential Data

sensitive information which…

  • Limited to people with need
  • Destroyed at end of life

*

slide-7
SLIDE 7

7

What we know comes from years

  • f research on hard drives.
slide-8
SLIDE 8

8

Solid State Disks (SSDs)

next generation storage…

  • Flash-based
  • No moving parts
  • Uses a complex controller

(Flash Translation Layer)

slide-9
SLIDE 9

9

SSDs are becoming quite popular…

10 20 30 40 50 60 2008 2009 2010 2011 2012 2013 SSD Shipments (in Millions) Year

2008‐2013 SSD Shipment Forecast

Source: DRAMeXchange

slide-10
SLIDE 10

10

You might have left confidential data and not even realized it.

slide-11
SLIDE 11

11

Why is it hard to erase SSDs?

Current sanitization tools are designed for hard drives.

But SSDs are very different!

slide-12
SLIDE 12

12

SSD Differences

  • Recovery process is cheap
  • Wide space of manufacturers

for poor implementation

  • Easy Disassembly / Reassembly

Let’s see what’s

  • n this SSD…
  • Low cost compared to

hard drives

  • Someone could steal

your data overnight!

slide-13
SLIDE 13

13

Overview

  • Motivation
  • Sanitization Background
  • Validating Sanitization

and Results

  • Single-File Sanitization

Enhancement

slide-14
SLIDE 14

14

Sanitization

Erasing data so that it is difficult

  • r impossible to recover
slide-15
SLIDE 15

15

For this talk, we’ll talk about the chip level.

  • There’s leftover data
  • It’s cheap
  • The next level is much more complex

*

slide-16
SLIDE 16

16

Physical Level

  • Destroying Flash Memory-Based

Storage Devices, Steven Swanson, University of California, San Diego Computer Science & Engineering technical report cs2011-0968.

  • 0.2mm particles
  • Good until 2022 (8nm technology node)
slide-17
SLIDE 17

17

Writing Data

slide-18
SLIDE 18

18

Writing more data…

slide-19
SLIDE 19

19

Lots of stale data can be left over on the drive…

slide-20
SLIDE 20

20

Overview

  • Motivation
  • Sanitization Background
  • Validating Sanitization

and Results

  • Single-File Sanitization

Enhancement

slide-21
SLIDE 21

21

We now want to measure the stale data left over.

slide-22
SLIDE 22

22

First, we constructed a “fingerprint” that was easily identifiable.

Special Identifiers Unique Patterns Checksum

slide-23
SLIDE 23

23

Second, We needed a way to see more than what the operating system sees.

slide-24
SLIDE 24

24

Second, We needed a way to see more than what the operating system sees.

slide-25
SLIDE 25

25

We built a custom hardware platform to extract data off the chips.

slide-26
SLIDE 26

26

The drive is successfully sanitized if no stale data is left over.

*

slide-27
SLIDE 27

27

  • Built-in Commands
  • ATA Security “Erase Unit” (ATA-3), 1995
  • Cryptographic techniques
  • Software Overwrite
  • Various Standards

Whole-disk sanitization Erase the whole disk so that no old data remains.

slide-28
SLIDE 28

28

  • ATA Security “Erase Unit”

Built-in commands

slide-29
SLIDE 29

29

ATA Security Erase Unit (1995)

  • Normal: Replace the contents of LBA 0 to

MAX LBA with binary zeroes or ones.

  • Enhanced: All previously written user data

shall be overwritten.

Predates SSDs: doesn’t distinguish

  • verwritten from erase.
slide-30
SLIDE 30

30

ATA Security Erase Enhanced

Software Overwrite ATA SECURITY ERASE UNIT ATA SECURITY ERASE UNIT ENHANCED

Vendor Dependent

SSD Name Controller SECURITY ERASE UNIT (ATA-3) SECURITY ERASE UNIT ENHANCED (ATA-3) A 1 No No B 2 No (Reports yes) No C 1 Partial (Bugged) No D 3 Partial (Bugged) No E 4 Crypto Scrambles Crypto Scrambles F 5 Yes Yes G 6 Yes No H 7 Yes Yes I 8 Yes Yes

Some drives tested supported and passed

slide-31
SLIDE 31

31

ATA Security Erase Unit

Software Overwrite ATA SECURITY ERASE UNIT ATA SECURITY ERASE UNIT ENHANCED

Vendor Dependent

SSD Name Controller SECURITY ERASE UNIT (ATA-3) SECURITY ERASE UNIT ENHANCED (ATA-3) A 1 No No B 2 No (Reports yes) No C 1 Partial (Bugged) No D 3 Partial (Bugged) No E 4 Crypto Scrambles Crypto Scrambles F 5 Yes Yes G 6 Yes No H 7 Yes Yes I 8 Yes Yes

One drive reported success, even though all data remained.

slide-32
SLIDE 32

32

ATA Security Erase Unit

Software Overwrite ATA SECURITY ERASE UNIT ATA SECURITY ERASE UNIT ENHANCED

Vendor Dependent

SSD Name Controller SECURITY ERASE UNIT (ATA-3) SECURITY ERASE UNIT ENHANCED (ATA-3) A 1 No No B 2 No (Reports yes) No C 1 Partial (Bugged) No D 3 Partial (Bugged) No E 4 Crypto Scrambles Crypto Scrambles F 5 Yes Yes G 6 Yes No H 7 Yes Yes I 8 Yes Yes

  • Others only worked after

the drive was reset

slide-33
SLIDE 33

33

ATA Security Erase Unit

Software Overwrite ATA SECURITY ERASE UNIT ATA SECURITY ERASE UNIT ENHANCED

Vendor Dependent

SSD Name Controller SECURITY ERASE UNIT (ATA-3) SECURITY ERASE UNIT ENHANCED (ATA-3) A 1 No No B 2 No (Reports yes) No C 1 Partial (Bugged) No D 3 Partial (Bugged) No E 4 Crypto Scrambles Crypto Scrambles F 5 Yes Yes G 6 Yes No H 7 Yes Yes I 8 Yes Yes

  • Some drives crypto-

scrambled, so we could not verify them

slide-34
SLIDE 34

34

Crypto-Scramble

Works by deleting key

  • Fast, but…
  • Encrypted data

remains

  • Data isn’t erased
  • Crypto scramble

makes drives unverifiable

*

slide-35
SLIDE 35

35

Hardware Commands

  • Wide variation in results

– Not supported – Success – Crypto-scramble – Buggy implementation (works sometimes) – Failure (all data leftover)

  • Result is implementation-dependent
  • Will not know what happens until it is

tested

slide-36
SLIDE 36

36

SAFE: Scramble and Finally Erase

  • UCSD Technical Report cs2011-0963
  • Cryptography is desirable
  • However, it is hard to verify
  • A sanitized disk is easy to verify
  • Why not crypto-scramble AND erase?
slide-37
SLIDE 37

37

SAFE: Scramble and Finally Erase

  • Traditional Sanitization Process

– Sanitize and Initialize in a single step – Drive is INITIALIZED after a sanitize

Sanitize Disk In Use ACTIVE Write Metadata INITIALIZED

slide-38
SLIDE 38

38

  • Crypto-Erase “Sanitization” Process

– Delete keys – Drive is INITIALIZED after a sanitize

Encrypted, In Use ACTIVE Delete Keys KEYLESS Write Metadata INITIALIZED

SAFE: Scramble and Finally Erase

slide-39
SLIDE 39

39

SAFE breaks this up and adds two new states: KEYLESS and VERIFIABLE

Sanitize Disk Encrypted, In Use ACTIVE Delete Keys KEYLESS Block Erase VERIFIABLE Write Metadata INITIALIZED

SAFE: Scramble and Finally Erase

slide-40
SLIDE 40

40

SAFE: Scramble and Finally Erase

Scramble: Drive is actively being encrypted

– On sanitize, delete the keys (KEYLESS) – This step takes milliseconds

Sanitize Disk Encrypted, In Use ACTIVE Delete Keys KEYLESS Block Erase VERIFIABLE Write Metadata INITIALIZED

slide-41
SLIDE 41

41

SAFE: Scramble and Finally Erase

Erase: Perform a block erase after scramble

– We can easily verify the drive (VERIFIABLE) – This step takes minutes

Sanitize Disk Encrypted, In Use ACTIVE Delete Keys KEYLESS Block Erase VERIFIABLE Write Metadata INITIALIZED

slide-42
SLIDE 42

42

SAFE: Scramble and Finally Erase

  • We can now verify if the drive is erased

– Via pulling off the chips – Possibly via hardware commands that don’t exist yet – External connector

  • Best of both worlds

– Fast cryptographic scramble – Slower, more secure erase

slide-43
SLIDE 43

43

Myth: Flash takes a long time to erase

  • 13 seconds to erase 4 Gbit
  • 2.1minutes to program 4 Gbit
  • Can work on multiple chips in parallel
  • #of channels scales with drive size (in general)
  • Average disk (250GB) may take ~20s to fully erase
  • With simple optimizations, a very fast erase is

possible

slide-44
SLIDE 44

44

SAFE: Scramble and Finally Erase

  • Problem: We still have to trust the firmware

designer to do it right!

  • Challenge: How do we avoid the need to

trust the firmware?

slide-45
SLIDE 45

45

  • Various Government Standards
  • According to NIST 800-88 (2006)

“Studies today have shown that most of today’s media can be effectively cleared by

  • ne overwrite.”

Software overwrite

slide-46
SLIDE 46

46

Software overwrite

slide-47
SLIDE 47

47

Software overwrite

?

slide-48
SLIDE 48

48

Our experiments show 2 passes are

typically necessary

But even on the same drive, the number of required passes varied between 2 to more than 20.

How many times?

Unreliable - hardware commands are best, if they are correctly implemented.

*

slide-49
SLIDE 49

49

Single-File Sanitization

Erasing single files while leaving other parts of the drive intact

slide-50
SLIDE 50

50

We want to sanitize only part of the disk.

slide-51
SLIDE 51

51

Let’s try overwriting it…

slide-52
SLIDE 52

52

And again…

slide-53
SLIDE 53

53

1 MB 10 MB 100 MB 1000 MB Recovery (MB)

We tested with a 1000MB file, and got pretty bad results…

slide-54
SLIDE 54

54

We tried to augment the existing procedures to do better…

  • Wipe the free space
  • Defragment and wipe

…but that didn’t help at all.

slide-55
SLIDE 55

55

We’d like a hardware command that would tell the controller to delete stale data

slide-56
SLIDE 56

56

Overview

  • Motivation
  • Sanitization Background
  • Validating Sanitization

and Results

  • Single-File Sanitization

Enhancement

slide-57
SLIDE 57

57

Scrubbing

An enhancement to the FTL to sanitize single files

slide-58
SLIDE 58

58

Unfortunately, it’s not that easy.

slide-59
SLIDE 59

59

First, flash is arranged into areas we can write to called pages.

slide-60
SLIDE 60

60

And pages are arranged into larger sections we can erase called blocks.

slide-61
SLIDE 61

61

Erasing one piece of data would erase everything else in that block

slide-62
SLIDE 62

62

One method to get around the limitation is to copy.. But that’s slow!

slide-63
SLIDE 63

63

We can overwrite individual pages

slide-64
SLIDE 64

64

We can overwrite individual pages

slide-65
SLIDE 65

65

We can overwrite individual pages

slide-66
SLIDE 66

66

We can overwrite individual pages

slide-67
SLIDE 67

67

The datasheet says we have to program pages in order though…

slide-68
SLIDE 68

68

Our research has shown that it’s

  • kay, with specific restrictions.

We call this a “scrub”.

slide-69
SLIDE 69

69

Low density, high reliability SLC memory: No caveat. MLC:

slide-70
SLIDE 70

70

High Density MLC: We are limited by a “scrub budget”

Typical “Safe” BER

slide-71
SLIDE 71

71

Sanitizing single files with scrub

  • When do we do it?

– Immediate: Right away – Background: When we’re free – Scan: When we’re told to

slide-72
SLIDE 72

72

Immediate & Background

  • Automatically scrubs stale data from SSD
  • Immediate

– Maximum Security – Writes don’t complete until scrub is done

  • Background

– Good Security – Better performance, writes finish immediately

slide-73
SLIDE 73

73

  • Harm. Mean of Financial, Software Devel.,

Patch, OLTP, Berkeley−DB, BTreeSwap

0.1 1 10 100 1000

Background SLC Immediate SLC Background MLC 0 Immediate MLC 0 Background MLC 16 Immediate MLC 16 Background MLC 64 Immediate MLC 64

log Rel. Write Latency

Scrub Mode (for MLC, Scrub Budget)

slide-74
SLIDE 74

74

  • Harm. Mean of Financial, Software Devel.,

Patch, OLTP, Berkeley−DB, BTreeSwap

0.1 1 10 100 1000

Background SLC Immediate SLC Background MLC 0 Immediate MLC 0 Background MLC 16 Immediate MLC 16 Background MLC 64 Immediate MLC 64

log Rel. Write Latency

Scrub Mode (for MLC, Scrub Budget)

slide-75
SLIDE 75

75

  • Harm. Mean of Financial, Software Devel.,

Patch, OLTP, Berkeley−DB, BTreeSwap

0.1 1 10 100 1000

Background SLC Immediate SLC Background MLC 0 Immediate MLC 0 Background MLC 16 Immediate MLC 16 Background MLC 64 Immediate MLC 64

log Rel. Write Latency

Scrub Mode (for MLC, Scrub Budget)

slide-76
SLIDE 76

76

Scan is what we wanted earlier: A built-in command to sanitize individual files.

slide-77
SLIDE 77

77

In MLC, we still have to manage the scrub budget with copies.

slide-78
SLIDE 78

78

Scan Latency

5 10 15 20 25

Relative Latency (s)

Benchmark

SLC MLC 0 MLC 16 MLC 32 MLC 64 MLC 128

slide-79
SLIDE 79

79

Scrubbing

  • The solution for single-file sanitization
  • Sanitization level is selectable
  • On-demand with scan mode
slide-80
SLIDE 80

80

Conclusion

  • Sanitizing storage media is essential for data

security

  • Need to verify sanitization effectiveness

– Built-in mechanisms are reliable when implemented correctly – Hard-drive techniques don’t necessarily work – SAFE allows us to verify encrypted drives

  • Sanitizing single files (in place) is difficult

– Software overwrite cannot reliably sanitize – Scrubbing allows us to sanitize files by modifying the FTL