27
User-Level Secure Deletion on Log-Structured File Systems Joel Reardon and Claudio Marfolio and Srdjan ˇ Capkun and David Basin ETH Zurich, Switzerland 2012.05.04 1

User-Level Secure Deletion on Log-Structured File Systems · Secure Deletion Problem 3. Secure Deletion Easily Solved for Block Devices ... garbage collection is used to duplicate

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: User-Level Secure Deletion on Log-Structured File Systems · Secure Deletion Problem 3. Secure Deletion Easily Solved for Block Devices ... garbage collection is used to duplicate

User-Level Secure Deletionon

Log-Structured File Systems

Joel Reardon and Claudio Marfolio and Srdjan Capkun and David BasinETH Zurich, Switzerland

2012.05.04

1

Page 2: User-Level Secure Deletion on Log-Structured File Systems · Secure Deletion Problem 3. Secure Deletion Easily Solved for Block Devices ... garbage collection is used to duplicate

Secure Deletion

remove data so it is irrecoverable

why is this important

personal data, location data, corporate data

attacks

theft, border-crossing, subpoena

2

Page 3: User-Level Secure Deletion on Log-Structured File Systems · Secure Deletion Problem 3. Secure Deletion Easily Solved for Block Devices ... garbage collection is used to duplicate

Secure Deletion Problem

3

Page 4: User-Level Secure Deletion on Log-Structured File Systems · Secure Deletion Problem 3. Secure Deletion Easily Solved for Block Devices ... garbage collection is used to duplicate

Secure Deletion Easily Solved for Block Devices

block device layout

4

Page 5: User-Level Secure Deletion on Log-Structured File Systems · Secure Deletion Problem 3. Secure Deletion Easily Solved for Block Devices ... garbage collection is used to duplicate

Secure Deletion Easily Solved for Block Devices

block device layout after overwriting file data

5

Page 6: User-Level Secure Deletion on Log-Structured File Systems · Secure Deletion Problem 3. Secure Deletion Easily Solved for Block Devices ... garbage collection is used to duplicate

Secure Deletion not Trivial for Log-Structured FSes

log-structured device layout

6

Page 7: User-Level Secure Deletion on Log-Structured File Systems · Secure Deletion Problem 3. Secure Deletion Easily Solved for Block Devices ... garbage collection is used to duplicate

Overwriting in Log-Structured File Systems

log-structured device layout after overwriting file data

7

Page 8: User-Level Secure Deletion on Log-Structured File Systems · Secure Deletion Problem 3. Secure Deletion Easily Solved for Block Devices ... garbage collection is used to duplicate

Log-Structured File Systems and Flash Memory

pages are the unit of read/write operations

erase blocks are the unit of erasures

a page must be erased before it can be written

erasures are costly: power, wear, time

8

Page 9: User-Level Secure Deletion on Log-Structured File Systems · Secure Deletion Problem 3. Secure Deletion Easily Solved for Block Devices ... garbage collection is used to duplicate

Erasing on Flash Memory

entire erase block no longer stores needed data

9

Page 10: User-Level Secure Deletion on Log-Structured File Systems · Secure Deletion Problem 3. Secure Deletion Easily Solved for Block Devices ... garbage collection is used to duplicate

Erasing on Flash Memory

erasure operation is used to clear out entire erase block

10

Page 11: User-Level Secure Deletion on Log-Structured File Systems · Secure Deletion Problem 3. Secure Deletion Easily Solved for Block Devices ... garbage collection is used to duplicate

Erase Blocks have a Mixture of Needed/Unneeded Data

generally, only some part of an erase block is not needed

11

Page 12: User-Level Secure Deletion on Log-Structured File Systems · Secure Deletion Problem 3. Secure Deletion Easily Solved for Block Devices ... garbage collection is used to duplicate

Garbage Collection is Used for Deletion

garbage collection is used to duplicate data elsewhere, making theentire erase block unneeded

12

Page 13: User-Level Secure Deletion on Log-Structured File Systems · Secure Deletion Problem 3. Secure Deletion Easily Solved for Block Devices ... garbage collection is used to duplicate

Secure deletion is not straightforward.

13

Page 14: User-Level Secure Deletion on Log-Structured File Systems · Secure Deletion Problem 3. Secure Deletion Easily Solved for Block Devices ... garbage collection is used to duplicate

We Investigate the Status Quo for Deletion in YAFFS

YAFFS is a log-structured flash file system used for Androidsmart phonesmodified Nexus one’s file system YAFFS

report erase block allocations

gives us upper bound on deletion latency

record all write behaviour

build a model of writes for simulation

14

Page 15: User-Level Secure Deletion on Log-Structured File Systems · Secure Deletion Problem 3. Secure Deletion Easily Solved for Block Devices ... garbage collection is used to duplicate

Block Allocations on Android/Nexus

deletion latency

upper bound

X-axis: space of storage medium

Y-axis: time

black square: writing to a block at a time

distance between two black squares: upper bound on deletionlatency

15

Page 16: User-Level Secure Deletion on Log-Structured File Systems · Secure Deletion Problem 3. Secure Deletion Easily Solved for Block Devices ... garbage collection is used to duplicate

Deletion Latency

Storage medium size Deletion latency*

200 MB 46.2 hours1 GB 169.7 hours2 GB 370.3 hours

*95th percentile measure

1

