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 Memory
Approximate Computing e c n E a m n e r r o g f r y e P Precision Precise computation is not required in many applications: Amir Rahmati 2 Deanonymizing Approximate Memory
Approximate Computing e c n E a m n e r r o g f r y e P Precision Precise computation is not required in many applications: Machine learning, sensory data, information retrieval, physical simulation, computer vision… Amir Rahmati 2 Deanonymizing Approximate Memory
Approximate Computing Amir Rahmati Deanonymizing Approximate Memory 3
Approximate Computing UncertainT (ASPLOS’14) Enerj (PLDI’11) Programming Language Amir Rahmati Deanonymizing Approximate Memory 3
Approximate Computing UncertainT (ASPLOS’14) Flikker (ASPLOS’11) Enerj (PLDI’11) Approximate storage in solid state memory (Micro’13) Programming Storage Language Amir Rahmati Deanonymizing Approximate Memory 3
Approximate Computing UncertainT (ASPLOS’14) Flikker (ASPLOS’11) Enerj (PLDI’11) Approximate storage in solid state memory (Micro’13) Programming Storage Language Truffle (ASPLOS’12) Relax (ISCA’10) ERSA (DATE’10) Architecture Amir Rahmati Deanonymizing Approximate Memory 3
Approximate Computing UncertainT (ASPLOS’14) Flikker (ASPLOS’11) Enerj (PLDI’11) Approximate storage in solid state memory (Micro’13) Programming Storage Language Truffle (ASPLOS’12) Relax (ISCA’10) Green (PLDI’10) ERSA (DATE’10) Algorithms Architecture Amir Rahmati Deanonymizing Approximate Memory 3
Approximate Computing UncertainT (ASPLOS’14) Flikker (ASPLOS’11) Enerj (PLDI’11) Approximate storage in solid state memory (Micro’13) Programming Storage Language Security Truffle (ASPLOS’12) Relax (ISCA’10) Green (PLDI’10) ERSA (DATE’10) Algorithms Architecture Amir Rahmati Deanonymizing Approximate Memory 3
Approximate Computing UncertainT (ASPLOS’14) Flikker (ASPLOS’11) Enerj (PLDI’11) Approximate storage in solid state memory (Micro’13) Programming Storage Language Security How does Approximate Computing Truffle (ASPLOS’12) affect the end-user? Relax (ISCA’10) Green (PLDI’10) ERSA (DATE’10) Algorithms Architecture Amir Rahmati Deanonymizing Approximate Memory 3
Privacy Implications of Approximate DRAM Amir Rahmati 4 Deanonymizing Approximate Memory
Privacy Implications of Approximate DRAM Identify the origin of data by looking at the error pattern Amir Rahmati 4 Deanonymizing Approximate Memory
Overview Amir Rahmati Deanonymizing Approximate Memory 5
Overview Amir Rahmati Deanonymizing Approximate Memory 5
Overview Amir Rahmati Deanonymizing Approximate Memory 5
Overview Amir Rahmati Deanonymizing Approximate Memory 5
Overview Amir Rahmati Deanonymizing Approximate Memory 5
Background on DRAM Amir Rahmati Deanonymizing Approximate Memory 6
Background on DRAM Amir Rahmati Deanonymizing Approximate Memory 6
Background on DRAM Cell value Amir Rahmati Deanonymizing Approximate Memory 6
Background on DRAM Charge leakage Cell value Amir Rahmati Deanonymizing Approximate Memory 6
Background on DRAM Refresh Charge leakage Cell value Amir Rahmati Deanonymizing Approximate Memory 6
Background on DRAM Amir Rahmati Deanonymizing Approximate Memory 6
Background on DRAM Amir Rahmati Deanonymizing Approximate Memory 6
Toy Example Device A Device B (b) (c) 7 Amir Rahmati Deanonymizing Approximate Memory
Toy Example Device A Device B (b) (c) 7 Amir Rahmati Deanonymizing Approximate Memory
Toy Example Device A Device B (b) (c) (a) 7 Amir Rahmati Deanonymizing Approximate Memory
Toy Example Device A Device B (b) (c) (a) 7 Amir Rahmati Deanonymizing Approximate Memory
Toy Example Device A Device B (b) (c) (a) 7 Amir Rahmati Deanonymizing Approximate Memory
Distance Metric Amir Rahmati Deanonymizing Approximate Memory 8
Distance Metric Hamming Distance Amir Rahmati Deanonymizing Approximate Memory 8
Distance Metric bits 1 2 3 4 5 6 x Hamming A x Distance 2 B x x Amir Rahmati Deanonymizing Approximate Memory 8
Distance Metric bits 1 2 3 4 5 6 x Hamming A x Distance 2 B x x 2 A + x x x x Amir Rahmati Deanonymizing Approximate Memory 8
Distance Metric bits 1 2 3 4 5 6 x Hamming Jaccard A x Distance Distance 2 1 B x x 2 0 A + x x x x Amir Rahmati Deanonymizing Approximate Memory 8
Distance Metric bits 1 2 3 4 5 6 x Hamming Jaccard A x Distance Distance 2 1 B x x 2 0 A + x x x x 3 1 C x x x Amir Rahmati Deanonymizing Approximate Memory 8
Distance Metric bits 1 2 3 4 5 6 x Hamming Jaccard Jaccard Distance A x Distance Distance Hamming Weight 2 1 .5 B x x 2 0 0 A + x x x x 3 1 .33 C x x x Amir Rahmati Deanonymizing Approximate Memory 8
Distance Metric bits 1 2 3 4 5 6 x Hamming Jaccard Jaccard Distance A x Distance Distance Hamming Weight 2 1 .5 B x x 2 0 0 A + x x x x 3 1 .33 C x x x Amir Rahmati Deanonymizing Approximate Memory 8
Putting Memory Fingerprint Together Page granularity Amir Rahmati Deanonymizing Approximate Memory 9
Putting Memory Fingerprint Together Page granularity Amir Rahmati Deanonymizing Approximate Memory 9
Putting Memory Fingerprint Together Page granularity Amir Rahmati Deanonymizing Approximate Memory 9
Putting Memory Fingerprint Together Page granularity Amir Rahmati Deanonymizing Approximate Memory 9
Putting Memory Fingerprint Together Page granularity Amir Rahmati Deanonymizing Approximate Memory 9
Experimental Setup Amir Rahmati Deanonymizing Approximate Memory 10
Uniqueness How unique are the fingerprints? Amir Rahmati Deanonymizing Approximate Memory 11
Uniqueness How unique are the fingerprints? Two order of magnitude difference Amir Rahmati Deanonymizing Approximate Memory 11
Order of Failure Does the fingerprint hold across different levels of approximation? Amir Rahmati Deanonymizing Approximate Memory 12
Order of Failure Does the fingerprint hold across different levels of approximation? , , , Amir Rahmati Deanonymizing Approximate Memory 12
Order of Failure Does the fingerprint hold across different levels of approximation? , , , Amir Rahmati Deanonymizing Approximate Memory 12
Order of Failure Does the fingerprint hold across different levels of approximation? , , , Amir Rahmati Deanonymizing Approximate Memory 12
Order of Failure Does the fingerprint hold across different levels of approximation? , , , , , , Amir Rahmati Deanonymizing Approximate Memory 12
Level of Approximation How do different levels of approximation affect identification? Amir Rahmati Deanonymizing Approximate Memory 13
Level of Approximation How do different levels of approximation affect identification? 120 90% 95% 99% 100 80 Number of results 60 40 20 0 0.75 0.8 0.85 0.9 0.95 1 Distance Amir Rahmati Deanonymizing Approximate Memory 13
Thermal Effect How does change in temperature affect identification? Amir Rahmati Deanonymizing Approximate Memory 14
Thermal Effect How does change in temperature affect identification? Amir Rahmati Deanonymizing Approximate Memory 14
Thermal Effect How does change in temperature affect identification? 99% 95% 90% Amir Rahmati Deanonymizing Approximate Memory 14
Consistency How consistent are the fingerprints? Amir Rahmati Deanonymizing Approximate Memory 15
Consistency How consistent are the fingerprints? Amir Rahmati Deanonymizing Approximate Memory 15
Types of Attack Amir Rahmati Deanonymizing Approximate Memory 16
Types of Attack Amir Rahmati Deanonymizing Approximate Memory 16
End to End Feasibility Amir Rahmati Deanonymizing Approximate Memory 17
End to End Feasibility • Commodity system Amir Rahmati Deanonymizing Approximate Memory 17
End to End Feasibility • Commodity system • Edge detection tool Amir Rahmati Deanonymizing Approximate Memory 17
End to End Feasibility • Commodity system • Edge detection tool • 1000X10MB traces Amir Rahmati Deanonymizing Approximate Memory 17
End to End Feasibility • Commodity system • Edge detection tool • 1000X10MB traces Amir Rahmati Deanonymizing Approximate Memory 17
End to End Feasibility • Commodity system • Edge detection tool • 1000X10MB traces Amir Rahmati Deanonymizing Approximate Memory 17
Recommend
More recommend