Probable Cause The Deanonymizing Effects of Approximate DRAM Amir - - PowerPoint PPT Presentation

probable cause
SMART_READER_LITE
LIVE PREVIEW

Probable Cause The Deanonymizing Effects of Approximate DRAM Amir - - PowerPoint PPT Presentation

Probable Cause The Deanonymizing Effects of Approximate DRAM Amir Rahmati , Matthew Hicks, Dan Holcomb, Kevin Fu Approximate Computing e c n E a m n e r r o g f r y e P Precision Amir Rahmati 2 Deanonymizing Approximate


slide-1
SLIDE 1

Probable Cause

The Deanonymizing Effects of Approximate DRAM

Amir Rahmati, Matthew Hicks, Dan Holcomb, Kevin Fu

slide-2
SLIDE 2

Amir Rahmati Deanonymizing Approximate Memory

Approximate Computing

P e r f

  • r

m a n c e E n e r g y Precision 2

slide-3
SLIDE 3

Amir Rahmati Deanonymizing Approximate Memory

Approximate Computing

P e r f

  • r

m a n c e E n e r g y Precision 2

Precise computation is not required in many applications:

slide-4
SLIDE 4

Amir Rahmati Deanonymizing Approximate Memory

Approximate Computing

P e r f

  • r

m a n c e E n e r g y Precision 2

Precise computation is not required in many applications: Machine learning, sensory data,

information retrieval, physical simulation, computer vision…

slide-5
SLIDE 5

Approximate Computing

Amir Rahmati Deanonymizing Approximate Memory

3

slide-6
SLIDE 6

Approximate Computing

Programming Language

UncertainT (ASPLOS’14) Enerj (PLDI’11)

Amir Rahmati Deanonymizing Approximate Memory

3

slide-7
SLIDE 7

Approximate Computing

Programming Language

UncertainT (ASPLOS’14) Enerj (PLDI’11)

Storage

Flikker (ASPLOS’11) Approximate storage in solid state memory (Micro’13)

Amir Rahmati Deanonymizing Approximate Memory

3

slide-8
SLIDE 8

Approximate Computing

Programming Language

UncertainT (ASPLOS’14) Enerj (PLDI’11)

Storage

Flikker (ASPLOS’11) Approximate storage in solid state memory (Micro’13)

Architecture

Truffle (ASPLOS’12) Relax (ISCA’10) ERSA (DATE’10)

Amir Rahmati Deanonymizing Approximate Memory

3

slide-9
SLIDE 9

Approximate Computing

Programming Language

UncertainT (ASPLOS’14) Enerj (PLDI’11)

Storage

Flikker (ASPLOS’11) Approximate storage in solid state memory (Micro’13)

Architecture

Truffle (ASPLOS’12) Relax (ISCA’10) ERSA (DATE’10)

Algorithms

Green (PLDI’10)

Amir Rahmati Deanonymizing Approximate Memory

3

slide-10
SLIDE 10

Approximate Computing

Security Programming Language

UncertainT (ASPLOS’14) Enerj (PLDI’11)

Storage

Flikker (ASPLOS’11) Approximate storage in solid state memory (Micro’13)

Architecture

Truffle (ASPLOS’12) Relax (ISCA’10) ERSA (DATE’10)

Algorithms

Green (PLDI’10)

Amir Rahmati Deanonymizing Approximate Memory

3

slide-11
SLIDE 11

Approximate Computing

Security

Programming Language

UncertainT (ASPLOS’14) Enerj (PLDI’11)

Storage

Flikker (ASPLOS’11) Approximate storage in solid state memory (Micro’13)

Architecture

Truffle (ASPLOS’12) Relax (ISCA’10) ERSA (DATE’10)

Algorithms

Green (PLDI’10)

How does Approximate Computing affect the end-user?

Amir Rahmati Deanonymizing Approximate Memory

3

slide-12
SLIDE 12

Privacy Implications of Approximate DRAM

Amir Rahmati Deanonymizing Approximate Memory

4

slide-13
SLIDE 13

Privacy Implications of Approximate DRAM

Identify the origin of data by looking at the error pattern

Amir Rahmati Deanonymizing Approximate Memory

4

slide-14
SLIDE 14

Amir Rahmati Deanonymizing Approximate Memory

Overview

5

slide-15
SLIDE 15

Amir Rahmati Deanonymizing Approximate Memory

Overview

5

slide-16
SLIDE 16

Amir Rahmati Deanonymizing Approximate Memory

Overview

5

slide-17
SLIDE 17

Amir Rahmati Deanonymizing Approximate Memory

Overview

5

slide-18
SLIDE 18

Amir Rahmati Deanonymizing Approximate Memory

Overview

5

slide-19
SLIDE 19

Amir Rahmati Deanonymizing Approximate Memory

