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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend