30
Secure Hierarchy-Aware Cache Replacement Policy (SHARP): Defending Against Cache-Based Side Channel Attacks Mengjia Yan, Bhargava Gopireddy , Thomas Shull, Josep Torrellas University of Illinois at Urbana-Champaign http://iacoma.cs.uiuc.edu ISCA 2017

Secure Hierarchy-Aware Cache Replacement Policy (SHARP)iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca17_2.pdf · 2017. 6. 28. · Secure Hierarchy-Aware Cache Replacement Policy

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Secure Hierarchy-Aware Cache Replacement Policy (SHARP)iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca17_2.pdf · 2017. 6. 28. · Secure Hierarchy-Aware Cache Replacement Policy

Secure Hierarchy-Aware Cache Replacement Policy (SHARP):

Defending Against Cache-Based Side Channel Attacks

Mengjia Yan, Bhargava Gopireddy, Thomas Shull, Josep Torrellas University of Illinois at Urbana-Champaign

http://iacoma.cs.uiuc.edu

ISCA 2017

Page 2: Secure Hierarchy-Aware Cache Replacement Policy (SHARP)iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca17_2.pdf · 2017. 6. 28. · Secure Hierarchy-Aware Cache Replacement Policy

Secure Hierarchy-Aware Cache Replacement Policy (SHARP)

Shared Resources in Cloud

•  Shared hardware resources can leak information •  Cache side-channel attacks: attacker observes a victim’s

cache behavior –  Can bypass software security policies –  Leave no trace

Core L1

Shared LLC

Core L1

Core L1

Core L1

VM

VM

VM Isolation

Victim Attacker

2

Page 3: Secure Hierarchy-Aware Cache Replacement Policy (SHARP)iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca17_2.pdf · 2017. 6. 28. · Secure Hierarchy-Aware Cache Replacement Policy

Secure Hierarchy-Aware Cache Replacement Policy (SHARP)

Cache Side-Channel Attacks are Increasing

•  Public cloud

•  Cryptography

CCS’09

RSA and AES secret keys

CCS’14 CCS’15 Usenix’16

à Personal devices

à Everyday applications

3

Page 4: Secure Hierarchy-Aware Cache Replacement Policy (SHARP)iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca17_2.pdf · 2017. 6. 28. · Secure Hierarchy-Aware Cache Replacement Policy

Secure Hierarchy-Aware Cache Replacement Policy (SHARP)

Sample Cache Side-Channel Attack: RSA Encryption Key

for i = n−1 down to 0 do r = sqr(r) ….. if ei == 1 then r = mul(r,b) …. end

end

Probe addresses: Monitored by the spy to obtain information

4

Page 5: Secure Hierarchy-Aware Cache Replacement Policy (SHARP)iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca17_2.pdf · 2017. 6. 28. · Secure Hierarchy-Aware Cache Replacement Policy

Secure Hierarchy-Aware Cache Replacement Policy (SHARP)

Attack Illustration

Victim L1 Cache

Shared L2 Cache (Inclusive)

Cache Set

Spy L1 Cache

5

Page 6: Secure Hierarchy-Aware Cache Replacement Policy (SHARP)iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca17_2.pdf · 2017. 6. 28. · Secure Hierarchy-Aware Cache Replacement Policy

Secure Hierarchy-Aware Cache Replacement Policy (SHARP)

Attack Illustration

Victim L1 Cache Spy L1 Cache

Probe address

Shared L2 Cache (Inclusive)

6

Page 7: Secure Hierarchy-Aware Cache Replacement Policy (SHARP)iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca17_2.pdf · 2017. 6. 28. · Secure Hierarchy-Aware Cache Replacement Policy

Secure Hierarchy-Aware Cache Replacement Policy (SHARP)

Attack Illustration

Evict

Conflict

Spy Access

Time

Evict

Victim L1 Cache Spy L1 Cache

Probe address

Spy’s line

Shared L2 Cache (Inclusive)

Inclusion Victim

7

Page 8: Secure Hierarchy-Aware Cache Replacement Policy (SHARP)iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca17_2.pdf · 2017. 6. 28. · Secure Hierarchy-Aware Cache Replacement Policy

Secure Hierarchy-Aware Cache Replacement Policy (SHARP)

Attack Illustration

Time

Evict Wait

Victim L1 Cache Spy L1 Cache

Probe address

Spy’s line

Shared L2 Cache (Inclusive)

8

Page 9: Secure Hierarchy-Aware Cache Replacement Policy (SHARP)iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca17_2.pdf · 2017. 6. 28. · Secure Hierarchy-Aware Cache Replacement Policy

Secure Hierarchy-Aware Cache Replacement Policy (SHARP)

Attack Illustration

Time

Evict Wait

Access

Victim L1 Cache Spy L1 Cache

Probe address

Spy’s line

Shared L2 Cache (Inclusive)

9

Page 10: Secure Hierarchy-Aware Cache Replacement Policy (SHARP)iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca17_2.pdf · 2017. 6. 28. · Secure Hierarchy-Aware Cache Replacement Policy

Secure Hierarchy-Aware Cache Replacement Policy (SHARP)

Attack Illustration

Spy Access Hit

Time

Evict Wait

Access

Victim L1 Cache Spy L1 Cache

Probe address

Spy’s line

Shared L2 Cache (Inclusive)

10

Analyze

Page 11: Secure Hierarchy-Aware Cache Replacement Policy (SHARP)iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca17_2.pdf · 2017. 6. 28. · Secure Hierarchy-Aware Cache Replacement Policy

Secure Hierarchy-Aware Cache Replacement Policy (SHARP)

Attack Illustration

Time

Evict Wait

Victim L1 Cache Spy L1 Cache

Probe address

Spy’s line

Shared L2 Cache (Inclusive)

11

No Access

Page 12: Secure Hierarchy-Aware Cache Replacement Policy (SHARP)iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca17_2.pdf · 2017. 6. 28. · Secure Hierarchy-Aware Cache Replacement Policy

Secure Hierarchy-Aware Cache Replacement Policy (SHARP)

Attack Illustration – Cont’d

Spy Access Miss

Time

Evict Wait Analyze

No Access

Victim L1 Cache Spy L1 Cache

Probe address

Spy’s line

Memory Access

Shared L2 Cache (Inclusive)

12

Page 13: Secure Hierarchy-Aware Cache Replacement Policy (SHARP)iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca17_2.pdf · 2017. 6. 28. · Secure Hierarchy-Aware Cache Replacement Policy

Secure Hierarchy-Aware Cache Replacement Policy (SHARP)

Cache Side-Channel Attack Classification

Eviction Strategies

•  Conflict-based

Time

Evict Wait Analyze

No Access

Evict Evict Wait Analyze

Access

Evict

X

X

Victim L1 Cache Spy L1 Cache

Conflict

Evict Inclusion Victim

Shared L2 Cache 13

Page 14: Secure Hierarchy-Aware Cache Replacement Policy (SHARP)iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca17_2.pdf · 2017. 6. 28. · Secure Hierarchy-Aware Cache Replacement Policy

Secure Hierarchy-Aware Cache Replacement Policy (SHARP)

Cache Side-Channel Attack Classification

Eviction Strategies

•  Conflict-based •  Flush-based

Time

Evict Wait Analyze

No Access

Evict Evict Wait Analyze

Access

Evict

X

X

Victim L1 Cache Spy L1 Cache

clflush addrX Evict

Shared L2 Cache 14

Page 15: Secure Hierarchy-Aware Cache Replacement Policy (SHARP)iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca17_2.pdf · 2017. 6. 28. · Secure Hierarchy-Aware Cache Replacement Policy

Secure Hierarchy-Aware Cache Replacement Policy (SHARP)

•  Insight: Conflict-based attacks rely on “Inclusion Victims” •  Introduce SHARP:

–  A shared cache replacement policy that defends against conflict-based attacks by preventing inclusion victims

–  A slightly modified “clflush” instruction to prevent flush-based attacks

•  SHARP has desirable characteristics –  Prevents all known cache-based side channel attacks –  Minimal performance overhead –  No programmer intervention –  Minor hardware modifications

Contributions

15

Page 16: Secure Hierarchy-Aware Cache Replacement Policy (SHARP)iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca17_2.pdf · 2017. 6. 28. · Secure Hierarchy-Aware Cache Replacement Policy

Secure Hierarchy-Aware Cache Replacement Policy (SHARP)

Victim L1 Cache Spy L1 Cache

Shared L2 Cache

SHARP: Preventing Inclusion Victims

Step 1: Find a cache line in the set that is not present in any private cache

Probe address

Spy’s line Line not in any private cache

Inclusion victim from other core is prevented

16

Page 17: Secure Hierarchy-Aware Cache Replacement Policy (SHARP)iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca17_2.pdf · 2017. 6. 28. · Secure Hierarchy-Aware Cache Replacement Policy

Secure Hierarchy-Aware Cache Replacement Policy (SHARP)

SHARP: Prevention of MultiCore Attack

Step 1: Find a cache line in the set that is not present in any private cache

Step 2: Find a cache line in the set that is present only in the requesting core’s private cache

Otherwise

17

Page 18: Secure Hierarchy-Aware Cache Replacement Policy (SHARP)iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca17_2.pdf · 2017. 6. 28. · Secure Hierarchy-Aware Cache Replacement Policy

Secure Hierarchy-Aware Cache Replacement Policy (SHARP)

SHARP: Prevention - MultiCore Attack

Victim Spy 1 Spy 2

Shared L2 Cache

Conflict

Evict Inclusion victim from other core is prevented

Step 2: Find a cache line in the set that is present only in the requesting core’s private cache

18

Page 19: Secure Hierarchy-Aware Cache Replacement Policy (SHARP)iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca17_2.pdf · 2017. 6. 28. · Secure Hierarchy-Aware Cache Replacement Policy

Secure Hierarchy-Aware Cache Replacement Policy (SHARP)

SHARP Summary

Step 3: Randomly evict a line, increment alarm counter

SHARP needs to know whether a line is present in private cache •  Use presence bits in directory (Core Valid Bits) •  Query, with a message, the private caches for information

Step 1: Find a cache line in the set that is not present in any private cache

Step 2: Find a cache line in the set that is present only in the requesting core’s private cache

Otherwise

Otherwise

19

Page 20: Secure Hierarchy-Aware Cache Replacement Policy (SHARP)iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca17_2.pdf · 2017. 6. 28. · Secure Hierarchy-Aware Cache Replacement Policy

Secure Hierarchy-Aware Cache Replacement Policy (SHARP)

Obtaining Private Cache Information: CVB

•  Using Core Valid Bits (CVB) only: –  Step 1: Pick a line without any CVB set –  Else Step 2: Pick a line with only the requester’s CVB set –  Else Step 3: Random replacement + increment alarm counter

✓ Readily available ✗ Conservative

–  Silent evictions from private cache do not update CVB

20

Page 21: Secure Hierarchy-Aware Cache Replacement Policy (SHARP)iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca17_2.pdf · 2017. 6. 28. · Secure Hierarchy-Aware Cache Replacement Policy

Secure Hierarchy-Aware Cache Replacement Policy (SHARP)

Obtaining Private Cache Information: Hybrid

•  Using combination of CVB and queries to private caches –  Step 1: Pick a line without any CVB set –  Else Step 2: Send queries to refresh CVB until a replacement candidate

is found (all CVB bits zero, or only requester’s CVB set) –  Else Step 3: Random replacement + increment alarm counter

✓ Accurate ✗ Significant network overhead to send messages

21

Page 22: Secure Hierarchy-Aware Cache Replacement Policy (SHARP)iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca17_2.pdf · 2017. 6. 28. · Secure Hierarchy-Aware Cache Replacement Policy

Secure Hierarchy-Aware Cache Replacement Policy (SHARP)

Obtaining Private Cache Information: SHARP

•  Hybrid scheme with a limit on the query count –  Step 1: Pick a line without any CVB set –  Else Step 2: Send queries to refresh CVB for at most N lines.

If candidate is not found, use current CVB for the rest (to pick a line present only in the requester’s cache)

–  Else Step 3: Random replacement + increment alarm counter

✓ Accurate enough ✓ Low overhead

22

Page 23: Secure Hierarchy-Aware Cache Replacement Policy (SHARP)iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca17_2.pdf · 2017. 6. 28. · Secure Hierarchy-Aware Cache Replacement Policy