some data was not deleted

100th percentile measurement undefined

if phone is not used, then data remains indefinitely

deletion only occurs when block storing data is re-allocated

16

Page 17: User-Level Secure Deletion on Log-Structured File Systems · Secure Deletion Problem 3. Secure Deletion Easily Solved for Block Devices ... garbage collection is used to duplicate

Goals of our Solution

provide guaranteed secure deletion of data

simple to use/install for users of mobile phonesefficient in terms of erasures/block allocations

effects lifetime of device, battery consumption, CPU time

17

Page 18: User-Level Secure Deletion on Log-Structured File Systems · Secure Deletion Problem 3. Secure Deletion Easily Solved for Block Devices ... garbage collection is used to duplicate

How to Target our Solution

system-level change is more powerfulwe can change the operating system to ensure deletion of sensitive datarequires:

non-standard operating systemnon-trivial installation proceedurevoiding warranty of device

some related work

user-level change more usableideal is a simple app one can install to securely delete datadoes not rely on manufacturer to provide itmuch more limited access model

only create / delete local files

no effective related work

18

Page 19: User-Level Secure Deletion on Log-Structured File Systems · Secure Deletion Problem 3. Secure Deletion Easily Solved for Block Devices ... garbage collection is used to duplicate

Our three user-level solutions:purging, ballooning, and a hybrid.

19

Page 20: User-Level Secure Deletion on Log-Structured File Systems · Secure Deletion Problem 3. Secure Deletion Easily Solved for Block Devices ... garbage collection is used to duplicate

Purging

fills the storage medium to capacityno available space remains

requiresno disk quota limitations in user-spaceno deleted data remains when the device claims to be full

20

Page 21: User-Level Secure Deletion on Log-Structured File Systems · Secure Deletion Problem 3. Secure Deletion Easily Solved for Block Devices ... garbage collection is used to duplicate

Purging

X-axis: space of storage medium

Y-axis: time

black square: writing to a block at a time

distance between two black squares: bound on deletion latency

21

Page 22: User-Level Secure Deletion on Log-Structured File Systems · Secure Deletion Problem 3. Secure Deletion Easily Solved for Block Devices ... garbage collection is used to duplicate

Purging

Storage medium size Purging cost

200 MB 1556 erasures1 GB 7827 erasures2 GB 15664 erasures

1

advantages:

guarantees deletiondeletion latency’s upper bound is purging interval

disadvantage:

requires erasing nearly every erase block

22

Page 23: User-Level Secure Deletion on Log-Structured File Systems · Secure Deletion Problem 3. Secure Deletion Easily Solved for Block Devices ... garbage collection is used to duplicate

Ballooning

continually occupy empty space on the storage medium

create/delete junk files to keep empty space at a threshold

user observes no difference, except smaller available free space

23

Page 24: User-Level Secure Deletion on Log-Structured File Systems · Secure Deletion Problem 3. Secure Deletion Easily Solved for Block Devices ... garbage collection is used to duplicate

Ballooning

X-axis: space of storage medium

Y-axis: time

black square: writing to a block at a time

distance between two black squares: bound on deletion latency

24

Page 25: User-Level Secure Deletion on Log-Structured File Systems · Secure Deletion Problem 3. Secure Deletion Easily Solved for Block Devices ... garbage collection is used to duplicate

Ballooning

Size Fill ratio* Blk allocs/hr Deletion Latency **

20 % 32.7 41.5 hours200 MB 63 % 53.4 10.8 hours

80 % 95.0 4.2 hours

4 % 25.3 349 hours2 GB 43 % 36.6 34.7 hours

76 % 87.5 8.5 hours80 % 205 4.7 hours

* average percent of live data per erase block

** 95th percentile measurement (100th undefined)

1

advantages:

trade-off between block allocation rate and deletion latency

disadvantages:

deletion is not guaranteed

25

Page 26: User-Level Secure Deletion on Log-Structured File Systems · Secure Deletion Problem 3. Secure Deletion Easily Solved for Block Devices ... garbage collection is used to duplicate

Hybrid Solution

combine ballooning at all times with occasional purgingpurging can be triggered automatically or manually

periodic purging guarantees deletionpurging is faster since ballooning occupies large empty space

well-suited to reduce the cost of purging for large media

Storage medium size Fill ratio* Purge cost

20 % 1556 erasures200 MB 63 % 705 erasures

80 % 357 erasures

4 % 15663 erasures2 GB 43 % 1630 erasures

76 % 845 erasures80 % 484 erasures

* average percent of live data per erase block

1

26

Page 27: User-Level Secure Deletion on Log-Structured File Systems · Secure Deletion Problem 3. Secure Deletion Easily Solved for Block Devices ... garbage collection is used to duplicate

Summary

Size Fill ratio* Blk allocs/hr Deletion Latency ** Purge Cost

20 % 32.7 41.5 hours 1556 erasures200 MB 63 % 53.4 10.8 hours 705 erasures

80 % 95.0 4.2 hours 357 erasures

4 % 25.3 349 hours 15663 erasures2 GB 43 % 36.6 34.7 hours 1630 erasures

76 % 87.5 8.5 hours 845 erasures80 % 205 4.7 hours 484 erasures

* average percent of live data per erase block

** 95th percentile measurement (100th undefined)

1

we have implemented this as a user-space application

we also analyzed device wear and battery consumption

27