the promises and pitfalls of hardware assisted security
play

The Promises and Pitfalls of Hardware-Assisted Security Alexandra - PowerPoint PPT Presentation

The Promises and Pitfalls of Hardware-Assisted Security Alexandra Dmitrienko Julius-Maximilians-Universitt Wrzburg alexandra.dmitrienko@uni-wuerzburg.de SEPTEMBER 9 13, 2019 CROSSING Summer School on Sustainable Security & Privacy


  1. SGX SDK and The Guard’s Dilemma [Biondo et al., USENIX Security 2018] • tRTS is not randomized by SGX-Shield • It cannot be randomized due to architectural specifics • E.g., enclave functions are invoked using fixed pre-defined entry points • Contributions by Biondo et al.: • show that tRTS has enough gadgets to mount ROP • develop new techniques that do not require enclave crashes • new techniques do not require kernel privileges from an attacker SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 14

  2. Leaky SGX SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 15

  3. Side-Channel Attack: General Principle Entity 1 Entity 2 System SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 16

  4. Side-Channel Attack: General Principle Attacker Entity 1 Entity 2 Victim System SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 16

  5. Side-Channel Attack: General Principle Observe Attacker Entity 1 Entity 2 Victim System SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 16

  6. Side-Channel Attack: General Principle Observe Attacker Entity 1 Entity 2 Victim System SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 16

  7. Side-Channel Attack: General Principle Attacker Entity 1 Entity 2 Victim System SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 16

  8. Side-Channel Attack: General Principle Attacker Entity 1 Entity 2 Victim Utilize Observe System SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 16

  9. Page Fault Attacks on SGX Granularity: page 4K, good for big data structures Enclave 1 Enclave 2 App 1 App 2 App 3 OS CPU RAM EPC EPC: Enclave Page Cache PT: Page Tables PF: Page-Fault SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 17

  10. Page Fault Attacks on SGX Granularity: page 4K, good for big data structures Enclave 1 Enclave 2 App 1 App 2 App 3 OS PT PT CPU RAM EPC EPC: Enclave Page Cache PT: Page Tables PF: Page-Fault SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 17

  11. Page Fault Attacks on SGX Granularity: page 4K, good for big data structures Enclave 1 Enclave 2 App 1 App 2 App 3 OS PT PF Handler PT IRQ CPU RAM EPC EPC: Enclave Page Cache PT: Page Tables PF: Page-Fault SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 17

  12. Page Fault Attacks on SGX Granularity: page 4K, good for big data structures Original Recovered Enclave 1 Enclave 2 App 1 App 2 App 3 OS PT PF Handler PT IRQ CPU RAM EPC [Xu et al., IEEE S&P’15] EPC: Enclave Page Cache PT: Page Tables PF: Page-Fault SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 17

  13. Page Fault Attacks on SGX Granularity: page 4K, good for big data structures Original Recovered Enclave 1 Enclave 2 App 1 App 2 App 3 Single-trace RSA key recovery from RSA key generation OS PT PF Handler procedure of Intel SGX SSL via controlled-channel attack on PT the binary Euclidean algorithm (BEA) IRQ CPU [Weiser et al., AsiaCCS’18] RAM EPC [Xu et al., IEEE S&P’15] EPC: Enclave Page Cache PT: Page Tables PF: Page-Fault SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 17

  14. Cache Attacks on SGX: Hack in The Box Enclave 1 Enclave 2 App 1 App 2 App 3 CPU Cache RAM EPC EPC: Enclave Page Cache SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 18

  15. Cache Attacks on SGX: Hack in The Box Enclave 1 Enclave 2 App 1 App 2 App 3 CPU Cache RAM EPC EPC: Enclave Page Cache SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 18

  16. Cache Attacks on SGX: Hack in The Box Enclave 1 Enclave 2 App 1 App 2 App 3 observe uses e.g., by Prime & Probe CPU Cache RAM EPC EPC: Enclave Page Cache SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 18

  17. Prime + Probe Prime Victim Probe if (keybit[i] == 0) For each cline Z for each cline Z Code write(Z) read(X) read(Z) else measure_time(read) read(Y) cache line 0 cache line 0 cache line 0 cache line 1 cache line 1 cache line 1 cache line 1 Cache cache line 2 cache line 2 cache line 2 cache line 2 cache line 2 cache line 3 cache line 3 cache line 3 cache line 3 cache line 4 cache line 4 cache line 4 cache line 4 cache line 5 cache line 5 cache line 5 cache line 5 t 0 t 1 t 2 SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 19

  18. Prime + Probe Prime Victim Probe if (keybit[i] == 0) For each cline Z for each cline Z Code write(Z) read(X) read(Z) else measure_time(read) read(Y) cache line 0 cache line 0 cache line 1 cache line 1 cache line 1 Cache cache line 2 cache line 2 cache line 2 cache line 2 cache line 3 cache line 3 cache line 3 cache line 4 cache line 4 cache line 4 cache line 5 cache line 5 cache line 5 t 0 t 1 t 2 SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 19

  19. Prime + Probe Prime Victim Probe if (keybit[i] == 0) For each cline Z for each cline Z Code write(Z) read(X) read(Z) else measure_time(read) read(Y) cache line 0 cache line 0 cache line 1 cache line 1 cache line 1 Cache cache line 2 cache line 2 cache line 2 cache line 2 cache line 3 cache line 3 cache line 3 cache line 4 cache line 4 cache line 4 cache line 5 cache line 5 cache line 5 t 0 t 1 t 2 SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 19

  20. Prime + Probe Prime Victim Probe if (keybit[i] == 0) For each cline Z for each cline Z Code write(Z) read(X) read(Z) else measure_time(read) read(Y) cache line 0 cache line 0 cache line 0 cache line 1 cache line 1 cache line 1 Cache cache line 2 cache line 2 cache line 2 cache line 2 cache line 3 cache line 3 cache line 3 cache line 4 cache line 4 cache line 4 cache line 5 cache line 5 cache line 5 t 0 t 1 t 2 SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 19

  21. Prime + Probe cache line 2 was used by victim Prime Victim Probe if (keybit[i] == 0) For each cline Z for each cline Z Code write(Z) read(X) read(Z) else measure_time(read) read(Y) cache line 0 cache line 0 cache line 0 cache line 1 cache line 1 cache line 1 Cache cache line 2 cache line 2 cache line 2 cache line 3 cache line 3 cache line 3 cache line 4 cache line 4 cache line 4 cache line 5 cache line 5 cache line 5 t 0 t 1 t 2 SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 19

  22. How to measure the time difference? • #1: Time Stamp Counter (TSC) • Not precise enough to reliably distinguish the difference between L1 vs. L2 hits • Reading the time stamp counter by itself suffers from noise • #2: Counting thread: - a thread that only performs a loop that constantly increments a value (basically a timer) - Slows down the victim, can be detected • #3: Performance Monitoring Counter (PMC): - can be configured to count different events: executed cycles, cache hits or cache misses for the different caches, mis-predicted branches, etc. - Anti Side-channel Interference (ASCI) feature: - Can be configured to disable thread-specific performance monitoring of enclaves SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 20

  23. Side-Channel Grand Challenge: Noise • Operating System and any other software running on the platform generate noise • Even attacker’s own code pollutes the cache Prime Other Process Victim Probe cl 0 cl 0 cl 0 cl 0 cl 0 cl 0 cl 1 cl 1 cl 1 cl 1 cl 1 cl 2 cl 2 cl 2 cl 2 cl 2 cl 2 t k t l t m t n SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 21

  24. Side-Channel Grand Challenge: Noise • Operating System and any other software running on the platform generate noise • Even attacker’s own code pollutes the cache Prime Other Process Victim Probe cl 0 cl 0 cl 0 cl 0 cl 0 cl 1 cl 1 cl 1 cl 1 cl 2 cl 2 cl 2 cl 2 cl 2 t k t l t m t n SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 21

  25. Side-Channel Grand Challenge: Noise • Operating System and any other software running on the platform generate noise • Even attacker’s own code pollutes the cache Prime Other Process Victim Probe cl 0 cl 0 cl 0 cl 0 cl 0 cl 0 cl 1 cl 1 cl 1 cl 1 cl 2 cl 2 cl 2 cl 2 cl 2 t k t l t m t n SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 21

  26. Side-Channel Grand Challenge: Noise • Operating System and any other software running on the platform generate noise • Even attacker’s own code pollutes the cache Prime Other Process Victim Probe cl 0 cl 0 cl 0 cl 0 cl 0 cl 0 cl 1 cl 1 cl 1 cl 1 cl 2 cl 2 cl 2 cl 2 cl 2 t k t l t m t n SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 21

  27. Side-Channel Grand Challenge: Noise • Operating System and any other software running on the platform generate noise • Even attacker’s own code pollutes the cache Prime Other Process Victim Probe cl 0 cl 0 cl 0 cl 0 cl 0 cl 1 cl 1 cl 1 cl 1 cl 2 cl 2 cl 2 cl 2 t k t l t m t n SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 21

  28. Side-Channel Grand Challenge: Noise • Operating System and any other software running on the platform generate noise • Even attacker’s own code pollutes the cache cl0 and cl2 were used… Prime Other Process Victim Probe … by the cl 0 cl 0 cl 0 cl 0 cl 0 victim? cl 1 cl 1 cl 1 cl 1 cl 2 cl 2 cl 2 cl 2 t k t l t m t n SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 21

  29. Cache Attacks on SGX App 2 App 3 Enclave 1 Enclave 2 OS SMT SMT Level 1 Branch Pred. CPU Core Level 2 CPU Level 3 RAM EPC EPC: Enclave Page Cache SMT: Simultaneous Multithreading SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 22

  30. Cache Attacks on SGX App 2 App 3 Enclave 1 Enclave 2 OS SMT SMT Level 1 Branch Pred. CPU Core Level 2 CPU Level 3 RAM EPC EPC: Enclave Page Cache SMT: Simultaneous Multithreading SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 22

  31. Cache Attacks on SGX App 2 App 3 Enclave 1 Enclave 2 OS Use CPU internal caches to infer control flow SMT SMT [Lee et al., Usenix Sec’17] & Level 1 Branch Pred. CPU Core [arXiv:1611.06952] Level 2 CPU Level 3 RAM EPC EPC: Enclave Page Cache SMT: Simultaneous Multithreading SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 22

  32. Cache Attacks on SGX App 2 App 3 Enclave 1 Enclave 2 OS Use CPU internal caches to infer Prime + probe attack from malicious control flow SMT SMT OS extracting genome data [Lee et al., Usenix Sec’17] & Level 1 Branch Pred. CPU Core [Brasser et al., WOOT’17] [arXiv:1611.06952] Level 2 CPU Level 3 Use standard prime + probe to detect key dependent memory Use prime + probe to extract key accesses, interrupt enclave from synchronized victim enclave RAM EPC [Moghimi et al., arXiv:1703.06986] [Götzfried et al., EuroSec’17] EPC: Enclave Page Cache SMT: Simultaneous Multithreading SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 22

  33. Cache Attacks on SGX A malicious enclave prime + probes another enclave, evading detection [Schwarz et al., DIMVA’17 & arXiv:1702.08719] App 2 App 3 Enclave 1 Enclave 2 OS Use CPU internal caches to infer Prime + probe attack from malicious control flow SMT SMT OS extracting genome data [Lee et al., Usenix Sec’17] & Level 1 Branch Pred. CPU Core [Brasser et al., WOOT’17] [arXiv:1611.06952] Level 2 CPU Level 3 Use standard prime + probe to detect key dependent memory Use prime + probe to extract key accesses, interrupt enclave from synchronized victim enclave RAM EPC [Moghimi et al., arXiv:1703.06986] [Götzfried et al., EuroSec’17] EPC: Enclave Page Cache SMT: Simultaneous Multithreading SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 22

  34. SGX Side-Channel Attacks Comparison Observed Interrupting Time Attacker Attacked Attack Type Cache Victim Measurement Code Victim Branch RSA & SVM Lee et al. BTB / LBR Yes Execution Timing OS Shadowing classifier Moghimi et al. Prime + Probe L1(D) Yes TCS OS AES Götzfried et al. Prime + Probe L1(D) No PCM OS AES RSA & Our Attack Prime + Probe L1(D) No PCM OS Genome Sequencing Schwarz et al. Prime + Probe L3 No Counting Thread Enclave AES PCM: Performance Counter Monitor BTB: Branch Target Buffer LBR: Last Branch Record TSC: Time Stamp Counter SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 23

  35. Our Attack [Brasser et al., WOOT’17] Process m+1 OS SMT SMT SMT SMT PCM L1 L1 Core 0 Core n PCM: Performance Counter Monitor | SMT: Simultaneous Multithreading | APIC: Advanced Programmable Interrupt Controller SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 24

  36. Our Attack [Brasser et al., WOOT’17] Process m+1 OS SMT SMT SMT SMT PCM L1 L1 Core 0 Core n PCM: Performance Counter Monitor | SMT: Simultaneous Multithreading | APIC: Advanced Programmable Interrupt Controller SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 24

  37. Our Attack [Brasser et al., WOOT’17] Process Process Process Process Process Attacker Victim m+1 m 1 2 n OS SMT SMT SMT SMT PCM L1 L1 Core 0 Core n PCM: Performance Counter Monitor | SMT: Simultaneous Multithreading | APIC: Advanced Programmable Interrupt Controller SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 24

  38. Our Attack [Brasser et al., WOOT’17] Uninterrupted execution Process Process Process Process Process Attacker • Attacker assigns victim and attacker code to the Victim m+1 m same core, all other tasks to others 1 2 n • Attacker assigns victim and attacker code to different SMT threads • Monitors only one cache set per execution to increase measurement resolution OS SMT SMT SMT SMT PCM L1 L1 Core 0 Core n PCM: Performance Counter Monitor | SMT: Simultaneous Multithreading | APIC: Advanced Programmable Interrupt Controller SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 24

  39. Our Attack [Brasser et al., WOOT’17] Process Process Process Process Process Attacker Victim m+1 m 1 2 n OS Handler Handler Handler Handler SMT SMT SMT SMT APIC PCM L1 L1 Core 0 Core n PCM: Performance Counter Monitor | SMT: Simultaneous Multithreading | APIC: Advanced Programmable Interrupt Controller SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 24

  40. Our Attack [Brasser et al., WOOT’17] Process Process Process Process Process Attacker Victim m+1 m 1 2 n OS Handler Handler SMT SMT SMT SMT APIC PCM L1 L1 Core 0 Core n PCM: Performance Counter Monitor | SMT: Simultaneous Multithreading | APIC: Advanced Programmable Interrupt Controller SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 24

  41. Our Attack [Brasser et al., WOOT’17] Process Process Process Process Process Attacker Victim m+1 m 1 2 n Reducing noise OS Use kernel sysfs interface to assign interrupts Handler Handler to other cores • Timer interrupt (per thread) cannot be reassigned • Lowered timer frequency to 100Hz (i.e., every 10ms) SMT SMT SMT SMT APIC PCM L1 L1 Core 0 Core n PCM: Performance Counter Monitor | SMT: Simultaneous Multithreading | APIC: Advanced Programmable Interrupt Controller SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 24

  42. Our Attack [Brasser et al., WOOT’17] Process Process Process Process Process Attacker Victim m+1 m 1 2 n OS Handler Handler Probe SMT SMT SMT SMT APIC PCM L1 L1 Core 0 Core n PCM: Performance Counter Monitor | SMT: Simultaneous Multithreading | APIC: Advanced Programmable Interrupt Controller SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 24

  43. Our Attack [Brasser et al., WOOT’17] Process Process Process Process Process Attacker Victim m+1 m 1 2 n OS Handler Handler Probe Prime+Probe attack using L1 data cache • Eviction detection using Performance Counter SMT SMT SMT SMT Monitor (L1D_REPLACEMENT) • Anti Side-Channel Interference (ASCI) not effective, APIC monitoring cache events of attacker possible PCM L1 L1 Core 0 Core n PCM: Performance Counter Monitor | SMT: Simultaneous Multithreading | APIC: Advanced Programmable Interrupt Controller SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 24

  44. Our Attack Use-Cases [arXiv:1702.07521] [Brasser et al., WOOT 2017] • Attacking open source k-mer analysis tool • Attacking RSA implementation from the PRIMEX [Lexa et al., Bioinformatics 2003] Intel IIP crypto library in the Intel SGX SDK • Extracting genome sequences • Extracting 2048-bit RSA decryption key SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 25

  45. Extracting RSA decryption key 26

  46. RSA Key Exfiltration: Victim Enclave • RSA Decryption: m = c d (mod N) SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 27

  47. RSA Key Exfiltration: Victim Enclave • RSA Decryption: m = c d (mod N) SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 27

  48. RSA Key Exfiltration: Victim Enclave • RSA Decryption: m = c d (mod N) Secret-dependent memory access! SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 27

  49. Fixed-size Sliding Window Exponentiation e j-1 e j-2 e 0 e j e j-3 0110 1111 0001 0011 1011 Exponent e = (e j , e j-1 , …, e 0 ) … Set 13 Multiplier 1 Set 14 Set 15 Multiplier 2 Set 16 Set 17 Multiplier 3 Set 18 … … Set 41 Multiplier 15 Set 42 Multiplier Table g L1 Cache SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 28

  50. Fixed-size Sliding Window Exponentiation e j-1 e j-2 e 0 e j e j-3 0110 1111 0001 0011 1011 Exponent e = (e j , e j-1 , …, e 0 ) … Set 13 Multiplier 1 Set 14 Set 15 Multiplier 2 Set 16 Set 17 Multiplier 3 Set 18 … … Set 41 Multiplier 15 Set 42 Multiplier Table g L1 Cache SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 28

  51. Fixed-size Sliding Window Exponentiation e j-1 e j-2 e 0 e j e j-3 0110 1111 0001 0011 1011 Exponent e = (e j , e j-1 , …, e 0 ) … Set 13 Multiplier 1 Set 14 Set 15 Multiplier 2 Set 16 Set 17 Multiplier 3 Set 18 … … Set 41 Multiplier 15 Set 42 Multiplier Table g L1 Cache SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 28

  52. Fixed-size Sliding Window Exponentiation e j-1 e j-2 e 0 e j e j-3 0110 1111 0001 0011 1011 Exponent e = (e j , e j-1 , …, e 0 ) … Set 13 Multiplier 1 Set 14 Set 15 Multiplier 2 Set 16 Set 17 Multiplier 3 Set 18 … … Set 41 Multiplier 15 Set 42 Multiplier Table g L1 Cache SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 28

  53. Attack Result • 2048-bit Chinese Remainder Theorem RSA key • Only 300 decryptions to leak 70% of key bits • Enough to recover key [Heninger et. al., CRYPTO’09] Time Each colored dot represents a multiplier access candidate, 15 monitoring rounds SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 29

  54. Attack Result • 2048-bit Chinese Remainder Theorem RSA key • Only 300 decryptions to leak 70% of key bits • Enough to recover key [Heninger et. al., CRYPTO’09] Time Each colored dot represents a multiplier access candidate, 15 monitoring rounds SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 29

  55. Attack Result • 2048-bit Chinese Remainder Theorem RSA key • Only 300 decryptions to leak 70% of key bits • Enough to recover key [Heninger et. al., CRYPTO’09] Time Each colored dot represents a multiplier access candidate, 15 monitoring rounds SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 29

  56. Attack Result • 2048-bit Chinese Remainder Theorem RSA key • Only 300 decryptions to leak 70% of key bits • Enough to recover key [Heninger et. al., CRYPTO’09] Time Each colored dot represents a multiplier access candidate, 15 monitoring rounds SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 29

  57. Attack Result • 2048-bit Chinese Remainder Theorem RSA key • Only 300 decryptions to leak 70% of key bits • Enough to recover key [Heninger et. al., CRYPTO’09] Time Each colored dot represents a multiplier access candidate, 15 monitoring rounds SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 29

  58. Attack Result • 2048-bit Chinese Remainder Theorem RSA key • Only 300 decryptions to leak 70% of key bits • Enough to recover key [Heninger et. al., CRYPTO’09] Time Each colored dot represents a multiplier access candidate, 15 monitoring rounds SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 29

  59. Attack Result • 2048-bit Chinese Remainder Theorem RSA key • Only 300 decryptions to leak 70% of key bits • Enough to recover key [Heninger et. al., CRYPTO’09] Time Each colored dot represents a multiplier access candidate, 15 monitoring rounds SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 29

  60. Attack Result • 2048-bit Chinese Remainder Theorem RSA key • Only 300 decryptions to leak 70% of key bits • Enough to recover key [Heninger et. al., CRYPTO’09] Time Each colored dot represents a multiplier access candidate, 15 monitoring rounds SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 29

  61. Genome Sequencing Genome Analysis Enclave (e.g. PRIMEX) SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 31

  62. Genome Sequencing Genome Analysis Enclave (e.g. PRIMEX) Encrypted Genome Sequence TTGACCCACTGAATCACGTCTG… SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 31

  63. Genome Sequencing Genome Analysis Enclave (e.g. PRIMEX) Pre-processing Analysis • Split input into • Statistical Encrypted Genome Sequence sub-sequences analysis, e.g., to (k-mer) identify TTGACCCACTGAATCACGTCTG… • Store k-mer correlation in positions in hash- the data table SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 31

  64. Genome Sequencing Genome Analysis Enclave (e.g. PRIMEX) Attacker’s goal: Identify k -mer sequences in the input string, allowing the identification of individuals Pre-processing Analysis • Split input into • Statistical Encrypted Genome Sequence sub-sequences analysis, e.g., to (k-mer) identify TTGACCCACTGAATCACGTCTG… • Store k-mer correlation in positions in hash- the data table ATCGATCGATCG… SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 31

  65. Some Basics on Human Genomes TTGACCCACTGAATCACGTCTGACCGCGCGTACGCGG TCACTTGCGGTGCCGTTTTCTTTGTTACCGACGACCG ACCAGCGACAGCCACCGCGCGCTCACTGCCACCAAAA GAGTCATATCGATCGATCGATCGATCGATCGATCGAT CGATCGATCGATCGATCGATCGATCGATCGATCATCA CAGCCGACCAGTTTCTGGAACGTTCCCGATACTGGAA CGGTCCTAATGCAGTATCCCACCCTCCTTCCATCGAC GCCAGTCGAATCACGCCGCCAGCCACCGTCCGCCAGC CGGCCAGAATACCGATGACTCGGCGGTCTCGTGTCGG TGCCGGCCTCGCAGCCATTGTACTGGCCCTGGCCGCA GTGTCGGCTGCCGCTCCGATTGCCGGGGCGCAGTCCG CCGGCAGCGGTGCGGTCTCAGTCACCATCGGCGACGT GGACGTCTCGCCTGCGAACCCAACCACGGGCACGCAG GTGTTGATCACCCCGTCGATCAACAACTCCGGATCGG CAAGCGGGTCCGCGCGCGTCAACGAGGTCACGCTGCG CGGCGACGGTCTCCTCGCAACGGAAGACAGCCTGGGG SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 32

  66. Some Basics on Human Genomes • Nucleobases TTGACCCACTGAATCACGTCTGACCGCGCGTACGCGG TCACTTGCGGTGCCGTTTTCTTTGTTACCGACGACCG • Adenine (A) ACCAGCGACAGCCACCGCGCGCTCACTGCCACCAAAA GAGTCATATCGATCGATCGATCGATCGATCGATCGAT • Cytosine (C) CGATCGATCGATCGATCGATCGATCGATCGATCATCA • Guanine (G) CAGCCGACCAGTTTCTGGAACGTTCCCGATACTGGAA CGGTCCTAATGCAGTATCCCACCCTCCTTCCATCGAC • Thymine (T) GCCAGTCGAATCACGCCGCCAGCCACCGTCCGCCAGC CGGCCAGAATACCGATGACTCGGCGGTCTCGTGTCGG • Microsatellite TGCCGGCCTCGCAGCCATTGTACTGGCCCTGGCCGCA GTGTCGGCTGCCGCTCCGATTGCCGGGGCGCAGTCCG • Forensic analysis CCGGCAGCGGTGCGGTCTCAGTCACCATCGGCGACGT GGACGTCTCGCCTGCGAACCCAACCACGGGCACGCAG • Genetic fingerprinting GTGTTGATCACCCCGTCGATCAACAACTCCGGATCGG CAAGCGGGTCCGCGCGCGTCAACGAGGTCACGCTGCG • Kinship analysis CGGCGACGGTCTCCTCGCAACGGAAGACAGCCTGGGG SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 32

  67. Genome Pre-Processing A G C A G C A T C A G G T A C … Indexer … Hash Table SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 33

  68. Genome Pre-Processing A G C A G C A T C A G G T A C … 0 Indexer … Hash Table SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 33

  69. Genome Pre-Processing A G C A G C A T C A G G T A C … 0 1 Indexer … Hash Table SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 33

  70. Genome Pre-Processing A G C A G C A T C A G G T A C … 0 1 2 Indexer … Hash Table SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 33

  71. Genome Pre-Processing A G C A G C A T C A G G T A C … 0 3 1 2 Indexer … Hash Table SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 33

  72. Genome Pre-Processing • Hash table access pattern A G C A G C A T C A G G T A C … • Hash table entry 8 bytes • Cache line size 64 bytes • Collisions 0 3 • Genome unstructured 1 • Microsatellites structured 2 Indexer … Hash Table SEPTEMBER 9 – 13, 2019 CROSSING Summer School on Sustainable Security & Privacy 33

Recommend


More recommend