Secure Hierarchy-Aware Cache Replacement Policy (SHARP)

Experimental Setup

•  MarssX86 cycle-level full system simulator

•  2 to 16 out of order cores –  Private DL1, IL1, L2 (32KB, 32KB, 256KB) –  Shared Inclusive L3 cache (2MB slice per core) –  Baseline replacement policy: pseudo LRU

23

Page 24: Secure Hierarchy-Aware Cache Replacement Policy (SHARP)iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca17_2.pdf · 2017. 6. 28. · Secure Hierarchy-Aware Cache Replacement Policy

Secure Hierarchy-Aware Cache Replacement Policy (SHARP)

Security Evaluation: RSA Attack

Baseline LRU: Access pattern of sqr, mul is clear

for i = n−1 down to 0 do r = sqr(r) ….. if ei == 1 then r = mul(r,b) …. end

end

Hit

24

Page 25: Secure Hierarchy-Aware Cache Replacement Policy (SHARP)iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca17_2.pdf · 2017. 6. 28. · Secure Hierarchy-Aware Cache Replacement Policy

Secure Hierarchy-Aware Cache Replacement Policy (SHARP)

Security Evaluation: RSA Attack

SHARP: No obvious access pattern of sqr, mul

25

Baseline LRU: Access pattern of sqr, mul is clear

Page 26: Secure Hierarchy-Aware Cache Replacement Policy (SHARP)iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca17_2.pdf · 2017. 6. 28. · Secure Hierarchy-Aware Cache Replacement Policy

Secure Hierarchy-Aware Cache Replacement Policy (SHARP)

0 0.2 0.4 0.6 0.8

1 1.2 1.4 1.6 1.8

2

Nor

mal

ized

L3

MP

KI

Baseline CVB Hybrid SHARP

L3 Misses Per Kilo Instructions

“cvb” performs the worst

Inability to evict shared data causes cache thrashing

26

Page 27: Secure Hierarchy-Aware Cache Replacement Policy (SHARP)iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca17_2.pdf · 2017. 6. 28. · Secure Hierarchy-Aware Cache Replacement Policy

Secure Hierarchy-Aware Cache Replacement Policy (SHARP)

0

0.2

0.4

0.6

0.8

1

1.2

Nor

mal

ized

Exe

cutio

n Ti

me

Baseline CVB Hybrid SHARP

Execution Time

Modest slowdown of 6% due to large

working set Average

execution time increase ≈ 1%

27

Page 28: Secure Hierarchy-Aware Cache Replacement Policy (SHARP)iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca17_2.pdf · 2017. 6. 28. · Secure Hierarchy-Aware Cache Replacement Policy

Secure Hierarchy-Aware Cache Replacement Policy (SHARP)

More in the Paper

•  Prevention of flush-based attacks •  Detailed evaluation

–  Mixes of SPEC workloads –  Scalability to 8,16 cores –  Threshold Alarm Analysis

•  Handling of related attacks, defenses •  Insights into the scheme, corner cases

28

Page 29: Secure Hierarchy-Aware Cache Replacement Policy (SHARP)iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca17_2.pdf · 2017. 6. 28. · Secure Hierarchy-Aware Cache Replacement Policy

Secure Hierarchy-Aware Cache Replacement Policy (SHARP)

Conclusion

•  Insight: Conflict-based attacks rely on “Inclusion Victims”

•  Presented SHARP: –  Shared cache replacement policy that defends against conflict-

based attacks by preventing inclusion victims –  Slightly modified “clflush” instruction to prevent flush-based

attacks

ü Prevents all known cache-based side channel attacks

ü Minimal performance loss

ü No programmer intervention

ü Minor hardware modifications

29

Page 30: Secure Hierarchy-Aware Cache Replacement Policy (SHARP)iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca17_2.pdf · 2017. 6. 28. · Secure Hierarchy-Aware Cache Replacement Policy

Secure Hierarchy-Aware Cache Replacement Policy (SHARP): Defending Against Cache-

Based Side Channel Attacks

Mengjia Yan, Bhargava Gopireddy, Thomas Shull, Josep Torrellas University of Illinois at Urbana-Champaign

http://iacoma.cs.uiuc.edu

ISCA 2017