SCIENCE PASSION TECHNOLOGY
Cash Attacks on SGX
Daniel Gruss, Michael Schwarz September 9, 2017
Graz University of Technology
Cash Attacks on SGX Daniel Gruss, Michael Schwarz September 9, 2017 - - PowerPoint PPT Presentation
SCIENCE PASSION TECHNOLOGY Cash Attacks on SGX Daniel Gruss, Michael Schwarz September 9, 2017 Graz University of Technology Outline www.tugraz.at 2 Daniel Gruss, Michael Schwarz Graz University of Technology Outline www.tugraz.at 2
SCIENCE PASSION TECHNOLOGY
Graz University of Technology
www.tugraz.at 2 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at 2 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
2 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
2 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
2 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
2 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
Application Untrusted part Operating System
3 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
Application Untrusted part
Create Enclave
Operating System
3 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
Application Trusted part Call Gate Untrusted part
Create Enclave Trusted Fnc.
Operating System
3 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
Application Trusted part Call Gate Untrusted part
Create Enclave Call Trusted Fnc. Trusted Fnc.
Operating System
3 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
Application Trusted part Call Gate Untrusted part
Create Enclave Call Trusted Fnc. Trusted Fnc.
Operating System
3 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
Application Trusted part Call Gate Untrusted part
Create Enclave Call Trusted Fnc. Trusted Fnc.
Operating System
3 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
Application Trusted part Call Gate Untrusted part
Create Enclave Call Trusted Fnc. Trusted Fnc. Return
Operating System
3 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
Application Trusted part Call Gate Untrusted part
Create Enclave Call Trusted Fnc. Trusted Fnc. Return
Operating System
3 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
Application Trusted part Call Gate Untrusted part
Create Enclave Call Trusted Fnc. . . . Trusted Fnc. Return
Operating System
3 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
Application Trusted part Call Gate Untrusted part
Create Enclave Call Trusted Fnc. . . . Trusted Fnc. Return
Operating System
3 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
4 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
4 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
5 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
5 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
5 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
5 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
5 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
5 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
5 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
5 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
6 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
6 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
6 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
6 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
7 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
7 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
7 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
7 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
7 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
7 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
7 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
Attacker address space
Victim address space Step 0: Attacker fills the cache (prime)
8 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
Attacker address space
Victim address space Step 0: Attacker fills the cache (prime)
8 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
Attacker address space
Victim address space Step 0: Attacker fills the cache (prime)
8 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
Attacker address space
Victim address space Step 0: Attacker fills the cache (prime)
8 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
Attacker address space
Victim address space Step 0: Attacker fills the cache (prime)
8 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
Attacker address space
Victim address space Step 0: Attacker fills the cache (prime)
8 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
Attacker address space
Victim address space Step 0: Attacker fills the cache (prime)
8 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
Attacker address space
Victim address space Step 0: Attacker fills the cache (prime)
8 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
Attacker address space
Victim address space Step 0: Attacker fills the cache (prime)
8 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
Attacker address space
Victim address space Step 0: Attacker fills the cache (prime)
8 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
Attacker address space
Victim address space Step 0: Attacker fills the cache (prime) Step 1: Victim evicts cache lines by accessing own data loads data
8 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
Attacker address space
Victim address space Step 0: Attacker fills the cache (prime) Step 1: Victim evicts cache lines by accessing own data loads data
8 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
Attacker address space
Victim address space Step 0: Attacker fills the cache (prime) Step 1: Victim evicts cache lines by accessing own data l
d s d a t a
8 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
Attacker address space
Victim address space Step 0: Attacker fills the cache (prime) Step 1: Victim evicts cache lines by accessing own data l
d s d a t a
8 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
Attacker address space
Victim address space Step 0: Attacker fills the cache (prime) Step 1: Victim evicts cache lines by accessing own data
8 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
Attacker address space
Victim address space Step 0: Attacker fills the cache (prime) Step 1: Victim evicts cache lines by accessing own data Step 2: Attacker probes data to determine if the set was accessed
8 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
Attacker address space
Victim address space Step 0: Attacker fills the cache (prime) Step 1: Victim evicts cache lines by accessing own data Step 2: Attacker probes data to determine if the set was accessed fast access
8 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
Attacker address space
Victim address space Step 0: Attacker fills the cache (prime) Step 1: Victim evicts cache lines by accessing own data Step 2: Attacker probes data to determine if the set was accessed slow access
8 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
Victim
9 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at SGX
Victim
9 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at SGX
+ private key
Victim
9 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
Attacker
SGX
+ private key
Victim
9 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at SGX
Attacker
SGX
+ private key
Victim
9 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at SGX
Attacker
SGX
+ private key
Victim
9 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at SGX
Attacker
SGX
+ private key
Victim
9 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at SGX
Attacker L1/L2 Cache
SGX
+ private key
Victim L1/L2 Cache
9 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at SGX
(Prime+Probe)
Attacker L1/L2 Cache
SGX
+ private key
Victim L1/L2 Cache
9 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
10 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
10 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
10 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
10 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
10 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
10 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
11 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
11 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
11 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
11 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
1 mov ×tamp , %rcx 2 1:
i n c %rax
3 mov %rax ,
(%rcx )
4 jmp 1b
11 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
12 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
12 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
12 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
12 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
12 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
127 4095
4 kB Page #1
Page #2 Page #3 Page #4 Page #5 Page #6 Page #7 Page #8 Page #1
8 kB row x in BG0 (1) and channel (1)
Page #3 Page #4 Page #5 Page #6 Page #7 Page #8 Page #1 Page #2
8 kB row x in BG0 (0) and channel (1)
Page #4 Page #5 Page #6 Page #7 Page #8 Page #1 Page #2 Page #3
8 kB row x in BG0 (1) and channel (0)
Page #5 Page #6 Page #7 Page #8 Page #1 Page #2 Page #3 Page #4
8 kB row x in BG0 (0) and channel (0)
13 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
BG0 (0), Channel (0) BG0 (0), Channel (0) BG0 (0), Channel (0) BG0 (0), Channel (0) BG0 (0), Channel (0) BG0 (0), Channel (0) BG0 (0), Channel (0) BG0 (0), Channel (0) 127 4095
4 kB Page #1
Page #2 Page #3 Page #4 Page #5 Page #6 Page #7 Page #8 Page #1
8 kB row x in BG0 (1) and channel (1)
Page #3 Page #4 Page #5 Page #6 Page #7 Page #8 Page #1 Page #2
8 kB row x in BG0 (0) and channel (1)
Page #4 Page #5 Page #6 Page #7 Page #8 Page #1 Page #2 Page #3
8 kB row x in BG0 (1) and channel (0)
Page #5 Page #6 Page #7 Page #8 Page #1 Page #2 Page #3 Page #4
8 kB row x in BG0 (0) and channel (0)
13 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
BG0 (0), Channel (0) BG0 (1), Channel (0) BG0 (0), Channel (0) BG0 (1), Channel (0) BG0 (0), Channel (0) BG0 (1), Channel (0) BG0 (0), Channel (0) BG0 (1), Channel (0) BG0 (0), Channel (0) BG0 (1), Channel (0) BG0 (0), Channel (0) BG0 (1), Channel (0) BG0 (0), Channel (0) BG0 (1), Channel (0) BG0 (0), Channel (0) BG0 (1), Channel (0) 127 4095
4 kB Page #1
Page #2 Page #3 Page #4 Page #5 Page #6 Page #7 Page #8 Page #1
8 kB row x in BG0 (1) and channel (1)
Page #3 Page #4 Page #5 Page #6 Page #7 Page #8 Page #1 Page #2
8 kB row x in BG0 (0) and channel (1)
Page #4 Page #5 Page #6 Page #7 Page #8 Page #1 Page #2 Page #3
8 kB row x in BG0 (1) and channel (0)
Page #5 Page #6 Page #7 Page #8 Page #1 Page #2 Page #3 Page #4
8 kB row x in BG0 (0) and channel (0)
13 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
BG0 (0), Channel (0) BG0 (1), Channel (0) BG0 (0), Channel (1) BG0 (0), Channel (0) BG0 (1), Channel (0) BG0 (0), Channel (1) BG0 (0), Channel (0) BG0 (1), Channel (0) BG0 (0), Channel (1) BG0 (0), Channel (0) BG0 (1), Channel (0) BG0 (0), Channel (1) BG0 (0), Channel (0) BG0 (1), Channel (0) BG0 (0), Channel (1) BG0 (0), Channel (0) BG0 (1), Channel (0) BG0 (0), Channel (1) BG0 (0), Channel (0) BG0 (1), Channel (0) BG0 (0), Channel (1) BG0 (0), Channel (0) BG0 (1), Channel (0) BG0 (0), Channel (1) 127 4095
4 kB Page #1
Page #2 Page #3 Page #4 Page #5 Page #6 Page #7 Page #8 Page #1
8 kB row x in BG0 (1) and channel (1)
Page #3 Page #4 Page #5 Page #6 Page #7 Page #8 Page #1 Page #2
8 kB row x in BG0 (0) and channel (1)
Page #4 Page #5 Page #6 Page #7 Page #8 Page #1 Page #2 Page #3
8 kB row x in BG0 (1) and channel (0)
Page #5 Page #6 Page #7 Page #8 Page #1 Page #2 Page #3 Page #4
8 kB row x in BG0 (0) and channel (0)
13 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
BG0 (0), Channel (0) BG0 (1), Channel (0) BG0 (0), Channel (1) BG0 (1), Channel (1) BG0 (0), Channel (0) BG0 (1), Channel (0) BG0 (0), Channel (1) BG0 (1), Channel (1) BG0 (0), Channel (0) BG0 (1), Channel (0) BG0 (0), Channel (1) BG0 (1), Channel (1) BG0 (0), Channel (0) BG0 (1), Channel (0) BG0 (0), Channel (1) BG0 (1), Channel (1) BG0 (0), Channel (0) BG0 (1), Channel (0) BG0 (0), Channel (1) BG0 (1), Channel (1) BG0 (0), Channel (0) BG0 (1), Channel (0) BG0 (0), Channel (1) BG0 (1), Channel (1) BG0 (0), Channel (0) BG0 (1), Channel (0) BG0 (0), Channel (1) BG0 (1), Channel (1) BG0 (0), Channel (0) BG0 (1), Channel (0) BG0 (0), Channel (1) BG0 (1), Channel (1) 127 4095
4 kB Page #1
Page #2 Page #3 Page #4 Page #5 Page #6 Page #7 Page #8 Page #1
8 kB row x in BG0 (1) and channel (1)
Page #3 Page #4 Page #5 Page #6 Page #7 Page #8 Page #1 Page #2
8 kB row x in BG0 (0) and channel (1)
Page #4 Page #5 Page #6 Page #7 Page #8 Page #1 Page #2 Page #3
8 kB row x in BG0 (1) and channel (0)
Page #5 Page #6 Page #7 Page #8 Page #1 Page #2 Page #3 Page #4
8 kB row x in BG0 (0) and channel (0)
13 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
row n row n + 1 row n + 2 row n + 3 row n + 4 row n + 5
14 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
row n row n + 1 row n + 2 row n + 3 row n + 4 row n + 5
14 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
row n row n + 1 row n + 2 row n + 3 row n + 4 row n + 5
14 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
row n row n + 1 row n + 2 row n + 3 row n + 4 row n + 5
14 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
row n row n + 1 row n + 2 row n + 3 row n + 4 row n + 5
14 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
row n row n + 1 row n + 2 row n + 3 row n + 4 row n + 5
14 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
row n row n + 1 row n + 2 row n + 3 row n + 4 row n + 5
14 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
row n row n + 1 row n + 2 row n + 3 row n + 4 row n + 5
14 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
row n row n + 1 row n + 2 row n + 3 row n + 4 row n + 5
14 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
row n row n + 1 row n + 2 row n + 3 row n + 4 row n + 5
14 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
row n row n + 1 row n + 2 row n + 3 row n + 4 row n + 5
14 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
row n row n + 1 row n + 2 row n + 3 row n + 4 row n + 5
14 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
row n row n + 1 row n + 2 row n + 3 row n + 4 row n + 5
14 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
row n row n + 1 row n + 2 row n + 3 row n + 4 row n + 5
14 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
row n row n + 1 row n + 2 row n + 3 row n + 4 row n + 5
14 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
row n row n + 1 row n + 2 row n + 3 row n + 4 row n + 5
14 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
row n row n + 1 row n + 2 row n + 3 row n + 4 row n + 5
14 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
row n row n + 1 row n + 2 row n + 3 row n + 4 row n + 5
14 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
row n row n + 1 row n + 2 row n + 3 row n + 4 row n + 5
14 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
15 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
16 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
16 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
16 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
16 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
16 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
17 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
18 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
1 1 1 00 1 1 1 01 1 1 00000001 000 1 0 1 00 1 1 00 1 1 0 1 1 1 1 1 0 1 1 1 1 0 1 000 1 00 1 1 1 0 1 000 1 1 1 0000 1 1 1 19 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
20 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
20 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
21 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
21 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
21 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
21 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
22 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
22 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
22 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
22 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
22 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
23 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
23 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
23 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
23 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
23 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
23 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
24 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
24 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
24 Daniel Gruss, Michael Schwarz — Graz University of Technology
SCIENCE PASSION TECHNOLOGY
Graz University of Technology
www.tugraz.at
26 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
1 2 3 4 5 6 7 8 9 10 20 30 40
33.68 29.87 29.83 6.96 4.19 3.75 6.1 5.36 4.29
Bit-error ratio [%]
4096-bit key 27 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
1 2 3 4 5 6 7 8 9 10 20 30 40
33.68 29.87 29.83 6.96 4.19 3.75 6.1 5.36 4.29
Bit-error ratio [%]
4096-bit key
3 5 7 9 11 20 40 60 80
69 15 4 1
Traces Bit-errors
27 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
Cache Set Detection (3 min) Prime+Probe (5 s) Pre-Processing (110 s) Key Recovery (20 s)
28 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
1 timestamp = r d t s c ( ) ;
29 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
1 while (1)
{
2
timestamp++;
3 }
29 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
1 mov ×tamp , %rcx 2 1 :
i n c l (%rcx )
3 jmp 1b
29 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at
1 mov ×tamp , %rcx 2 1 :
i n c %rax
3 mov %rax ,
(%rcx )
4 jmp 1b
29 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at SGX
(Prime+Probe)
Loader SGX
(+ private key)
API 30 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at SGX
(Prime+Probe)
Loader
Attacker container
SGX
(+ private key)
API
Victim container
30 Daniel Gruss, Michael Schwarz — Graz University of Technology
www.tugraz.at SGX
(Prime+Probe)
Loader
Attacker container
SGX
(+ private key)
API
Victim container
30 Daniel Gruss, Michael Schwarz — Graz University of Technology