Background on DRAM

6

slide-20
SLIDE 20

Amir Rahmati Deanonymizing Approximate Memory

Background on DRAM

6

slide-21
SLIDE 21

Amir Rahmati Deanonymizing Approximate Memory

Background on DRAM

6

Cell value

slide-22
SLIDE 22

Amir Rahmati Deanonymizing Approximate Memory

Background on DRAM

6

Cell value Charge leakage

slide-23
SLIDE 23

Amir Rahmati Deanonymizing Approximate Memory

Background on DRAM

6

Cell value Charge leakage Refresh

slide-24
SLIDE 24

Amir Rahmati Deanonymizing Approximate Memory

Background on DRAM

6

slide-25
SLIDE 25

Amir Rahmati Deanonymizing Approximate Memory

Background on DRAM

6

slide-26
SLIDE 26

Toy Example

(b) (c)

Device A Device B

7

Amir Rahmati Deanonymizing Approximate Memory

slide-27
SLIDE 27

Toy Example

(b) (c)

Device A Device B

7

Amir Rahmati Deanonymizing Approximate Memory

slide-28
SLIDE 28

Toy Example

(b) (c) (a)

Device A Device B

7

Amir Rahmati Deanonymizing Approximate Memory

slide-29
SLIDE 29

Toy Example

(b) (c) (a)

Device A Device B

7

Amir Rahmati Deanonymizing Approximate Memory

slide-30
SLIDE 30

Toy Example

(b) (c) (a)

Device A Device B

7

Amir Rahmati Deanonymizing Approximate Memory

slide-31
SLIDE 31

Amir Rahmati Deanonymizing Approximate Memory

Distance Metric

8

slide-32
SLIDE 32

Amir Rahmati Deanonymizing Approximate Memory

Distance Metric

8

Hamming Distance

slide-33
SLIDE 33

Amir Rahmati Deanonymizing Approximate Memory

Distance Metric

8

x x Hamming

Distance

x x

2

A B

bits 1 2 3 4 5 6

slide-34
SLIDE 34

Amir Rahmati Deanonymizing Approximate Memory

Distance Metric

8

x x Hamming

Distance

x x x x x x

2 2

A B A+

bits 1 2 3 4 5 6

slide-35
SLIDE 35

Amir Rahmati Deanonymizing Approximate Memory

Distance Metric

8

x x Hamming

Distance

x x x x x x

2 2

Jaccard Distance

1

A B A+

bits 1 2 3 4 5 6

slide-36
SLIDE 36

Amir Rahmati Deanonymizing Approximate Memory

Distance Metric

8

x x Hamming

Distance

x x x x x x

2 2

x x x

Jaccard Distance

1 1 3

A B A+ C

bits 1 2 3 4 5 6

slide-37
SLIDE 37

Amir Rahmati Deanonymizing Approximate Memory

Distance Metric

8

x x Hamming

Distance

x x x x x x

2 2

x x x

Jaccard Distance

1 1

Jaccard Distance Hamming Weight

.5 .33 3

A B A+ C

bits 1 2 3 4 5 6

slide-38
SLIDE 38

Amir Rahmati Deanonymizing Approximate Memory

Distance Metric

8

x x Hamming

Distance

x x x x x x

2 2

x x x

Jaccard Distance

1 1

Jaccard Distance Hamming Weight

.5 .33 3

A B A+ C

bits 1 2 3 4 5 6

slide-39
SLIDE 39

Putting Memory Fingerprint Together

9

Page granularity

Amir Rahmati Deanonymizing Approximate Memory

slide-40
SLIDE 40

Putting Memory Fingerprint Together

9

Page granularity

Amir Rahmati Deanonymizing Approximate Memory

slide-41
SLIDE 41

Putting Memory Fingerprint Together

9

Page granularity

Amir Rahmati Deanonymizing Approximate Memory

slide-42
SLIDE 42

Putting Memory Fingerprint Together

9

Page granularity

Amir Rahmati Deanonymizing Approximate Memory

slide-43
SLIDE 43

Putting Memory Fingerprint Together

9

Page granularity

Amir Rahmati Deanonymizing Approximate Memory

slide-44
SLIDE 44

Experimental Setup

10

Amir Rahmati Deanonymizing Approximate Memory

slide-45
SLIDE 45

Amir Rahmati Deanonymizing Approximate Memory

Uniqueness

11

How unique are the fingerprints?

slide-46
SLIDE 46

Amir Rahmati Deanonymizing Approximate Memory

Uniqueness

11

How unique are the fingerprints? Two order of magnitude difference

slide-47
SLIDE 47

Amir Rahmati Deanonymizing Approximate Memory

Order of Failure

12

Does the fingerprint hold across different levels of approximation?

slide-48
SLIDE 48

Amir Rahmati Deanonymizing Approximate Memory

Order of Failure

12

Does the fingerprint hold across different levels of approximation?

, , ,

slide-49
SLIDE 49

Amir Rahmati Deanonymizing Approximate Memory

Order of Failure

12

Does the fingerprint hold across different levels of approximation?

, , ,

slide-50
SLIDE 50

Amir Rahmati Deanonymizing Approximate Memory

Order of Failure

12

Does the fingerprint hold across different levels of approximation?

, , ,

slide-51
SLIDE 51

Amir Rahmati Deanonymizing Approximate Memory

Order of Failure

12

Does the fingerprint hold across different levels of approximation?

, , , , , ,

slide-52
SLIDE 52

Amir Rahmati Deanonymizing Approximate Memory

Level of Approximation

13

How do different levels of approximation affect identification?

slide-53
SLIDE 53

Amir Rahmati Deanonymizing Approximate Memory

Level of Approximation

20 40 60 80 100 120 0.75 0.8 0.85 0.9 0.95 1 Number of results Distance 90% 95% 99%

13

How do different levels of approximation affect identification?

slide-54
SLIDE 54

Amir Rahmati Deanonymizing Approximate Memory

Thermal Effect

14

How does change in temperature affect identification?

slide-55
SLIDE 55

Amir Rahmati Deanonymizing Approximate Memory

Thermal Effect

14

How does change in temperature affect identification?

slide-56
SLIDE 56

Amir Rahmati Deanonymizing Approximate Memory

Thermal Effect

14

How does change in temperature affect identification?

90% 95% 99%

slide-57
SLIDE 57

Amir Rahmati Deanonymizing Approximate Memory

Consistency

15

How consistent are the fingerprints?

slide-58
SLIDE 58

Amir Rahmati Deanonymizing Approximate Memory

Consistency

15

How consistent are the fingerprints?

slide-59
SLIDE 59

Types of Attack

16

Amir Rahmati Deanonymizing Approximate Memory

slide-60
SLIDE 60

Types of Attack

16

Amir Rahmati Deanonymizing Approximate Memory

slide-61
SLIDE 61

End to End Feasibility

17

Amir Rahmati Deanonymizing Approximate Memory

slide-62
SLIDE 62

End to End Feasibility

17

  • Commodity system

Amir Rahmati Deanonymizing Approximate Memory

slide-63
SLIDE 63

End to End Feasibility

17

  • Commodity system
  • Edge detection tool

Amir Rahmati Deanonymizing Approximate Memory

slide-64
SLIDE 64

End to End Feasibility

17

  • Commodity system
  • Edge detection tool

Amir Rahmati Deanonymizing Approximate Memory

  • 1000X10MB traces
slide-65
SLIDE 65

End to End Feasibility

17

  • Commodity system
  • Edge detection tool

Amir Rahmati Deanonymizing Approximate Memory

  • 1000X10MB traces
slide-66
SLIDE 66

End to End Feasibility

17

  • Commodity system
  • Edge detection tool

Amir Rahmati Deanonymizing Approximate Memory

  • 1000X10MB traces
slide-67
SLIDE 67

Chance of Mismatch

18

How much entropy does a page of memory provide?

Amir Rahmati Deanonymizing Approximate Memory

slide-68
SLIDE 68

Chance of Mismatch

For memory of size M bits where A bits of errors are tolerated:

18

How much entropy does a page of memory provide?

Amir Rahmati Deanonymizing Approximate Memory

slide-69
SLIDE 69

Chance of Mismatch

For memory of size M bits where A bits of errors are tolerated: Given noise threshold of T bits using Hamming bound:

18

How much entropy does a page of memory provide?

Amir Rahmati Deanonymizing Approximate Memory

slide-70
SLIDE 70

Chance of Mismatch

For memory of size M bits where A bits of errors are tolerated: Given noise threshold of T bits using Hamming bound:

18

How much entropy does a page of memory provide?

Amir Rahmati Deanonymizing Approximate Memory

slide-71
SLIDE 71

Conclusion

19

https://github.com/impedimentToProgress/ProbableCause

Amir Rahmati Deanonymizing Approximate Memory

slide-72
SLIDE 72

Conclusion

19

Consider Security & Privacy as a primary design criteria in emerging systems

https://github.com/impedimentToProgress/ProbableCause

Amir Rahmati Deanonymizing Approximate Memory

slide-73
SLIDE 73

Backup Slides

slide-74
SLIDE 74

Amir Rahmati Deanonymizing Approximate Memory

Defenses

  • Data Segregation
  • Noise
  • Data Scrambling
slide-75
SLIDE 75

Amir Rahmati Deanonymizing Approximate Memory

Error Localization

  • Recalculate from known inputs
  • Noise detection algorithms
  • Speculative distance calculation
slide-76
SLIDE 76

نایاپ